A veces, necesitamos convertir valores de string en un marco de datos de pandas en un número entero único para que los algoritmos puedan funcionar mejor. Entonces asignamos un valor numérico único a un valor de string en Pandas DataFrame.
Nota: antes de ejecutar, cree un archivo example.csv que contenga algunos nombres y género
Digamos que tenemos una tabla que contiene nombres y una columna de género. En la columna de género, hay dos categorías masculino y femenino y supongamos que queremos asignar 1 a masculino y 2 a femenino.
Ejemplos:
Input : --------------------- | Name | Gender --------------------- 0 Ram Male 1 Seeta Female 2 Kartik Male 3 Niti Female 4 Naitik Male Output : | Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 1
Método 1:
To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 2
Luego itere usando for loop a través de la columna Género de DataFrame y reemplace los valores donde se encuentren las claves.
# import pandas library import pandas as pd # creating file handler for # our example.csv file in # read mode file_handler = open("example.csv", "r") # creating a Pandas DataFrame # using read_csv function # that reads from a csv file. data = pd.read_csv(file_handler, sep = ",") # closing the file handler file_handler.close() # creating a dict file gender = {'male': 1,'female': 2} # traversing through dataframe # Gender column and writing # values where key matches data.Gender = [gender[item] for item in data.Gender] print(data)
Producción :
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 1
Método 2:
el método 2 también es similar, pero no requiere un archivo de diccionario y requiere menos líneas de código. En esto, iteramos internamente a través de la columna Género de DataFrame y cambiamos los valores si la condición coincide.
# import pandas library import pandas as pd # creating file handler for # our example.csv file in # read mode file_handler = open("example.csv", "r") # creating a Pandas DataFrame # using read_csv function that # reads from a csv file. data = pd.read_csv(file_handler, sep = ",") # closing the file handler file_handler.close() # traversing through Gender # column of dataFrame and # writing values where # condition matches. data.Gender[data.Gender == 'male'] = 1 data.Gender[data.Gender == 'female'] = 2 print(data)
Producción :
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 1
Aplicaciones
- Esta técnica se puede aplicar en Data Science. Supongamos que si estamos trabajando en un conjunto de datos que contiene género como ‘masculino’ y ‘femenino’, entonces podemos asignar números como ‘0’ y ‘1’ respectivamente para que nuestros algoritmos puedan trabajar con los datos.
- Esta técnica también se puede aplicar para reemplazar algunos valores particulares en un conjunto de datos con nuevos valores.
Referencias
Publicación traducida automáticamente
Artículo escrito por neerajnegi174 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA