Скажем, у меня есть DataFrame с мультииндексных столбцов, как это:Как проверить, если столбец существует в панд мультииндексных
In [29]: df = pd.DataFrame([[0] * 8], columns = pd.MultiIndex.from_product(
[['a', 'b'], [1, 2], [2000, 2001]])
)
In [30]: df
Out[30]:
a b
1 2 1 2
2000 2001 2000 2001 2000 2001 2000 2001
0 0 0 0 0 0 0 0 0
In [46]: df.columns.levels
Out[46]: FrozenList([[u'a', u'b'], [1, 2], [2000, 2001]])
мне нужно знать, для всех значений уровня 0 и некоторого определенного значения уровня 1, каковы все существующие уникальные значения уровня 2 (скажем, DataFrame проходит через некоторый процесс, в котором для некоторых значений уровня 1 и уровня 0, уровень 2 отбрасывается). Самое лучшее, что я смог придумать до сих пор:
In [54]: level_1_val = 2
In [55]: cols_series = df.columns.to_series()
In [56]: cols_series[
....: cols_series.index.get_level_values(1) == level_1_val
....: ].index.get_level_values(2).unique()
array([2000, 2001])
Что может быть лучшим способом?