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 की पंक्तियों को किसी लेबल के आधार पर फ़िल्टर/स्लाइस करने के लिए उपयोगी है, जबकि इंडेक्स संरचना को बनाए रखा जाता है।