我有一个数据框
id|number
1|1
1|0
1|1
我希望新列中的数字总和如下:
id|number|sum
1|1|2
1|0|2
1|1|2
我正在使用:
df['sum'] = df['number'].sum()
但输出为:
id|number|sum
1|1|101
1|0|101
1|1|101
答案 0 :(得分:4)
您的列不是数字存在问题,因此连接值。
首先尝试通过astype
将列转换为integer
:
df['sum'] = df['number'].astype(int).sum()
..如果失败,因为某些非数字值使用to_numeric
和errors='coerce'
将其转换为NaN
s:
df['sum'] = pd.to_numeric(df['number'], errors='coerce').sum()