Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Pandas MultiIndex में लेबल/लेवल के लिए लोकेशन और स्लाइस्ड इंडेक्स प्राप्त करें (लेवल ड्रॉप किए बिना)

Pandas में MultiIndex.get_loc_level() मेथड किसी लेबल/लेवल के लिए लोकेशन (स्लाइस) और स्लाइस्ड इंडेक्स लौटाता है। drop_level=False पैरामीटर से लेवल को परिणाम में बनाए रखा जाता है।

पैरामीटर्स

  • key: खोजने के लिए लेबल
  • drop_level (बूलियन): यदि False, तो लौटाए गए MultiIndex में लेवल बना रहता है। डिफ़ॉल्ट True।

उदाहरण

import pandas as pd

# दो लेवल वाला MultiIndex बनाएं
multiIndex = pd.MultiIndex.from_arrays(
    [list('pqrrss'), list('strvwx')],
    names=['One', 'Two']
)

print("MultiIndex...\n", multiIndex)
print("\nMultiIndex में लेवल्स...\n", multiIndex.levels)

# लेबल 'r' के लिए लोकेशन और स्लाइस्ड इंडेक्स प्राप्त करें (लेवल ड्रॉप किए बिना)
print("\nलोकेशन और स्लाइस्ड इंडेक्स (लेवल ड्रॉप न करें)...\n",
      multiIndex.get_loc_level('r', drop_level=False))

आउटपुट

MultiIndex...
MultiIndex([('p', 's'),
            ('q', 't'),
            ('r', 'r'),
            ('r', 'v'),
            ('s', 'w'),
            ('s', 'x')],
           names=['One', 'Two'])

MultiIndex में लेवल्स...
[['p', 'q', 'r', 's'], ['r', 's', 't', 'v', 'w', 'x']]

लोकेशन और स्लाइस्ड इंडेक्स (लेवल ड्रॉप न करें)...
(slice(2, 4, None), MultiIndex([('r', 'r'), ('r', 'v')], names=['One', 'Two']))

व्याख्या

  • slice(2, 4, None): लेबल 'r' सूचकांक 2 और 3 पर स्थित है (स्लाइस 2 से 4 तक, 4 शामिल नहीं)
  • स्लाइस्ड MultiIndex: केवल वे टपल्स जिनका पहला तत्व 'r' है, दोनों लेवल नामों के साथ
  • drop_level=False के कारण परिणाम में दोनों लेवल ('One', 'Two') बने रहते हैं

drop_level=True (डिफ़ॉल्ट) के साथ तुलना

यदि drop_level=True होता, तो परिणाम केवल दूसरा लेवल होता: MultiIndex(['r', 'v'], names=['Two'])।

उपयोग के मामले

यह मेथड MultiIndex DataFrame की पंक्तियों को किसी लेबल के आधार पर फ़िल्टर/स्लाइस करने के लिए उपयोगी है, जबकि इंडेक्स संरचना को बनाए रखा जाता है।

  1. - पायथन पैंडास - अन्य में नहीं होने वाले इंडेक्स के एलिमेंट्स के साथ नया इंडेक्स लौटाएं और डिफरेंस प्राप्त करें

    अन्य में नहीं होने वाले इंडेक्स के एलिमेंट्स के साथ नया इंडेक्स लौटाने और डिफरेंस प्राप्त करने के लिए, पैंडास में index1.difference(index2) मेथड का उपयोग करें। सबसे पहले, आवश्यक लाइब्रेरी इंपोर्ट करें: import pandas as pd दो पैंडास इंडेक्स बनाएं: index1 = pd.Index([10, 20, 30, 40, 50]) index2 = pd.

  1. - Python Pandas - स्तर नामों का उपयोग करके एकाधिक स्तर हटाएं और इंडेक्स लौटाएं

    परिचय मल्टी-इंडेक्स (MultiIndex) से स्तर नामों का उपयोग करके एकाधिक स्तर हटाने और नया इंडेक्स प्राप्त करने के लिए multiIndex.droplevel() मेथड का उपयोग करें। हटाए जाने वाले स्तरों के नाम पैरामीटर के रूप में पास करें। आवश्यक लाइब्रेरी आयात करें import pandas as pd मल्टी-इंडेक्स बनाएं names पैरामीटर

  1. - Python Pandas - स्तर के नाम का उपयोग करके एक स्तर हटाएं और इंडेक्स लौटाएं

    परिचय मल्टी-इंडेक्स (MultiIndex) से स्तर के नाम का उपयोग करके एक स्तर हटाने और नया इंडेक्स प्राप्त करने के लिए multiIndex.droplevel() मेथड का उपयोग करें। हटाए जाने वाले स्तर का नाम पैरामीटर के रूप में पास करें। आवश्यक लाइब्रेरी आयात करें import pandas as pd मल्टी-इंडेक्स बनाएं names पैरामीटर इंडेक