ja jak całkowicie usunąć poziomu ze MultiIndex
Usuwanie poziomu ze pand 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)]
ja do ekstrakcji 2 pierwszych poziomów osiągnąć:
print index_2levels
MultiIndex
[(0, 100), (1, 101)]
droplevel
kropli poziom, ale zachowuje duplikaty:
print index_3levels.droplevel("l3")
MultiIndex
[(0, 100), (0, 100), (0, 100), (1, 101)]
Mogłem w zasadzie cal l unique
, aby je usunąć. Jednak nie wygląda to na właściwe podejście. Czy istnieje bardziej bezpośrednia metoda?
Innym pomysłem może być ulepszenie unikalne dla obiektu powrotu tej samej klasy. –
Dzięki, ale zastanawiam się, czy istnieje lepsze rozwiązanie, które nie wymaga uruchomienia 'unique', co jest dość drogie. Poza tym po prostu chcę jakoś wyodrębnić 2 poziomy 3 w 'MultiIndex', nie tworzyć nowego obiektu. –
Unique jest tutaj dość szybki; jaki jest twój ostateczny cel? – Jeff