【发布时间】:2019-10-31 01:30:52
【问题描述】:
例如,我有一个对称的 numpy 矩阵。
matrix([[0. , 0.125, 0.75 , 0. , 0. ],
[0.125, 0. , 0. , 0. , 0. ],
[0.75 , 0. , 0. , 0. , 0.375],
[0. , 0. , 0. , 0. , 1.2 ],
[0. , 0. , 0.375, 1.2 , 0. ]])
如果数组中的某个值大于零,是否可以将该值替换为给定行和列之和的乘积。例如,0.125 将被 0.109375 替换,因为 row_sum * col_sum = 0.125 *(0.125+0.75)=0.109375。
我知道它可以使用 for 循环来完成,但是是否可以使用标准 numpy 库来完成,因为我想避免 for 循环。
【问题讨论】:
-
怎么样? np。 matmul(np.ones(matrix.shape), 矩阵) * np.matmul(matrix, np.ones(matrix.shape))
标签: python-3.x numpy matrix