pandas.get_dummies (datos, prefijo = Ninguno, prefijo_sep = '_', dummy_na = Falso, columnas = Ninguno, disperso = Falso, drop_first = Falso)
Descripción de parámetros:
datos: tipo matriz, serie o marco de datos
prefijo de datos de entrada : cadena, lista de cadenas o dictado de cadenas, predeterminado Ninguno. Después de convertir get_dummies, el prefijo de las columnas de nombre de
columna: tipo lista, predeterminado Ninguno especifica la necesidad para implementar la conversión de categoría El nombre de la columna
dummy_na: bool, predeterminado Falso agregue una columna para indicar el valor vacante, si es Falso, ignore el valor vacante
drop_first: bool, predeterminado False Obtenga los valores de categoría k-1 en k, elimine el primero
get_dummies es un método de codificación onehot que convierte variables con diferentes valores en valores 0/1. Por ejemplo, usamos 1, 2 y 3 para representar los números de los tres colores amarillo, rojo y azul. Solo se distingue por 1, 2 y 3. De hecho, 1, 2 y 3 no tienen significado numérico.
import pandas as pd
xiaoming=pd.DataFrame([1,2,3],index=['yellow','red','blue'],columns=['hat'])
print(xiaoming)
hat_ranks=pd.get_dummies(xiaoming['hat'],prefix='hat')
print(hat_ranks.head())
Resultado de salida:
hat
yellow 1
red 2
blue 3
hat_1 hat_2 hat_3
yellow 1 0 0
red 0 1 0
blue 0 0 1
Para dar otro ejemplo, no configuramos el número, solo el tipo (color y clase). Dejemos que el número que viene con el programa sea el tipo distintivo, y los resultados obtenidos son los siguientes:
import pandas as pd
df = pd.DataFrame([
['green' , 'A'],
['red' , 'B'],
['blue' , 'A']])
df.columns = ['color', 'class']
pd.get_dummies(df)
También tenga en cuenta que:
La codificación de características discretas se divide en dos casos:
1. No hay importancia entre los valores de las características discretas, como el color: [rojo, azul, verde], luego use la codificación one-hot
2. El valor de la característica discreta tiene el significado de tamaño, como tamaño: [X, XL, XXL], luego use el mapeo numérico {X: 1, XL: 2, XXL: 3}