Объединить два кадра данных на одном уровне мультииндекс - PullRequest
0 голосов
/ 06 октября 2019

Рассмотрим два кадра данных df_a и df_b. df_a имеет мультииндекс. df_b имеет регулярный индекс. Первый уровень мультииндекса df_a соответствует индексу df_b. Я хочу разделить (или добавить, вычесть или умножить) фрейм данных df_a с df_b, соответствующим первому уровню индекса df_a с индексом df_b.

import pandas
df_a = pd.DataFrame(data=[1,2,8,4],
                    index=pd.MultiIndex.from_product([['A', 'B'], [1, 2]]))
df_b = pd.DataFrame(data=[2, 4], index=['A', 'B'])

Операцияdf_a / df_b (после того, как кодирование необходимо) должно дать что-то вроде этого

A 1  .5  
  2  1
B 1  2
  2  1

1 Ответ

1 голос
/ 06 октября 2019

IIUC div с level

df_a.div(df_b,axis=0,level=0)
Out[30]: 
       0
A 1  0.5
  2  1.0
B 1  2.0
  2  1.0
...