python - Pandas - 根据另一个列表中的索引对列表中的值求和

标签 python arrays pandas list numpy

由于我要处理大量数据,所以我正在努力寻找最符合 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/

相关文章:

python - 空标签 ChoiceField Django

python - 如何在列表中按字母顺序取出最长的子串?

c - 指针数组作为函数参数

ios - 如何比较两个具有不同值的数组?

python - 相互查询 pandas

Python/线程/屏障 : Is this a correct usage of Barrier?

javascript - 使用 Javascript 验证数组中现有的键值

python - 带 Groupby 的数据透视表 - Pandas

Python:使用 ffill() 将数据帧从每日数据上采样到每小时数据

python - sys.path.append 不支持 os.system 命令?