У меня есть многоиндексный df, подобный этому:
foo bar now
2018-01-01 row1 0 1 2
row2 3 4 5
row3 6 7 8
row4 9 10 11
2018-01-02 row1 12 13 14
row2 15 16 17
row3 18 19 20
row4 21 22 23
2018-01-03 row1 24 25 26
row2 27 28 29
row3 30 31 32
row4 33 34 35
Я хотел бы добавить новую строку5 со значениями из расчета, выполненного с использованием других строк уровня 1, например: строка1 * строка3.
Результат шага расчета должен быть:
foo bar now
2018-01-01 row5 0 7 16
2018-01-02 row5 etc..
2018-01-03 row5 etc..
И после добавления новых строк к оригиналу результирующий df будет выглядеть так:
foo bar now
2018-01-01 row1 0 1 2
row2 3 4 5
row3 6 7 8
row4 9 10 11
row5 0 7 16
2018-01-02 row1 12 13 14
row2 15 16 17
row3 18 19 20
row4 21 22 23
row5 etc...
2018-01-03 row1 24 25 26
row2 27 28 29
row3 30 31 32
row4 33 34 35
row5 etc...
Я могу получить вычисление для вывода значений по всем строкам таким образом, но это не то, что мне нужно:
df.loc[pd.IndexSlice[:,:], :] * df.loc[pd.IndexSlice[:,:], :]
Я не думаю, что вещание будет работать, поэтому я собиралсяпопробовать цикл, но я не смог заставить вычисления работать (возвращает df со строками row1 и row3 как все NaN):
df.loc[pd.IndexSlice['2018-01-01', 'row1'], :] * df.loc[pd.IndexSlice['2018-01-01', 'row3'], :]
Заранее спасибо за любые решения,советы, ресурсы для ссылки:)