我有一个带有一堆整数值的数据框。然后,我计算列的总计并将其作为新行附加到数据框。到目前为止一切顺利。
现在,我想追加另一个计算行,其中每个单元格的值是上方单元格和左侧单元格的总和。您可以在下面看到我的意思:
----------------------------------------------------------------
|250000 |0 |145000 |145000 |220000 |165000 |145000 |145000 |
----------------------------------------------------------------
|250000 |250000 |395000 |540000 |760000 |925000 |1070000|1215000 |
----------------------------------------------------------------
这怎么办?任何帮助将不胜感激。
答案 0 :(得分:0)
我认为您需要Series.cumsum
,并在DataFrame.iloc
之前选择最后一行(总行):
df = pd.DataFrame({
'B':[4,5,4],
'C':[7,8,9],
'D':[1,3,5],
'E':[5,3,6],
})
df.loc['sum'] = df.sum()
df.loc['cumsum'] = df.iloc[-1].cumsum()
#if need only cumsum row
#df.loc['cumsum'] = df.sum().cumsum()
print (df)
B C D E
0 4 7 1 5
1 5 8 3 3
2 4 9 5 6
sum 13 24 9 14
cumsum 13 37 46 60