पांडा डेटा हेरफेर और विश्लेषण के लिए एक शक्तिशाली पायथन लाइब्रेरी है। एक सामान्य कार्य में DataFrame से विशिष्ट कॉलम का चयन करना शामिल है। यह लेख कई कॉलमों के चयन के लिए कुशल और स्पष्ट विधियों का पता लगाता है, सर्वोत्तम प्रथाओं पर प्रकाश डालता है।
विषय सूची:
- Getitem सिंटैक्स का उपयोग करना
iloc()
का उपयोग करनाloc()
का उपयोग करना- कॉलम चयन के लिए बूलियन इंडेक्सिंग
- कार्यक्षमता पर विचार
- निष्कर्ष
- अक्सर पूछे जाने वाले प्रश्न
Getitem सिंटैक्स का उपयोग करना
सबसे सरल तरीका getitem ([]
) सिंटैक्स का उपयोग करता है। उन कॉलमों का चयन करने के लिए कॉलम नामों की एक सूची प्रदान करें।
import pandas as pd
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9], 'col4': [10, 11, 12]}
df = pd.DataFrame(data)
# 'col1', 'col3', और 'col4' का चयन करें
selected_columns = ['col1', 'col3', 'col4']
selected_df = df[selected_columns]
print(selected_df)
यह संक्षिप्त और पठनीय है, लेकिन सुनिश्चित करें कि DataFrame में सभी सूचीबद्ध कॉलम मौजूद हैं; अन्यथा, एक KeyError
उत्पन्न होता है।
iloc()
का उपयोग करना
iloc()
पूर्णांक-आधारित अनुक्रमण का उपयोग करता है। उनकी पूर्णांक स्थितियों की एक सूची प्रदान करके कॉलम का चयन करें (यह याद रखते हुए कि पायथन शून्य-आधारित अनुक्रमण का उपयोग करता है)।
import pandas as pd
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9], 'col4': [10, 11, 12]}
df = pd.DataFrame(data)
# अनुक्रमणिका 0, 2, और 3 पर कॉलम का चयन करें
selected_df = df.iloc[:, [0, 2, 3]] # : सभी पंक्तियों का चयन करता है, [0, 2, 3] कॉलम 0, 2, और 3 का चयन करता है
print(selected_df)
:
सभी पंक्तियों का चयन करता है। जब कॉलम नाम अज्ञात होते हैं, लेकिन सूचकांक उपलब्ध होते हैं, तो iloc()
उपयोगी होता है।
loc()
का उपयोग करना
loc()
लेबल (कॉलम नाम) का उपयोग करता है। कई कॉलमों के लिए getitem के समान, loc
संयुक्त पंक्ति और कॉलम चयन के लिए अधिक लचीलापन प्रदान करता है।
import pandas as pd
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9], 'col4': [10, 11, 12]}
df = pd.DataFrame(data)
# 'col1', 'col3', और 'col4' का चयन करें
selected_df = df.loc[:, ['col1', 'col3', 'col4']] # : सभी पंक्तियों का चयन करता है, ['col1', 'col3', 'col4'] निर्दिष्ट कॉलम का चयन करता है
print(selected_df)
loc
स्पष्ट रूप से लेबल-आधारित चयन को इंगित करता है, लेबल या बूलियन इंडेक्सिंग का उपयोग करके पंक्ति चयन के साथ संयोजन करते समय फायदेमंद होता है।
कॉलम चयन के लिए बूलियन इंडेक्सिंग
अधिक जटिल परिदृश्यों के लिए, loc
के साथ बूलियन इंडेक्सिंग उनके नाम पर लागू शर्तों के आधार पर कॉलम का चयन करने की अनुमति देता है।
import pandas as pd
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9], 'col4': [10, 11, 12], 'other_col': [13,14,15]}
df = pd.DataFrame(data)
# 'col' से शुरू होने वाले कॉलम का चयन करें
selected_df = df.loc[:, [col.startswith('col') for col in df.columns]]
print(selected_df)
कार्यक्षमता पर विचार
आम तौर पर, getitem सबसे तेज होता है, उसके बाद loc
, फिर iloc
। हालाँकि, अंतर आमतौर पर नगण्य होते हैं जब तक कि विशाल DataFrame से निपटना न हो। मामूली प्रदर्शन लाभ पर पठनीयता और रखरखाव को प्राथमिकता दें।
निष्कर्ष
कई कॉलमों का चयन पांडा में मौलिक है। ज्ञात कॉलम नामों के लिए Getitem सबसे सरल है। iloc()
पूर्णांक-आधारित अनुक्रमण के अनुकूल है, जबकि loc()
लचीलापन प्रदान करता है और लेबल-आधारित चयन के लिए बेहतर है। सबसे अच्छी विधि आपकी विशिष्ट आवश्यकताओं और डेटा संरचना पर निर्भर करती है।
अक्सर पूछे जाने वाले प्रश्न
- प्रश्न: यदि मैं कोई गैर-मौजूद कॉलम चुनता हूँ तो क्या होता है?
उत्तर: Getitem औरloc
KeyError
उत्पन्न करते हैं। यदि अनुक्रमणिका सीमा से बाहर है तोiloc
IndexError
उत्पन्न करता है। - प्रश्न: क्या मैं किसी शर्त के आधार पर कॉलम का चयन कर सकता हूँ?
उत्तर: हाँ,loc
के साथ बूलियन इंडेक्सिंग का उपयोग करें (जैसा कि ऊपर दिखाया गया है)।