Я работаю с мультииндексным pandas фреймом данных. Моя цель - объединить два столбца индекса в один, не разбиваясь на цепочку методов.
Пример:
A имеет следующий pandas фрейм данных:
In[1]: df
Out[1]:
value
year type color
2018 A red -0.236022
blue -1.030577
B red 1.197374
blue -0.496247
2019 A red -0.066938
blue 0.087585
B red -1.702598
blue 0.085282
Теперь я хочу выполнить цепочку методов для этого кадра данных. Где-то в середине этих методов я хочу объединить два столбца индекса в один. Например, я выполняю запрос (тип == A), а затем объединяю два столбца индекса (год и цвет) и затем умножаю (на 4). Все это без разрыва из цепочки:
df2 = df \
.query('type=="A"') \
.reset_index('type', drop=True) \
.combine_indexes(["year", "type"]) \ # <- this is what I'm missing
.multiply(4)
Требуемый вывод:
In[3]: df2
Out[3]:
value
year-color
2018-red -0.944089
2018-blue -4.122310
2019-red -0.267752
2019-blue 0.350339
В этом примере я создал метод 'Объединить_индексы'. Кто-нибудь знает, есть ли что-то подобное этому? Я знаю, как объединить два столбца индекса, но только если я вырвусь из цепочки. Мне нужно что-то совместимое с цепочкой.
Спасибо