1
我有一個多指標數據幀:添加水平對多指標數據幀
iterables = [['bar', 'baz', 'foo', 'qux'], ['one', 'two']]
Index = pd.MultiIndex.from_product(iterables, names=['first', 'second'])
s = pd.DataFrame(np.random.randn(8,2), index=Index)
它產生數據框如下:
0 1
first second
bar one 0.619602 -0.422137
two -0.372906 0.581697
baz one -0.968921 -0.014957
two -0.470649 -1.706410
foo one 0.834609 -0.600675
two 0.005306 0.109989
qux one -0.713642 -0.173100
two -1.155766 -0.365946
現在,根據多指標的「第二」的水平,我想補充「三」,並使其等於「一」和「二」之差
在下面,A1將等於1.674156 - ( - 1.061293)
A2將等於-1.380391 - ( - 0.620890)
是這樣的:
0 1
first second
bar one 1.674156 -1.380391
two -1.061293 -0.620890
three A1 A2
baz one 0.839065 -1.985679
two -2.086971 -1.415384
three
foo one -1.673192 -0.559783
two 0.135445 -1.101833
three
qux one -0.605042 1.814256
two 0.182851 -1.819808
three
我怎樣才能做到這一點? 我知道我可以摧毀level1,做diff,堆回來。 只是好奇任何更好的解決方案?
如果我的回答對您有所幫助,歡迎隨時給予好評以及。非常感謝。謝謝 – piRSquared