Я хотел бы полностью удалить уровень из 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
, чтобы удалить их. Однако это не выглядит правильным.
Есть ли более прямой метод?