Terkejut saya belum melihat ini diposting sejauh ini, jadi saya akan meninggalkan ini di sini.
Extended Iterable Unpacking (python3.5 +): [*df]
dan Teman
Generalisasi unpacking (PEP 448) telah diperkenalkan dengan Python 3.5. Jadi, semua operasi berikut ini dimungkinkan.
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
Jika Anda ingin list
....
[*df]
# ['A', 'B', 'C']
Atau, jika Anda ingin set
,
{*df}
# {'A', 'B', 'C'}
Atau, jika Anda ingin tuple
,
*df, # Please note the trailing comma
# ('A', 'B', 'C')
Atau, jika Anda ingin menyimpan hasilnya di suatu tempat,
*cols, = df # A wild comma appears, again
cols
# ['A', 'B', 'C']
... jika Anda adalah tipe orang yang mengubah kopi menjadi suara mengetik, yah, ini akan mengonsumsi kopi Anda lebih efisien;)
PS: jika kinerjanya penting, Anda ingin membuang solusi di atas yang mendukung
df.columns.to_numpy().tolist()
# ['A', 'B', 'C']
Ini mirip dengan jawaban Ed Chum , tetapi diperbarui untuk v0.24 di mana .to_numpy()
lebih disukai daripada penggunaan .values
. Lihat
jawaban ini (oleh saya) untuk informasi lebih lanjut.
Pemeriksaan Visual
Karena saya telah melihat ini dibahas dalam jawaban lain, Anda dapat memanfaatkan pembongkaran iterable (tidak perlu untuk loop eksplisit).
print(*df)
A B C
print(*df, sep='\n')
A
B
C
Kritik terhadap Metode Lain
Jangan gunakan for
loop eksplisit untuk operasi yang dapat dilakukan dalam satu baris (Daftar pemahaman baik-baik saja).
Selanjutnya, menggunakan sorted(df)
tidak mempertahankan urutan asli kolom. Untuk itu, Anda harus menggunakannya list(df)
.
Berikutnya, list(df.columns)
dan list(df.columns.values)
saran yang buruk (per versi saat ini, v0.24). Baik Index
(dikembalikan dari df.columns
) dan array NumPy (dikembalikan oleh df.columns.values
) mendefinisikan .tolist()
metode yang lebih cepat dan lebih idiomatik.
Terakhir, listification yaitu, list(df)
seharusnya hanya digunakan sebagai alternatif ringkas untuk metode yang disebutkan sebelumnya untuk python <= 3,4 di mana perpanjangan pembongkaran tidak tersedia.
columns
atribut?