首页 > 解决方案 > 熊猫:添加新的计算(分数)行

问题描述

我的数据框:

  A    B     C   D
0 425  23    765 765
1 543  43552 654 878
2 67   543   675 76

我想创建第四行,它是通过将 0 和 1 行的值相加并将其除以 3 行来计算的。怎么做?

标签: pythonpandas

解决方案


用于DataFrame.loc按索引选择行,sum最后除以div

df.loc[3, :] = df.loc[:1].sum().div(df.loc[2])
#if need specify 0,1 row index
#df.loc[3, :] = df.loc[[0,1]].sum().div(df.loc[2])
print (df)
            A             B           C           D
0  425.000000     23.000000  765.000000  765.000000
1  543.000000  43552.000000  654.000000  878.000000
2   67.000000    543.000000  675.000000   76.000000
3   14.447761     80.248619    2.102222   21.618421

如有必要,按位置选择并添加最后一行使用DataFrame.iloc

df.loc[len(df), :] = df.iloc[[0,1]].sum().div(df.iloc[2])
print (df)
            A             B           C           D
0  425.000000     23.000000  765.000000  765.000000
1  543.000000  43552.000000  654.000000  878.000000
2   67.000000    543.000000  675.000000   76.000000
3   14.447761     80.248619    2.102222   21.618421

推荐阅读