【发布时间】:2018-05-11 14:01:33
【问题描述】:
我有相当大的数组来填充矩阵(大约5e6 元素)。我知道快速填充的方法类似于
(简化示例)
bbb = (np.array([1,2,3,4,1])) # row
ccc = (np.array([0,1,2,1,0])) # column
ddd = (np.array([55.5,22.2,33.3,44.4,11.1])) # values
experiment = np.zeros(shape=(5,3))
experiment[bbb, ccc] = [ddd] # filling
>[[ 0. 0. 0. ]
[ 11.1 0. 0. ]
[ 0. 22.2 0. ]
[ 0. 0. 33.3]
[ 0. 44.4 0. ]]
但如果我想要最大的ddd。类似于# filling
#pseudocode
experiment[bbb, ccc] = [ddd if ddd > experiment[bbb, ccc]]
矩阵应该返回
>[[ 0. 0. 0. ]
[ 55.5 0. 0. ]
[ 0. 22.2 0. ]
[ 0. 0. 33.3]
[ 0. 44.4 0. ]]
这里有什么好的快速方法可以从 np.array 中获取 max 来填充矩阵?
【问题讨论】:
-
我不明白你在做什么。你是如何得出最后一个矩阵的?
标签: python arrays python-2.7 numpy matrix