Función Pandas DataFrame DataFrame.dropna()
-
La sintaxis de
pandas.DataFrame.dropna()
-
Códigos de ejemplo:
DataFrame.dropna()
para soltar fila -
Códigos de ejemplo:
DataFrame.dropna()
a Drop Column -
Códigos de ejemplo:
DataFrame.dropna()
Conhow=all
-
Códigos de ejemplo:
DataFrame.dropna()
Con un subconjunto o trilla especificada -
Códigos de ejemplo:
DataFrame.dropna()
Coninplace=True
La función pandas.DataFrame.dropna()
elimina los valores nulos (valores perdidos) del DataFrame
dejando caer las filas o columnas que contienen los valores nulos.
NaN
(no un número) y NaT
(no un tiempo) representan los valores nulos. DataFrame.dropna()
detecta estos valores y filtra el DataFrame
en consecuencia.
La sintaxis de pandas.DataFrame.dropna()
DataFrame.dropna(axis, how, thresh, subset, inplace)
Parámetros
axis |
Determina que el eje sea de fila o de columna. Si es 0 o “índice”, entonces deja caer las filas que contienen valores perdidos. Si es 1 o columns , entonces deja caer las columnas que contienen los valores perdidos. Por defecto, su valor es 0. |
how |
Este parámetro determina la forma en que la función deja caer las filas o columnas. Sólo acepta dos cadenas de caracteres, ya sea any o all . Por defecto, se establece como any . any deja caer la fila o columna si hay algún valor nulo en ella. all deja caer la fila o columna si faltan todos los valores en ella. |
thresh |
Es un número entero que especifica el menor número de valores que no falten que impiden que las filas o columnas caigan. |
subset |
Es un array que tiene los nombres de las filas o columnas para especificar el procedimiento de caída. |
inplace |
Es un valor booleano que cambia la llamada DataFrame si se establece como True . Por defecto, su valor es False . |
Retorna
Devuelve un DataFrame
filtrado con filas o columnas eliminadas según los parámetros pasados.
Códigos de ejemplo: DataFrame.dropna()
para soltar fila
Por defecto, el eje es 0, es decir, las filas, por lo que todas las salidas tienen filas caídas.
import pandas as pd
dataframe=pd.DataFrame({'Attendance': {0: 60, 1: None, 2: 80,3: None, 4: 95},
'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
'Obtained Marks': {0: None, 1: 75, 2: 82, 3: 64, 4: None}})
print(dataframe)
El ejemplo DataFrame
es el siguiente.
Attendance Name Obtained Marks
0 60.0 Olivia NaN
1 NaN John 75.0
2 80.0 Laura 82.0
3 NaN Ben 64.0
4 95.0 Kevin NaN
Todos los parámetros de esta función son opcionales. Si no pasamos ningún parámetro, entonces la función deja caer todas las filas que contengan un único valor nulo.
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: None, 2: 80, 3: None, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: None, 1: 75, 2: 82, 3: 64, 4: None},
}
)
dataframe1 = dataframe.dropna()
print(dataframe1)
Resultado:
Attendance Name Obtained Marks
2 80.0 Laura 82.0
Ha eliminado todas las filas que contenían un único valor nulo.
Códigos de ejemplo: DataFrame.dropna()
a Drop Column
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: None, 2: 80, 3: None, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: None, 1: 75, 2: 82, 3: 64, 4: None},
}
)
dataframe1 = dataframe.dropna(axis=1)
print(dataframe1)
Resultado:
Name
0 Olivia
1 John
2 Laura
3 Ben
4 Kevin
Se han eliminado todas las columnas que contenían un único valor perdido porque pusimos axis=1
en el método DataFrame.dropna()
.
Códigos de ejemplo: DataFrame.dropna()
Con how=all
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: None, 2: 80, 3: None, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: None, 1: 75, 2: 82, 3: 64, 4: None},
}
)
dataframe1 = dataframe.dropna(axis=1, how="all")
print(dataframe1)
Resultado:
Attendance Name Obtained Marks
0 60.0 Olivia NaN
1 NaN John 75.0
2 80.0 Laura 82.0
3 NaN Ben 64.0
4 95.0 Kevin NaN
Las filas que contienen los valores que faltan no se eliminan porque el parámetro how
tiene el valor fijado en all
, lo que significa que todos los valores de la fila deben ser nulos.
Si todos los valores faltan en el eje especificado, entonces DataFrame.dropna()
método deja caer ese eje incluso cuando el parámetro how
está establecido en all
.
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: None, 2: 80, 3: None, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: None, 1: None, 2: None, 3: None, 4: None},
}
)
print(dataframe)
print("--------")
dataframe1 = dataframe.dropna(axis=1, how="all")
print(dataframe1)
Resultado:
Attendance Name Obtained Marks
0 60.0 Olivia None
1 NaN John None
2 80.0 Laura None
3 NaN Ben None
4 95.0 Kevin None
--------
Attendance Name
0 60.0 Olivia
1 NaN John
2 80.0 Laura
3 NaN Ben
4 95.0 Kevin
Códigos de ejemplo: DataFrame.dropna()
Con un subconjunto o trilla especificada
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: None, 2: 80, 3: None, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: None, 1: 75, 2: 82, 3: 64, 4: None},
}
)
dataframe1 = dataframe.dropna(thresh=3)
print(dataframe1)
Resultado:
Attendance Name Obtained Marks
2 80.0 Laura 82.0
El valor de thresh
es 3, lo que significa que para evitar la caída, se requieren al menos 3 valores no vacíos.
También podríamos especificar el subset
.
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: None, 2: 80, 3: None, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: None, 1: 75, 2: 82, 3: 64, 4: None},
}
)
dataframe1 = dataframe.dropna(subset=["Attendance", "Name"])
print(dataframe1)
Resultado:
Attendance Name Obtained Marks
0 60.0 Olivia NaN
2 80.0 Laura 82.0
4 95.0 Kevin NaN
Suelta las filas con valores faltantes en base a la columna Attendance
y Name
. No deja filas si sólo los valores de otras columnas, Obtained Marks
aquí, tienen valores perdidos.
Códigos de ejemplo: DataFrame.dropna()
Con inplace=True
DataFrame.dropna
cambia la llamada DataFrame
en el lugar si inplace
está configurado como True
.
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: None, 2: 80, 3: None, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: None, 1: 75, 2: 82, 3: 64, 4: None},
}
)
dataframe1 = dataframe.dropna(inplace=True)
print(dataframe1)
Resultado:
None
El parámetro ha modificado el llamador DataFrame
en su lugar y devuelve None
.