2012-06-01 132 views
46

Tengo un dataFrame en pandas y varias de las columnas tienen todos los valores nulos. ¿Hay una función incorporada que me permita eliminar esas columnas?Eliminar columnas NULL en un marco de datos Pandas?

Gracias!

+0

Podría tal vez aceptar la respuesta? Esto marcará la pregunta como resuelta y ayudará a otros usuarios también. – MERose

Respuesta

82

Sí, dropna. Ver http://pandas.pydata.org/pandas-docs/stable/missing_data.html y la cadena de documentación DataFrame.dropna:

Definition: DataFrame.dropna(self, axis=0, how='any', thresh=None, subset=None) 
Docstring: 
Return object with labels on given axis omitted where alternately any 
or all of the data are missing 

Parameters 
---------- 
axis : {0, 1} 
how : {'any', 'all'} 
    any : if any NA values are present, drop that label 
    all : if all values are NA, drop that label 
thresh : int, default None 
    int value : require that many non-NA values 
subset : array-like 
    Labels along other axis to consider, e.g. if you are dropping rows 
    these would be a list of columns to include 

Returns 
------- 
dropped : DataFrame 

El comando específico para ejecutar sería:

df=df.dropna(axis=1,how='all') 
+0

puede especificar el valor 'dropna'? por ejemplo, ¿podría dejar filas que son todos ceros? – zach

+6

puede definir con los analizadores pandas io que su valor NaN en tablas de entrada dadas es 0, O bien, podría preparar su paso de esta manera: 'df [df == 0] = np.nan; df = df.dropna (axis = 1, how = 'all') ' –

Cuestiones relacionadas