我想同时沿scipy.sparse矩阵X
的轴取argmax和max
>>> type(X)
scipy.sparse.csr.csr_matrix
>>> idx = X.argmax(axis=0)
>>> maxes = X.max(axis=0)
我不想两次计算最大值,但是我不能像这样X
是一个np.ndarray那样使用same approach。如何将argmax中的索引应用于X
?
答案 0 :(得分:1)
我设法实现了您想要调整链接方法的结果:
from scipy.sparse import csr_matrix
a = [[4, 0, 0], [0, 3, 0], [0, 0, 1]]
a = csr_matrix(a)
idx = a.argmax(axis=0)
m = a.shape[1]
a[idx,np.arange(m)[None,:]].toarray()
输出:
array([[4, 3, 1]], dtype=int32)