我可以看到像
这样的东西print np.histogram([1, 2, 1], bins=[0, 1, 2, 3])
会产生
(array([0, 2, 1]), array([0, 1, 2, 3]))
但我想不计算[1,2,1],而是计算与之相关的相应值。
例如,理想情况下我会想要这样的东西:
print np.histogram([(1,100), (2,150), (1,300)], bins=[0, 1, 2, 3])
产生
(array([0, 400, 150]), array([0, 1, 2, 3]))
但它产生的结果与原始结果相同。
最好的方法是什么?
答案 0 :(得分:1)
您可以使用numpy.histogram
' weights
。
从原始数据开始
orig = [(1,100), (2,150), (1,300)]
将它拆分为:
keys = [key for (key, _) in orig]
weights = [weight for (_, weight) in orig]
然后运行
import numpy as np
np.histogram(keys, bins=bins, weights=weights)