我有一个二级索引...简化如下...
Raw Material Product Sold Quantity Consumed Total Sales
A B 40 100
C 40 200
D 40 300
Summary NaN NaN
实际df具有多种原材料,并且遵循与上述相同的结构。
我的预期结果是使摘要行(二级索引)显示在“消耗的数量”列下的最后一个观察值(40)和“销售总额”列的观察值之和(600):
Raw Material Product Sold Quantity Consumed Total Sales
A B 40 100
C 40 200
D 40 300
Summary 40 600
我尝试复制df并汇总以在(A和Summary)上进行合并,但是df的reset_index()在与字符串Summary的行相同的行中没有A,因此合并会带来零值。试图做fillna变成A,但这也不起作用。
提前谢谢!
答案 0 :(得分:1)
您可以使用ffill
,使Quantity Consumed
的最后一行显示您提到的最后一个观察值,并取sum
中值的Total Sales
以便更新summary
中的值:
df.iloc[:, 0] = df.iloc[:, 0].ffill()
df.iloc[[-1], -1] = df.iloc[:, -1].sum()
Quantity Consumed Total Sales
A B 40.0 100.0
C 40.0 200.0
D 40.0 300.0
Summary 40.0 600.0