Ausgabe
Ich verarbeite eine Excel-Datei mit einer unbekannten Anzahl von Spalten, die möglicherweise gefüllt sind oder nicht.
Ich möchte eine neue Spalte im Datenrahmen erstellen, die angibt, welche Zeilen in einer der Spalten ein ‘nan’ enthalten.
Die df
:
Col-1 Col-2 ... Col-n has_nans
ok nan ... ok true
ok ok ... ok false
ok ok ... nan true
Ich habe viele Variationen ausprobiert von:
df['res'] = df.iloc[:,2:].isna().all(axis=1)
ohne Erfolg .. Vielleicht wäre eine Möglichkeit, ein Lambda wie hier zu verwenden ? Obwohl ich es immer noch nicht ganz fassen konnte.
Danke!
Lösung
Also sollten wir sicherstellen, dass ‘nan’ ist np.nan
, und dann die Funktion zu ändernany
#df = df.replace({'nan':np.nan})
df['res'] = df.iloc[:,2:].isna().any(axis=1)
Beantwortet von – BENY
Antwort geprüft von – Candace Johnson (FixError Volunteer)