pandas 0.23 - Panel.loc

pandas.Panel.loc




pandas

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