पांडा बनाम लोक: क्या अंतर है?
जब पांडा डेटाफ़्रेम की पंक्तियों और स्तंभों का चयन करने की बात आती है, तो .loc और .at दो आमतौर पर उपयोग किए जाने वाले फ़ंक्शन हैं।
यहाँ दोनों कार्यों के बीच सूक्ष्म अंतर है:
- .loc इनपुट तर्क के रूप में कई पंक्तियाँ और कॉलम ले सकता है
- .at केवल एक पंक्ति और कॉलम को इनपुट तर्क के रूप में ले सकता है
निम्नलिखित उदाहरण दिखाते हैं कि निम्नलिखित पांडा डेटाफ़्रेम के साथ व्यवहार में प्रत्येक फ़ंक्शन का उपयोग कैसे करें:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, 22, 19, 14, 14, 11, 20, 28], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame print (df) team points assists rebounds 0 A 18 5 11 1 B 22 7 8 2 C 19 7 10 3 D 14 9 6 4 E 14 12 6 5 F 11 9 5 6 G 20 9 9 7:28 4 12
उदाहरण 1: पांडा में लोक का उपयोग कैसे करें
निम्नलिखित कोड दिखाता है कि बिंदु कॉलम के सूचकांक स्थिति 0 पर स्थित डेटाफ़्रेम में मान तक पहुंचने के लिए .loc का उपयोग कैसे करें:
#select value located at index position 0 of the points column
df. loc [0, ' points ']
18
यह 18 का मान लौटाता है।
और निम्नलिखित कोड दिखाता है कि सूचकांक मान 0 और 4 के साथ-साथ बिंदुओं और सहायक स्तंभों के बीच पंक्तियों तक पहुंचने के लिए .loc का उपयोग कैसे करें:
#select rows between index values 0 and 4 and columns 'points' and 'assists'
df. loc [0:4, [' points ', ' assists ']]
assist points
0 18 5
1 22 7
2 19 7
3 14 9
4 14 12
चाहे हम एकल मान या पंक्तियों और स्तंभों के समूह तक पहुँचना चाहें, .loc फ़ंक्शन दोनों कार्य कर सकता है।
उदाहरण 2: पंडों में at का उपयोग कैसे करें
निम्नलिखित कोड दिखाता है कि बिंदु कॉलम के सूचकांक स्थिति 0 पर स्थित डेटाफ़्रेम में मान तक पहुंचने के लिए .at का उपयोग कैसे करें:
#select value located at index position 0 of the points column
df. at [0, ' points ']
18
यह 18 का मान लौटाता है।
हालाँकि, मान लीजिए कि हम सूचकांक मान 0 और 4 के बीच की पंक्तियों के साथ-साथ बिंदुओं और सहायता स्तंभों तक पहुँचने के लिए at का उपयोग करने का प्रयास करते हैं:
#try to select rows between index values 0 and 4 and columns 'points' and 'assists'
df. at [0:4, [' points ', ' assists ']]
TypeError : unhashable type: 'list'
हमें एक त्रुटि प्राप्त हो रही है क्योंकि at फ़ंक्शन इनपुट तर्क के रूप में एकाधिक पंक्तियों या एकाधिक कॉलम लेने में असमर्थ है।
निष्कर्ष
जब आप पांडा डेटाफ़्रेम में एकल मान तक पहुँचना चाहते हैं, तो लोक और एट फ़ंक्शंस ठीक काम करेंगे।
हालाँकि, जब आप पंक्तियों और स्तंभों के समूह तक पहुँचना चाहते हैं, तो केवल loc फ़ंक्शन ही ऐसा करने में सक्षम होता है।
संबंधित: पांडा लोक बनाम आईलोक: क्या अंतर है?
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि पांडा में अन्य सामान्य ऑपरेशन कैसे करें:
पांडा लोक का उपयोग करके अनेक स्थितियों के आधार पर पंक्तियों का चयन कैसे करें
पांडा में कॉलम मानों के आधार पर पंक्तियों का चयन कैसे करें
पंडों में सूचकांक द्वारा पंक्तियों का चयन कैसे करें