【发布时间】:2015-03-26 20:23:05
【问题描述】:
我有两个 numpy 数组,看起来像:
field = np.array([5,1,3,3,2,1,6])
counts = np.array([100,210,300,150,20,90,170])
它们没有排序(也不应该改变)。我现在想计算第三个数组(具有相同的长度和顺序),只要它们位于同一字段中,它就包含计数的总和。这里的结果应该是:
field_counts = np.array([100,300,450,450,20,300,170])
数组非常长,因此遍历它(并且总是查看相应的合作伙伴字段在哪里)效率太低了。也许我只是没有看到树木的树木......我希望有人可以帮助我!
【问题讨论】:
-
旁白:当您发现自己需要
groupby操作时,这通常表明您应该使用pandas而不是numpy;您的操作类似于df.groupby("field")["counts"].transform(sum)。
标签: python arrays numpy sum unique