numpy.add.at:
>>> import numpy as np>>> A = np.array([1,2,3])>>> B = np.array([10,20,30])>>> I = np.array([0,1,1])>>> >>> np.add.at(A, I, B)>>> Aarray([11, 52, 3])
或者,
np.bincount:
>>> A = np.array([1,2,3])>>> B = np.array([10,20,30])>>> I = np.array([0,1,1])>>> >>> A += np.bincount(I, B, minlength=A.size).astype(int)>>> Aarray([11, 52, 3])
哪个更快?
依靠。在这个具体示例中,
add.at速度似乎稍快一些,大概是因为我们需要在
bincount解决方案中转换类型。
如果OTOH
A并
B为
floatD类,然后
bincount会更快。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)