У меня есть DataFrame с 3 уровнями индекса, и мне нужно переиндексировать третий уровень без изменения первого и второго уровня.
У меня есть DataFrame, подобный этому:
tuples = [('A', 'a', 1), ('A', 'a', 3), ('A', 'b', 3), ('B', 'c', 1), ('B', 'c', 2), ('B', 'c', 3), ('C', 'd', 2)]
idx = pd.MultiIndex.from_tuples(tuples, names=['first', 'second', 'third'])
df = pd.DataFrame(np.random.randn(7, 2), index=idx, columns=['col1', 'col2'])
col1 col2
first second third
A a 1 -0.999816 -0.599815
3 -0.277794 -0.453870
b 3 1.116561 0.760010
B c 1 1.018475 -0.667625
2 0.695997 0.641531
3 0.593724 0.265256
C d 2 1.133767 0.716083
И я хотел бы, чтобы DataFrame был таким:
col1 col2
first second third
A a 1 -0.999816 -0.599815
2 0 0
3 -0.277794 -0.453870
b 1 0 0
2 0 0
3 1.116561 0.760010
B c 1 1.018475 -0.667625
2 0.695997 0.641531
3 0.593724 0.265256
C d 1 0 0
2 1.133767 0.716083
3 0 0
Я хочу, чтобы третий индекс был везде одинаковым