Python es un excelente lenguaje para realizar análisis de datos, principalmente debido al fantástico ecosistema de paquetes de Python centrados en datos. Pandas es uno de esos paquetes y facilita mucho la importación y el análisis de datos.
A veces, el archivo csv tiene valores nulos, que luego se muestran como NaN en el marco de datos. El método pandas dropna() permite al usuario analizar y soltar filas/columnas con valores nulos de diferentes maneras.
Sintaxis:
DataFrameName.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
Parámetros:
eje: el eje toma un valor int o de string para filas/columnas. La entrada puede ser 0 o 1 para Integer y ‘index’ o ‘columns’ para String.
how: how toma valor de string de solo dos tipos (‘cualquiera’ o ‘todos’). ‘cualquiera’ descarta la fila/columna si CUALQUIER valor es nulo y ‘todos’ descarta solo si TODOS los valores son nulos.
Thresh: Thresh toma un valor entero que indica la cantidad mínima de valores na que deben caer.
subconjunto: es una array que limita el proceso de eliminación a filas/columnas pasadas a través de la lista.
inplace: es un valor booleano que realiza los cambios en el marco de datos si es verdadero.
Para obtener un enlace al archivo CSV utilizado en el código, haga clic aquí.
Ejemplo n.º 1: Descartar filas con al menos 1 valor nulo.
Se lee el marco de datos y se eliminan todas las filas con cualquier valor nulo. El tamaño de los marcos de datos antiguos y nuevos se compara para ver cuántas filas tenían al menos 1 valor nulo.
# importing pandas module import pandas as pd # making data frame from csv file data = pd.read_csv("nba.csv") # making new data frame with dropped NA values new_data = data.dropna(axis = 0, how ='any') # comparing sizes of data frames print("Old data frame length:", len(data), "\nNew data frame length:", len(new_data), "\nNumber of rows with at least 1 NA value: ", (len(data)-len(new_data)))
Producción:
Old data frame length: 458 New data frame length: 364 Number of rows with at least 1 NA value: 94
Dado que la diferencia es 94, había 94 filas que tenían al menos 1 valor nulo en cualquier columna.
Ejemplo n.º 2: cambio de eje y uso de parámetros how y inplace
Se hacen dos tramas de datos. Se agrega una columna con todos los valores = ninguno al nuevo marco de datos. Los nombres de las columnas se verifican para ver si la columna nula se insertó correctamente. Luego, el número de columnas se compara antes y después de eliminar los valores de NaN.
# importing pandas module import pandas as pd # making data frame from csv file data = pd.read_csv("nba.csv") # making a copy of old data frame new = pd.read_csv("nba.csv") # creating a value with all null values in new data frame new["Null Column"]= None # checking if column is inserted properly print(data.columns.values, "\n", new.columns.values) # comparing values before dropping null column print("\nColumn number before dropping Null column\n", len(data.dtypes), len(new.dtypes)) # dropping column with all null values new.dropna(axis = 1, how ='all', inplace = True) # comparing values after dropping null column print("\nColumn number after dropping Null column\n", len(data.dtypes), len(new.dtypes))
Producción:
['Name' 'Team' 'Number' 'Position' 'Age' 'Height' 'Weight' 'College' 'Salary'] ['Name' 'Team' 'Number' 'Position' 'Age' 'Height' 'Weight' 'College' 'Salary' 'Null Column'] Column number before dropping Null column 9 10 Column number after dropping Null column 9 9
Publicación traducida automáticamente
Artículo escrito por Kartikaybhutani y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA