我在pandas中有一个数据帧,如下所示。我试图添加一行row-name =" Total&#34 ;,这是每列的总和。我使用以下代码: df.loc [" Total"] = df.sum(axis = 1)
我将NaN作为每列的总和。知道为什么以及如何解决它?
答案 0 :(得分:1)
使用:
df.loc["Total"] = df.sum()
或者如果需要将列的第一个字符串值转换为float:
df.loc["Total"] = df.astype(float).sum()
样品:
df = pd.DataFrame({'A':[1,2,3],
'B':[4,5,6],
'C':[7,8,9],
'D':[1,3,5],
'E':[5,3,6],
'F':[7,4,3]})
print (df)
A B C D E F
0 1 4 7 1 5 7
1 2 5 8 3 3 4
2 3 6 9 5 6 3
df.loc["Total"] = df.sum()
print (df)
A B C D E F
0 1 4 7 1 5 7
1 2 5 8 3 3 4
2 3 6 9 5 6 3
Total 6 15 24 9 14 14