Python 字符串列中以逗号分隔的整数和
我有一个熊猫数据框,其中一列为类型字符串,如下所示:Python 字符串列中以逗号分隔的整数和,python,pandas,Python,Pandas,我有一个熊猫数据框,其中一列为类型字符串,如下所示: 1 1 2 3,1 3 1 4 1 5 2,1,2 6 1 7 1 8 1 9 1 10 4,3,1 我想对所有由逗号分隔的整数求和,结果是: 1 1 2 4 3 1 4 1 5 5 6 1 7
1 1
2 3,1
3 1
4 1
5 2,1,2
6 1
7 1
8 1
9 1
10 4,3,1
我想对所有由逗号分隔的整数求和,结果是:
1 1
2 4
3 1
4 1
5 5
6 1
7 1
8 1
9 1
10 8
到目前为止,我的努力是:
qty = []
for i in df['Qty']:
i = i.split(",")
i = sum(i)
qty.append(i)
df['Qty'] = qty
尽管如此,我还是得到了一个错误:
TypeError: cannot perform reduce with flexible type
使用列上的
apply
执行df['B']。应用(lambda x:sum(map(int,x.split(',')))
In [81]: df
Out[81]:
A B
0 1 1
1 2 3,1
2 3 1
3 4 1
4 5 2,1,2
5 6 1
6 7 1
7 8 1
8 9 1
9 10 4,3,1
In [82]: df['B'].apply(lambda x: sum(map(int, x.split(','))))
Out[82]:
0 1
1 4
2 1
3 1
4 5
5 1
6 1
7 1
8 1
9 8
Name: B, dtype: int64