So löschen Sie eine Spalte in pandas dataframe basierend auf einer Bedingung?
Habe ich ein pandas DataFrame, mit vielen NAN
Werte.
Wie kann ich das löschen von Spalten, so dass number_of_na_values > 2000
?
Ich versuchte es so:
toRemove = set()
naNumbersPerColumn = df.isnull().sum()
for i in naNumbersPerColumn.index:
if(naNumbersPerColumn[i]>2000):
toRemove.add(i)
for i in toRemove:
df.drop(i, axis=1, inplace=True)
Gibt es eine elegantere Möglichkeit das zu tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist eine weitere alternative zu halten Sie die Spalten, die kleiner oder gleich der angegebenen Anzahl von nans in jeder Spalte:
In meinen tests, scheint etwas schneller als das löschen von Spalten-Methode vorgeschlagen, die von Jianxun Li in den Fällen, die ich getestet habe:
Gleichen Logik, aber genauso alle Dinge in einer Zeile.