Умножьте две серии на MultiIndex в пандах

Я пытаюсь умножить дваSeriesоба с: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"])
tuples = [(0, 100), (1, 101)]
index_2levels=pd.MultiIndex.from_tuples(tuples,names=["l1","l2"])
data_3levels = pd.Series(1, index=index_3levels)
data_2levels = pd.Series([2,3], index=index_2levels)
print data_3levels  
l1  l2   l3  
0   100  1000    1
         1001    1
         1002    1
1   101  1001    1
dtype: int64
print data_2levels
l1  l2 
0   100    2
1   101    3
dtype: int64

Проблема в том, что я не могу переиндексироватьSeries от 2 до 3 уровней:

data_2levels.reindex(data_3levels.index, level=["l1","l2"])
Exception: Join on level between two MultiIndex objects is ambiguous

Я нашел этот обходной путь:

for l1 in [0,1]:
    data_3levels[l1] *= data_2levels[l1].reindex(data_3levels[l1].index, level="l2")
print data_3levels
l1  l2   l3  
0   100  1000    2
         1001    2
         1002    2
1   101  1001    3
dtype: int64

Но я думаю, что должен быть способ выполнить эту операцию всего за 1 шаг.

Ответы на вопрос(2)

Ваш ответ на вопрос