我有这个数据框:
Data = {'name': ['a', 'b'],
'number1': [5, 3],
'number2': [3, 2]
}
df = pd.DataFrame(Data, columns = ['name','number1', 'number2'])
我想添加另一行,其中包含列 number1 和 number2 的总和。所以我想要的结果是这样的:
Data2 = {'name': ['a', 'b', 'total'],
'number1': [5, 3, 8],
'number2': [3, 2, 5]
}
df2 = pd.DataFrame(Data2, columns = ['name','number1', 'number2'])
我尝试了这个线程中提供的解决方案: Pandas dataframe total row
但是这一行
df.loc["Total"] = df.sum()
还对名称进行求和,所以最后我得到 Total 作为我的索引,在名称列中我得到一个值 ab(因为 a+b)。有没有办法得到一个看起来与我想要的结果完全一样的 df?
请您参考如下方法:
我正在使用 .loc
df.loc[df.index.max()+1]=['total']+df.sum().tolist()[1:]
df
Out[80]:
name number1 number2
0 a 5 3
1 b 3 2
2 total 8 5
