数据框:根据上方的单元格和左侧的单元格计算的行

时间:2019-06-14 06:34:13

标签: python-3.x pandas dataframe

我有一个带有一堆整数值的数据框。然后,我计算列的总计并将其作为新行附加到数据框。到目前为止一切顺利。

现在,我想追加另一个计算行,其中每个单元格的值是上方单元格和左侧单元格的总和。您可以在下面看到我的意思:

 ----------------------------------------------------------------
|250000 |0      |145000 |145000 |220000 |165000 |145000 |145000  |
 ----------------------------------------------------------------
|250000 |250000 |395000 |540000 |760000 |925000 |1070000|1215000 |
 ----------------------------------------------------------------

这怎么办?任何帮助将不胜感激。

1 个答案:

答案 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