pandas:每列的总和产生NaN值?

时间:2016-08-08 16:04:29

标签: python pandas sum row

我在pandas中有一个数据帧,如下所示。我试图添加一行row-name =" Total&#34 ;,这是每列的总和。我使用以下代码: df.loc [" Total"] = df.sum(axis = 1)

我将NaN作为每列的总和。知道为什么以及如何解决它?

dataframe with "Total" row

1 个答案:

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