[FIXED] Neue Spalte, die auf allen anderen in Pandas basiert

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)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like