DataFrame अनुक्रमण ऑपरेटर का प्राथमिक उद्देश्य, []
स्तंभों का चयन करना है।
जब इंडेक्सिंग ऑपरेटर को एक स्ट्रिंग या पूर्णांक पास किया जाता है, तो यह उस विशेष नाम के साथ एक कॉलम खोजने का प्रयास करता है और इसे एक श्रृंखला के रूप में वापस करता है।
तो, ऊपर दिए df[2]
गए प्रश्न में: पूर्णांक मान से मेल खाते स्तंभ नाम की खोज करता है 2
। यह कॉलम मौजूद नहीं है और ए KeyError
उठा हुआ है।
डेटाफ्रेम इंडेक्सिंग ऑपरेटर स्लाइस नोटेशन का उपयोग करने पर पंक्तियों का चयन करने के लिए व्यवहार को पूरी तरह से बदल देता है
अजीब बात है, जब एक टुकड़ा दिया जाता है, तो DataFrame अनुक्रमण ऑपरेटर पंक्तियों का चयन करता है और ऐसा पूर्णांक स्थान या अनुक्रमणिका लेबल द्वारा कर सकता है।
df[2:3]
यह पंक्ति से शुरुआत पूर्णांक स्थान 2 से 3 तक होगा, जो अंतिम तत्व से अनन्य है। तो, बस एक पंक्ति। निम्नलिखित पूर्णांक स्थान पर 6 पंक्तियों का चयन करता है, लेकिन हर तीसरी पंक्ति में 20 शामिल नहीं है।
df[6:20:3]
यदि आपके DataFrame अनुक्रमणिका में तार हैं, तो आप स्ट्रिंग लेबलों से बने स्लाइस का भी उपयोग कर सकते हैं। अधिक जानकारी के लिए, .iloc बनाम .loc पर इस समाधान को देखें ।
मैं लगभग अनुक्रमण संचालक के साथ इस स्लाइस नोटेशन का उपयोग कभी नहीं करता हूं क्योंकि यह स्पष्ट नहीं है और शायद ही कभी इस्तेमाल किया गया हो। जब कतारों से काटते हैं, तो चिपकते हैं .loc/.iloc
।
df.ix[2]
काम नहीं करता है - कम से कम नहींpandas version '0.19.2'