2012-06-01 24 views
46

Ich habe eine dataFrame in Pandas und mehrere der Spalten haben alle Nullwerte. Gibt es eine eingebaute Funktion, mit der ich diese Spalten entfernen kann?NULL-Spalten in einem Datenrahmen entfernen Pandas?

Vielen Dank!

+0

könnten Sie vielleicht die Antwort akzeptieren? Dies wird die Frage als gelöst markieren und anderen Benutzern helfen. – MERose

Antwort

82

Ja, dropna. Siehe http://pandas.pydata.org/pandas-docs/stable/missing_data.html und die DataFrame.dropna docstring:

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 

Der spezifische Befehl wäre auszuführen:

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

können Sie den Wert 'dropna' angeben? könnten Sie beispielsweise Zeilen löschen, die nur aus Nullen bestehen? – zach

+6

Sie könnten entweder mit den Pandas-io-Parsern definieren, dass Ihr NaN-Wert in gegebenen Eingabe-Tabellen 0 ist ODER, Sie könnten Ihren Schritt wie folgt vorbereiten: 'df [df == 0] = np.nan; df = df.dropna (Achse = 1, wie = 'alle') ' –

Verwandte Themen