Вы можете переиндексировать MultiIndex
из исходных индексов кадра данных:
df.reindex(pd.MultiIndex.from_product(df.index.levels))
Пример:
idx = pd.MultiIndex.from_arrays([['a','a','a','b','b'],[1,2,3,2,3]])
df = pd.DataFrame(np.random.random(5), index=idx)
>>> df
0
a 1 0.354691
2 0.322138
3 0.195380
b 2 0.731177
3 0.912628
>>> df.reindex(pd.MultiIndex.from_product(df.index.levels))
0
a 1 0.354691
2 0.322138
3 0.195380
b 1 NaN
2 0.731177
3 0.912628