您应该使用
sum:
Total = df['MyColumn'].sum()print (Total)319
然后
loc与配合使用
Series,在这种情况下,索引应设置为与需要求和的特定列相同:
df.loc['Total'] = pd.Series(df['MyColumn'].sum(), index = ['MyColumn'])print (df) X MyColumn Y Z0 A 84.0 13.0 69.01 B 76.0 77.0 127.02 C 28.0 69.0 16.03 D 28.0 28.0 31.04 E 19.0 20.0 85.05 F 84.0 193.0 70.0Total NaN 319.0 NaN NaN
因为如果传递标量,则将填充所有行的值:
df.loc['Total'] = df['MyColumn'].sum()print (df) X MyColumn Y Z0 A 84 13.0 69.01 B 76 77.0 127.02 C 28 69.0 16.03 D 28 28.0 31.04 E 19 20.0 85.05 F 84 193.0 70.0Total 319 319 319.0 319.0
另有两个解决方案
at,
ix请参见以下应用程序:
df.at['Total', 'MyColumn'] = df['MyColumn'].sum()print (df) X MyColumn Y Z0 A 84.0 13.0 69.01 B 76.0 77.0 127.02 C 28.0 69.0 16.03 D 28.0 28.0 31.04 E 19.0 20.0 85.05 F 84.0 193.0 70.0Total NaN 319.0 NaN NaN
df.ix['Total', 'MyColumn'] = df['MyColumn'].sum()print (df) X MyColumn Y Z0 A 84.0 13.0 69.01 B 76.0 77.0 127.02 C 28.0 69.0 16.03 D 28.0 28.0 31.04 E 19.0 20.0 85.05 F 84.0 193.0 70.0Total NaN 319.0 NaN NaN
注意: 自Pandas v0.20起,
ix已弃用。使用
loc或
iloc代替。



