Erweitertes Iterable-Unpacking (Python 3.5+): [*df]
und Freunde
Verallgemeinerungen des Unpackings (PEP 448) wurden mit Python 3.5 eingeführt. Daher sind die folgenden Operationen alle möglich.
df = pd.DataFrame('x', columns=['A', 'B', 'C'], index=range(5))
df
A B C
0 x x x
1 x x x
2 x x x
3 x x x
4 x x x
Wenn Sie eine Liste
möchten....
[*df]
# ['A', 'B', 'C']
Oder, wenn Sie ein Set
möchten,
{*df}
# {'A', 'B', 'C'}
Oder, wenn Sie ein Tupel
möchten,
*df, # Bitte beachten Sie das nachfolgende Komma
# ('A', 'B', 'C')
Oder, wenn Sie das Ergebnis irgendwo speichern möchten,
*cols, = df # Ein wildes Komma erscheint, noch einmal
cols
# ['A', 'B', 'C']
... wenn Sie der Typ von Person sind, der Kaffee in Tippgeräusche umwandelt, nun, dies wird Ihren Kaffee effizienter verbrauchen ;)
Nachtrag: Wenn die Leistung wichtig ist, sollten Sie die oben genannten Lösungen zugunsten von
df.columns.to_numpy().tolist()
# ['A', 'B', 'C']
Dies ähnelt Ed Chums Antwort, ist aber aktualisiert für v0.24, wo .to_numpy()
gegenüber der Verwendung von .values
bevorzugt wird. Sehen Sie diese Antwort (von mir) für weitere Informationen.
Visuelle Überprüfung
Weil ich gesehen habe, dass dies in anderen Antworten diskutiert wurde, können Sie Iterable-Unpacking verwenden (kein expliziter Loop erforderlich).
print(*df)
A B C
print(*df, sep='\n')
A
B
C
Kritik an anderen Methoden
Verwenden Sie keine explizite for
-Schleife für eine Operation, die in einer einzigen Zeile durchgeführt werden kann (Listenabstraktionen sind in Ordnung).
Weiterhin wird bei Verwendung von sorted(df)
die ursprüngliche Reihenfolge nicht beibehalten der Spalten. Dafür sollten Sie stattdessen list(df)
verwenden.
Zuletzt sind list(df.columns)
und list(df.columns.values)
schlechte Vorschläge (Stand der aktuellen Version, v0.24). Sowohl Index
(zurückgegeben von df.columns
) als auch NumPy-Arrays (zurückgegeben von df.columns.values
) definieren die Methode .tolist()
, die schneller und idiomatischer ist.
Zu guter Letzt sollte die Verwendung von Listenbildung d.h., list(df)
, nur als knappe Alternative zu den zuvor genannten Methoden für Python 3.4 oder früher verwendet werden, wo kein erweiterter Unpacking verfügbar ist.