Überrascht habe ich das bisher noch nicht gesehen, also lasse ich es einfach hier.
Erweitertes iterierbares Entpacken (python3.5 +): [*df]
und Freunde
Das Entpacken von Verallgemeinerungen (PEP 448) wurde mit Python 3.5 eingeführt. Die folgenden Operationen sind also 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 list
....
[*df]
# ['A', 'B', 'C']
Oder, wenn Sie eine wollen set
,
{*df}
# {'A', 'B', 'C'}
Oder, wenn Sie eine wollen tuple
,
*df, # Please note the trailing comma
# ('A', 'B', 'C')
Oder wenn Sie das Ergebnis irgendwo speichern möchten,
*cols, = df # A wild comma appears, again
cols
# ['A', 'B', 'C']
... wenn Sie die Art von Person sind, die Kaffee in Tippgeräusche umwandelt, wird dies Ihren Kaffee effizienter konsumieren;)
PS: Wenn Leistung wichtig ist, sollten Sie die oben genannten Lösungen zugunsten von ablehnen
df.columns.to_numpy().tolist()
# ['A', 'B', 'C']
Dies ähnelt der Antwort von Ed Chum , wurde jedoch für Version 0.24 aktualisiert, wobei .to_numpy()
die Verwendung von bevorzugt wird .values
. Weitere Informationen finden Sie in
dieser Antwort (von mir).
Visuelle Überprüfung
Da ich dies in anderen Antworten gesehen habe, können Sie iterierbares Entpacken verwenden (keine expliziten Schleifen erforderlich).
print(*df)
A B C
print(*df, sep='\n')
A
B
C
Kritik anderer Methoden
Verwenden Sie keine explizite for
Schleife für eine Operation, die in einer einzelnen Zeile ausgeführt werden kann (Listenverständnisse sind in Ordnung).
Bei Verwendung von sorted(df)
wird die ursprüngliche Reihenfolge der Spalten nicht beibehalten . Dafür sollten Sie list(df)
stattdessen verwenden.
Weiter list(df.columns)
und list(df.columns.values)
sind schlechte Vorschläge (ab der aktuellen Version, v0.24). Sowohl Index
(zurückgegeben von df.columns
) als auch NumPy-Arrays (zurückgegeben von df.columns.values
) definieren eine .tolist()
Methode, die schneller und idiomatischer ist.
Schließlich sollte die Auflistung, dh, list(df)
nur als prägnante Alternative zu den oben genannten Methoden für Python <= 3.4 verwendet werden, bei denen kein erweitertes Entpacken verfügbar ist.
columns
Attribut?