我有一个2D numpy的阵列中,A
我想申请np.bincount()
到矩阵A
的每列,以产生另一种是由原始矩阵A
的每一列的bincounts的2D阵列B
。向量化numpy的bincount
我的问题是np.bincount()是一个类似于1d数组的函数。例如,它不是像B = A.max(axis=1)
这样的数组方法。
是否有一个更pythonic/numpythic的方式来产生这个B
阵列除了一个讨厌的for循环?
import numpy as np
states = 4
rows = 8
cols = 4
A = np.random.randint(0,states,(rows,cols))
B = np.zeros((states,cols))
for x in range(A.shape[1]):
B[:,x] = np.bincount(A[:,x])
注意apply_along_axis只是语法糖为一个for循环,并具有相同的性能特点。 –