से एक स्तर निकालें मैं पूरी तरह से एक MultiIndex
एक पांडा MultiIndex
import pandas as pd
tuples = [(0, 100, 1000),(0, 100, 1001),(0, 100, 1002), (1, 101, 1001)]
index_3levels=pd.MultiIndex.from_tuples(tuples,names=["l1","l2","l3"])
print index_3levels.levels
[Int64Index([0, 1], dtype=int64), Int64Index([100, 101], dtype=int64), Int64Index([1000, 1001, 1002], dtype=int64)]
से एक स्तर को दूर करने के मैं पहली बार 2 स्तरों को निकालने के लिए चाहते हैं चाहते हैं, को प्राप्त करने के:
print index_2levels
MultiIndex
[(0, 100), (1, 101)]
droplevel
बूँदें स्तर लेकिन डुप्लिकेट रखता है:
print index_3levels.droplevel("l3")
MultiIndex
[(0, 100), (0, 100), (0, 100), (1, 101)]
मैं सिद्धांत रूप से कैल में कर सकता था एल unique
उन्हें हटाने के लिए। हालांकि यह सही दृष्टिकोण नहीं दिखता है। क्या कोई और सीधी विधि है?
एक और विचार उसी वर्ग के ऑब्जेक्ट को वापस करने के लिए अद्वितीय हो सकता है। –
धन्यवाद, हालांकि मुझे आश्चर्य है कि कोई बेहतर समाधान है, जिसके लिए 'अद्वितीय' चलने की आवश्यकता नहीं है जो कि बहुत महंगा है। आखिर में मैं किसी भी तरह से 'मल्टीइंडेक्स' में 3 के 2 स्तर निकालने के लिए, एक नई वस्तु नहीं बनाना चाहता हूं। –
अद्वितीय वास्तव में यहां बहुत तेज़ है; आपका अंतिम लक्ष्य क्या है? – Jeff