由于我要处理大量数据,所以我正在努力寻找最符合 Python 风格的方法来在尽可能短的时间内解决我的问题。我的问题如下:
我有两个列表
a = [12,34,674,2,0,5,6,8]
b = ['foo','bar','bar','foo','foo','bar','foo','foo']
我想说 python:如果 'bar' 在 b 中,获取所有索引并将列表 a 中的所有值与这些索引相加。
这是我到目前为止所做的:
idx = [i for i, j in enumerate(a) if j == 'bar']
但后来我被堆叠了。我正在考虑使用一些有线 for 循环。你有什么想法吗?
最佳答案
使用numpy
:
import numpy as np
a = np.array(a)
b = np.array(b)
a[b == 'bar'].sum()
关于python - Pandas - 根据另一个列表中的索引对列表中的值求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55257323/