我有一组数据框,想添加一个总行,只对其中一列求和(下表示例)
我可以使用 df.loc['Total']= df.sum() 或什至 df.loc['Total'] = [df[x] 添加总计列.sum() for x in df.columns],但是我需要除 A 之外的所有列都显示空白,并且语法存在一些问题。
Item A B C D E F
1 1 2 3 4 5 6
2 5 10 15 20 25 30
3 10 20 30 40 50 60
4 5 15 25 35 45 55
Total 21
感谢任何帮助,谢谢
请您参考如下方法:
我认为您需要为总和选择列,然后为输出指定列:
df.loc['Total', 'A']= df['A'].sum()
print (df)
Item A B C D E F
0 1.0 1.0 2.0 3.0 4.0 5.0 6.0
1 2.0 5.0 10.0 15.0 20.0 25.0 30.0
2 3.0 10.0 20.0 30.0 40.0 50.0 60.0
3 4.0 5.0 15.0 25.0 35.0 45.0 55.0
Total NaN 21.0 NaN NaN NaN NaN NaN
将 NaN 替换为空白是可能的,但得到混合类型 - 带有字符串的数字和一些函数应该失败:
df.loc['Total'] = df[['A']].sum().reindex(df.columns, fill_value='')
print (df)
Item A B C D E F
0 1 1 2 3 4 5 6
1 2 5 10 15 20 25 30
2 3 10 20 30 40 50 60
3 4 5 15 25 35 45 55
Total 21
如果需要将值附加到 2 列需要分配值列表:
df.loc[len(df), ['Item','A']]= ['Total', df['A'].sum()]
print (df)
Item A B C D E F
0 1 1.0 2.0 3.0 4.0 5.0 6.0
1 2 5.0 10.0 15.0 20.0 25.0 30.0
2 3 10.0 20.0 30.0 40.0 50.0 60.0
3 4 5.0 15.0 25.0 35.0 45.0 55.0
4 Total 21.0 NaN NaN NaN NaN NaN
