অবাক হয়ে আমি এখনও পর্যন্ত এই পোস্টটি দেখিনি, তাই আমি এই এখানেই রেখে দেব।
এক্সটেন্ডেড ইটারেবল আনপ্যাকিং (পাইথন 3.5 +): [*df]
এবং বন্ধুরা
পাইপথন 3.5 এর সাথে আনপ্যাকিং জেনারালাইজেশন (পিইপি 448) চালু করা হয়েছে। সুতরাং, নিম্নলিখিত ক্রিয়াকলাপগুলি সমস্ত সম্ভব।
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
আপনি যদি একটি list
....
[*df]
# ['A', 'B', 'C']
বা, যদি আপনি একটি চান set
,
{*df}
# {'A', 'B', 'C'}
বা, যদি আপনি একটি চান tuple
,
*df, # Please note the trailing comma
# ('A', 'B', 'C')
অথবা, আপনি যদি ফলাফলটি কোথাও সঞ্চয় করতে চান,
*cols, = df # A wild comma appears, again
cols
# ['A', 'B', 'C']
... আপনি যদি সেই ধরণের ব্যক্তি যিনি কফিকে টাইপিং শব্দগুলিতে রূপান্তর করেন তবে ভাল, এটি আপনার কফিকে আরও দক্ষতার সাথে গ্রাস করছে;)
পিএস: যদি পারফরম্যান্স গুরুত্বপূর্ণ হয়, আপনি উপরোক্ত সমাধানগুলি পক্ষে যেতে চাইবেন
df.columns.to_numpy().tolist()
# ['A', 'B', 'C']
এটি এড চমের উত্তরের মতো , তবে v0.24 এর জন্য আপডেট হয়েছে যেখানে .to_numpy()
ব্যবহারের ক্ষেত্রে অগ্রাধিকার দেওয়া হয় .values
। দেখুন
এই উত্তরটি আরও তথ্যের জন্য (আমার দ্বারা)।
চাক্ষুষ চেক
যেহেতু আমি অন্যান্য উত্তরে এটি আলোচিত দেখেছি, আপনি পুনরাবৃত্তযোগ্য আনপ্যাকিং ব্যবহার করতে পারেন (সুস্পষ্ট লুপের প্রয়োজন নেই)।
print(*df)
A B C
print(*df, sep='\n')
A
B
C
অন্যান্য পদ্ধতির সমালোচনা
একটি সুস্পষ্ট ব্যবহার করবেন না for
একটি একক লাইনে করা যেতে পারে এমন ক্রিয়াকলাপের জন্য লুপ (তালিকার বোঝাপড়া ঠিক আছে)।
এর পরে, ব্যবহার করা sorted(df)
মূল ক্রম সংরক্ষণ করে না কলামগুলির । তার জন্য, আপনার list(df)
পরিবর্তে ব্যবহার করা উচিত ।
এরপরে list(df.columns)
এবং list(df.columns.values)
হ'ল নিম্ন পরামর্শ (বর্তমান সংস্করণ হিসাবে, v0.24)। উভয়ই Index
(থেকে ফিরে df.columns
) এবং নম্পপি অ্যারে (ফিরে এসেছেন)df.columns.values
) .tolist()
পদ্ধতি নির্ধারণ করে যা দ্রুত এবং আরও মূর্তিযুক্ত।
শেষ অবধি, লিস্টিফিকেশন অর্থাত list(df)
কেবল অজগর <= 3.4 এর জন্য পূর্বোক্ত পদ্ধতির সংক্ষিপ্ত বিকল্প হিসাবে ব্যবহার করা উচিত যেখানে বর্ধিত আনপ্যাকিং উপলব্ধ নেই।
columns
একটি বৈশিষ্ট্য হিসেবে?