基本上,我正在寻找numpy原语,这些原语将实现以下用于循环的实现:
# for a matrix M
argmaxes = np.argmax(M,axis=1)
for i,arg in enumerate(argmaxes):
M[i,arg:] = M[i,arg]
有没有一种麻木的方式来做到这一点?
以下代码不使用for
循环,而是创建了多个形状与相同的中间数组M
。所以我不确定循环效率如何:
maxes = np.max(M, axis=1)
M = np.where(np.arange(M.shape[1]) > argmaxes[:,None],
maxes[:,None],
M)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句