पांडा डेटाफ्रेम पाइथन में डेटा मैनिपुलेशन का एक आधारशिला है। अक्सर, आपको एक या अधिक कॉलम को इंडेक्स के रूप में नामित करने की आवश्यकता होगी, जो प्रत्येक पंक्ति के लिए एक अद्वितीय पहचानकर्ता के रूप में काम करता है। यह डेटा एक्सेस गति को महत्वपूर्ण रूप से बढ़ाता है और विभिन्न कार्यों को सरल करता है। यह लेख इसे प्राप्त करने के दो प्राथमिक तरीकों का विवरण देता है।
विषय सूची
- विधि 1:
set_index()
फ़ंक्शन का उपयोग करना - विधि 2: फ़ाइल आयात के दौरान
index_col
पैरामीटर का लाभ उठाना - निष्कर्ष
- अक्सर पूछे जाने वाले प्रश्न
विधि 1: set_index()
फ़ंक्शन का उपयोग करना
set_index()
फ़ंक्शन डेटाफ्रेम कॉलम को इंडेक्स के रूप में सेट करने का सबसे बहुमुखी तरीका प्रदान करता है। यह एकल या एकाधिक कॉलम इंडेक्स की अनुमति देता है और डुप्लिकेट इंडेक्स प्रविष्टियों के प्रबंधन के लिए विकल्प प्रदान करता है।
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Age': [25, 30, 22, 28],
'City': ['New York', 'London', 'Paris', 'Tokyo']}
df = pd.DataFrame(data)
print("मूल डेटाफ्रेम:n", df)
# 'Name' कॉलम को इंडेक्स के रूप में सेट करें
df_indexed = df.set_index('Name')
print("n'Name' को इंडेक्स के साथ डेटाफ्रेम:n", df_indexed)
# एकाधिक कॉलम को इंडेक्स के रूप में सेट करें
df_multi_indexed = df.set_index(['Name', 'City'])
print("n'Name' और 'City' को बहु-इंडेक्स के साथ डेटाफ्रेम:n", df_multi_indexed)
# डुप्लिकेट इंडेक्स मानों को संभालना (errors='ignore' का उपयोग करके)
df_duplicates = pd.DataFrame({'A': [1, 2, 1], 'B': [4, 5, 6]})
df_duplicates_indexed = df_duplicates.set_index('A', verify_integrity=False)
print("nडुप्लिकेट इंडेक्स मानों (त्रुटियों को अनदेखा किया गया) के साथ डेटाफ्रेम:n", df_duplicates_indexed)
यह उदाहरण एकल और एकाधिक कॉलम इंडेक्स सेट करना दिखाता है, और डुप्लिकेट इंडेक्स मानों के लिए त्रुटि हैंडलिंग प्रदर्शित करता है। ध्यान दें कि जबकि verify_integrity=False
डुप्लिकेट की अनुमति देता है, वे बाद के संचालन में जटिलताएँ पैदा कर सकते हैं, इसलिए सावधानीपूर्वक विचार करने की सलाह दी जाती है।
विधि 2: फ़ाइल आयात के दौरान index_col
पैरामीटर का लाभ उठाना
फ़ाइलों (CSV, Excel, आदि) से डेटा आयात करते समय, pd.read_csv()
और pd.read_excel()
जैसे कार्यों में index_col
पैरामीटर आयात के दौरान इंडेक्स कॉलम(ों) को सीधे सेट करता है। यह पूरे डेटासेट को आयात करने और फिर इंडेक्स सेट करने की तुलना में काफी अधिक कुशल है।
import pandas as pd
# 'Name' को इंडेक्स कॉलम के साथ CSV फ़ाइल पढ़ना
df_from_csv = pd.read_csv('data.csv', index_col='Name') # मानता है कि 'data.csv' मौजूद है
print("n'Name' को इंडेक्स के साथ CSV से पढ़ा गया डेटाफ्रेम:n", df_from_csv)
# एकाधिक इंडेक्स कॉलम के साथ पढ़ना
df_multi_from_csv = pd.read_csv('data.csv', index_col=['Name', 'City']) # मानता है कि 'data.csv' मौजूद है
print("n'Name' और 'City' को इंडेक्स के साथ CSV से पढ़ा गया डेटाफ्रेम:n", df_multi_from_csv)
कृपया अपने वास्तविक फ़ाइल पथ के साथ 'data.csv'
को बदलें। यह विधि बड़े डेटासेट के लिए विशेष रूप से फायदेमंद है, जो अनावश्यक पोस्ट-आयात प्रसंस्करण को कम करती है।
निष्कर्ष
पांडा डेटाफ्रेम में कॉलम को इंडेक्स के रूप में सेट करना कुशल डेटा मैनिपुलेशन के लिए महत्वपूर्ण है। set_index()
और index_col
पैरामीटर दोनों प्रभावी तरीके प्रदान करते हैं। अपने वर्कफ़्लो और डेटा आकार के लिए सबसे उपयुक्त विधि का चयन करें। हमेशा संभावित इंडेक्स डुप्लिकेट के प्रति सचेत रहें और उन्हें उचित रूप से संभालें।
अक्सर पूछे जाने वाले प्रश्न
- प्रश्न: अगर मैं एक गैर-अद्वितीय कॉलम को इंडेक्स के रूप में सेट करने का प्रयास करता हूँ तो क्या होगा?
उत्तर: जब तकverify_integrity=False
याerrors='ignore'
का उपयोगset_index()
में नहीं किया जाता है, तब तक एकValueError
उठाया जाएगा। हालाँकि, भविष्य के मुद्दों को रोकने के लिए सक्रिय रूप से डुप्लिकेट को संभालने की सिफारिश की जाती है। - प्रश्न: मैं इंडेक्स को संख्यात्मक इंडेक्स में कैसे रीसेट करूँ?
उत्तर:reset_index()
फ़ंक्शन का उपयोग करें। यह वर्तमान इंडेक्स को एक नए कॉलम में ले जाता है और एक डिफ़ॉल्ट संख्यात्मक इंडेक्स बनाता है। - प्रश्न: कॉलम को इंडेक्स के रूप में उपयोग करने के क्या लाभ हैं?
उत्तर: एक सार्थक कॉलम को इंडेक्स के रूप में उपयोग करने से डेटा चयन और फ़िल्टरिंग गति में काफी सुधार होता है, और डेटा संगठन और पठनीयता को बढ़ाता है।