Şimdiye kadar bunun yayınlandığını görmedim, bu yüzden burada bırakacağım.
Genişletilmiş Tekrarlanabilir Paket Açma (python3.5 +): [*df]ve Arkadaşlar
Ambalajdan çıkarma genellemeleri (PEP 448) Python 3.5 ile sunulmuştur. Böylece, aşağıdaki işlemlerin hepsi mümkündür.
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
İsterseniz bir list....
[*df]
# ['A', 'B', 'C']
Veya, isterseniz set,
{*df}
# {'A', 'B', 'C'}
Veya, isterseniz tuple,
*df, # Please note the trailing comma
# ('A', 'B', 'C')
Ya da sonucu bir yerde saklamak istiyorsanız,
*cols, = df # A wild comma appears, again
cols
# ['A', 'B', 'C']
... kahveyi ses yazmaya dönüştürebilecek türden biriyseniz, bu kahvenizi daha verimli tüketir;)
Not: performans önemliyse, yukarıdaki çözümleri lehine çıkarmak isteyeceksiniz.
df.columns.to_numpy().tolist()
# ['A', 'B', 'C']
Bu benzer Ed Chum cevabı , ancak v0.24 için güncellenmiş .to_numpy()kullanımı tercih edilir .values. Daha fazla bilgi için bu yanıta (benim tarafımdan) bakınız
.
Görsel Kontrol
Diğer yanıtlarda tartışıldığını gördüğüm için, tekrarlanabilir ambalajlardan faydalanabilirsiniz (açık döngülere gerek yoktur).
print(*df)
A B C
print(*df, sep='\n')
A
B
C
Diğer Yöntemlerin Eleştirisi
forTek bir satırda yapılabilen bir işlem için açık bir döngü kullanmayın (Liste kavramaları uygundur).
Daha sonra, kullanmak sütunların sorted(df) orijinal sırasını korumaz . Bunun için kullanmalısınız list(df).
Sonra list(df.columns)ve list(df.columns.values)zayıf önerilerdir (mevcut sürüm itibariyle, v0.24). Hem Index(döndürülen df.columns) hem de NumPy dizileri (döndürülen df.columns.values) .tolist(), daha hızlı ve daha deyimsel olan yöntemi tanımlar .
Son olarak, listeleme yani, list(df)genişletilmiş ambalajın açılmasının mümkün olmadığı yerlerde, <= 3.4 python için yukarıda bahsedilen yöntemlere kısa bir alternatif olarak kullanılmalıdır.
columnsöznitelik olarak?