【发布时间】:2021-08-11 12:56:25
【问题描述】:
我想添加一列,返回数据框中每一行的每个数字的总和。 这是我的代码和显示的错误:
import pandas as pd
serie = pd.DataFrame({'num':[133,2342,313,4495,4939,19081993,80]})
serie['sum_num'] = sum(map(int,str(serie['num'])))
错误:
--------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-65-549615926d0b> in <module>
----> 1 serie['sum_num'] = sum(map(int,str(serie['num'])))
ValueError: invalid literal for int() with base 10: ' '
你能帮帮我吗?
【问题讨论】:
-
serie['sum_num'] = serie['num'].sum()应该可以解决问题 -
如果你只是想看一些系列,那就是
sum(serie['num'])或serie['num'].sum()。但我不清楚你是否真的需要它——map(int,str(...))部分似乎很荒谬,而且“每一行的每个数字的总和”也不是那么清楚。你能为这个例子提供所需的输出吗? -
我想我没有说清楚。例如对于我的数据框的第一列 ['num'] = 133,我想要列 ['sum_num'] = 1 + 3 + 3 = 7
标签: python dataframe sum series