pandas 0.23 - Panel.loc
pandas.Panel.loc

pandas.Panel.loc
-
Panel.loc
-
लेबल (ओं) या बूलियन सरणी द्वारा पंक्तियों और स्तंभों के एक समूह तक पहुंचें।
.loc[]
मुख्य रूप से लेबल आधारित है, लेकिन इसका उपयोग बूलियन सरणी के साथ भी किया जा सकता है।अनुमत इनपुट हैं:
-
एक एकल लेबल, जैसे
5
या'a'
, (ध्यान दें कि5
को सूचकांक के लेबल के रूप में व्याख्या की जाती है, और सूचकांक के साथ पूर्णांक स्थिति के रूप में कभी नहीं )। -
लेबल की एक सूची या सारणी, उदाहरण के लिए
['a', 'b', 'c']
। -
लेबल के साथ एक स्लाइस ऑब्जेक्ट, जैसे
'a':'f'
।चेतावनी
ध्यान दें कि सामान्य अजगर स्लाइस के विपरीत, प्रारंभ और स्टॉप दोनों शामिल हैं
-
धुरी कटा हुआ जा रहा है के रूप में एक ही लंबाई के एक बूलियन सरणी, जैसे
[True, False, True]
। -
एक तर्क (कॉलिंग सीरीज़, डेटाफ़्रेम या पैनल) के साथ एक कॉल करने
callable
कार्य और वह अनुक्रमण के लिए वैध आउटपुट देता है (उपरोक्त में से एक)
लेबल द्वारा चयन पर और देखें
जन्म देती है: KeyError:
जब कोई आइटम नहीं मिला
यह भी देखें
-
DataFrame.at
- एक पंक्ति / स्तंभ लेबल जोड़ी के लिए एकल मान तक पहुँचें
-
DataFrame.iloc
- पूर्णांक स्थिति (पंक्तियों) द्वारा पंक्तियों और स्तंभों का एक्सेस समूह
-
DataFrame.xs
- श्रृंखला / DataFrame से एक क्रॉस-सेक्शन (पंक्ति) या कॉलम (s) लौटाता है।
-
Series.loc
- लेबल का उपयोग करके मूल्यों का समूह
उदाहरण
मूल्यों को प्राप्त करना
>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]], ... index=['cobra', 'viper', 'sidewinder'], ... columns=['max_speed', 'shield']) >>> df max_speed shield cobra 1 2 viper 4 5 sidewinder 7 8
एकल लेबल। ध्यान दें कि यह पंक्ति एक श्रृंखला के रूप में देता है।
>>> df.loc['viper'] max_speed 4 shield 5 Name: viper, dtype: int64
लेबल की सूची। नोट का उपयोग कर
[[]]
एक DataFrame लौटाता है।>>> df.loc[['viper', 'sidewinder']] max_speed shield viper 4 5 sidewinder 7 8
पंक्ति और स्तंभ के लिए एकल लेबल
>>> df.loc['cobra', 'shield'] 2
पंक्ति के लिए लेबल और स्तंभ के लिए एकल लेबल के साथ स्लाइस। जैसा कि ऊपर उल्लेख किया गया है, ध्यान दें कि स्लाइस की शुरुआत और रोक दोनों शामिल हैं।
>>> df.loc['cobra':'viper', 'max_speed'] cobra 1 viper 4 Name: max_speed, dtype: int64
पंक्ति अक्ष के समान लंबाई वाली बूलियन सूची
>>> df.loc[[False, False, True]] max_speed shield sidewinder 7 8
सशर्त जो एक बूलियन श्रृंखला लौटाता है
>>> df.loc[df['shield'] > 6] max_speed shield sidewinder 7 8
सशर्त जो कॉलम लेबल के साथ एक बूलियन श्रृंखला लौटाता है
>>> df.loc[df['shield'] > 6, ['max_speed']] max_speed sidewinder 7
कॉलिबल जो एक बूलियन श्रृंखला लौटाता है
>>> df.loc[lambda df: df['shield'] == 8] max_speed shield sidewinder 7 8
मान सेट करना
लेबल की सूची से मेल खाने वाली सभी वस्तुओं के लिए मूल्य निर्धारित करें
>>> df.loc[['viper', 'sidewinder'], ['shield']] = 50 >>> df max_speed shield cobra 1 2 viper 4 50 sidewinder 7 50
संपूर्ण पंक्ति के लिए मान सेट करें
>>> df.loc['cobra'] = 10 >>> df max_speed shield cobra 10 10 viper 4 50 sidewinder 7 50
संपूर्ण स्तंभ के लिए मान सेट करें
>>> df.loc[:, 'max_speed'] = 30 >>> df max_speed shield cobra 30 10 viper 30 50 sidewinder 30 50
कॉल करने योग्य स्थिति से मेल खाती पंक्तियों के लिए मान सेट करें
>>> df.loc[df['shield'] > 35] = 0 >>> df max_speed shield cobra 30 10 viper 0 0 sidewinder 0 0
एक DataFrame पर एक इंडेक्स के साथ मान प्राप्त करना जिसमें पूर्णांक लेबल होते हैं
सूचकांक के लिए पूर्णांक का उपयोग कर एक और उदाहरण
>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]], ... index=[7, 8, 9], columns=['max_speed', 'shield']) >>> df max_speed shield 7 1 2 8 4 5 9 7 8
पंक्तियों के लिए पूर्णांक लेबल के साथ टुकड़ा। जैसा कि ऊपर उल्लेख किया गया है, ध्यान दें कि स्लाइस की शुरुआत और रोक दोनों शामिल हैं।
>>> df.loc[7:9] max_speed shield 7 1 2 8 4 5 9 7 8
एक MultIndex के साथ मान प्राप्त करना
एक मल्टीफ़ंडेक्स के साथ डेटाफ़्रेम का उपयोग करके कई उदाहरण
>>> tuples = [ ... ('cobra', 'mark i'), ('cobra', 'mark ii'), ... ('sidewinder', 'mark i'), ('sidewinder', 'mark ii'), ... ('viper', 'mark ii'), ('viper', 'mark iii') ... ] >>> index = pd.MultiIndex.from_tuples(tuples) >>> values = [[12, 2], [0, 4], [10, 20], ... [1, 4], [7, 1], [16, 36]] >>> df = pd.DataFrame(values, columns=['max_speed', 'shield'], index=index) >>> df max_speed shield cobra mark i 12 2 mark ii 0 4 sidewinder mark i 10 20 mark ii 1 4 viper mark ii 7 1 mark iii 16 36
एकल लेबल। ध्यान दें कि एक एकल सूचकांक के साथ एक DataFrame लौटाता है।
>>> df.loc['cobra'] max_speed shield mark i 12 2 mark ii 0 4
एकल सूचकांक टपल। ध्यान दें कि यह एक श्रृंखला देता है।
>>> df.loc[('cobra', 'mark ii')] max_speed 0 shield 4 Name: (cobra, mark ii), dtype: int64
पंक्ति और स्तंभ के लिए एकल लेबल। टुप में गुजरने के समान, यह एक श्रृंखला लौटाता है।
>>> df.loc['cobra', 'mark i'] max_speed 12 shield 2 Name: (cobra, mark i), dtype: int64
एकल टपल। नोट का उपयोग कर
[[]]
एक DataFrame लौटाता है।>>> df.loc[[('cobra', 'mark ii')]] max_speed shield cobra mark ii 0 4
स्तंभ के लिए एक एकल लेबल के साथ सूचकांक के लिए एकल टपल
>>> df.loc[('cobra', 'mark i'), 'shield'] 2
इंडेक्स टपल से सिंगल लेबल पर स्लाइस करें
>>> df.loc[('cobra', 'mark i'):'viper'] max_speed shield cobra mark i 12 2 mark ii 0 4 sidewinder mark i 10 20 mark ii 1 4 viper mark ii 7 1 mark iii 16 36
इंडेक्स ट्यूपल से इंडेक्स ट्यूपल तक स्लाइस
>>> df.loc[('cobra', 'mark i'):('viper', 'mark ii')] max_speed shield cobra mark i 12 2 mark ii 0 4 sidewinder mark i 10 20 mark ii 1 4 viper mark ii 7 1
-
एक एकल लेबल, जैसे