[英]How to sum up values from an integer column of a pandas dataframe for each element of a list column?
[英]How to sum up each element in array list?
有一点写出代码。
例如,如果我有一个数组:
a = ([0, 0, 1, 2], [0, 1, 1, 0], [0, 0, 1, 0], [1, 0, 1, 3], [0, 1, 1, 3])
如果我想添加每个项目的第一个元素,
如在返回 0 + 0 + 0 + 1 + 0, 0 + 1 + 0, 0 + 0 ...
我写的代码:
def test(lst):
sum = 0
test_lst = []
i = 0
while i in range(0, 4):
for j in range(0, len(lst)):
sum += lst[j][i]
test_lst.append(sum)
i += 1
return test_lst
我得到索引大小错误。 我该怎么办?
sum(zip(*a)[0])
zip
是一个函数,它接受任意数量的 n 个长度的序列并返回 n 个元组(除其他外)。 这些元组中的第一个具有传递给zip
的元组中最先出现的元素。 sum
将它们加在一起。
编辑:
在 Python 3 中,上述方法不起作用。 用:
sum(next(zip(*a)))
反而。 对于所有这些款项,
map(sum, zip(*a))
a = ([0, 0, 1, 2], [0, 1, 1, 0], [0, 0, 1, 0], [1, 0, 1, 3], [0, 1, 1, 3])
尝试使用列表推导式:
sum([item[0] for item in a])
上面的行获取元组中每个列表的第一个元素,然后将其放入一个临时列表中。 然后我们在那个临时列表上调用 sum,它产生了答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.