Data Science

पांडा में महारथ: डेटाफ्रेम में कई कॉलमों का कुशल चयन

Spread the love

पांडा डेटा हेरफेर और विश्लेषण के लिए एक शक्तिशाली पायथन लाइब्रेरी है। एक सामान्य कार्य में DataFrame से विशिष्ट कॉलम का चयन करना शामिल है। यह लेख कई कॉलमों के चयन के लिए कुशल और स्पष्ट विधियों का पता लगाता है, सर्वोत्तम प्रथाओं पर प्रकाश डालता है।

विषय सूची:

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 के साथ बूलियन इंडेक्सिंग का उपयोग करें (जैसा कि ऊपर दिखाया गया है)।

प्रातिक्रिया दे

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *