Pandas filtern, Spalten ein DataFrame mit bool
Für einen DataFrame (df) mit mehreren Spalten und Zeilen
A B C D
0 1 4 2 6
1 2 5 7 4
2 3 6 5 6
und anderen DataFrame (dfBool) mit "dtype": bool
0 True
1 False
2 False
3 True
Was ist die einfachste Methode zum teilen dieser DataFrame durch Spalten in zwei verschiedene DataFrames durch Umsetzung dfbool so erhalten Sie die gewünschte Ausgabe
A D
0 1 6
1 2 4
2 3 6
B C
0 4 2
1 5 7
2 6 5
Kann ich nicht verstehen, in meiner begrenzten Erfahrung, warum dfTrue = df[dfBool.transpose() == True]
funktioniert nicht
- Leider sind Sie nach
df[df.columns[dfBool]]
unddf[df.columns[~dfBool]]
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Möchte ich ändern EdChum Kommentar, denn wenn
dfBool
istDataFrame
, müssen Sie zuerst wählen Siecolumn
:Weitere sehr schöne Lösung aus ayhan, danke:
Aber wenn
dfBool
istSeries
Lösung funktioniert sehr gut:Und für
Series
:Timings:
Code für timings:
Ausgabe ist etwas anders:
Vielleicht so etwas wie die folgenden ?