使用 Python 求和数组中非零元素的倒数

Summation of inverse of non-zero elements in array using Python

我想获得一个新矩阵,计算每行非零元素的逆矩阵之和。附上所需的输出。

import numpy as np
A=np.array([[1,2,0],[4,0,6],[0,8,9]])

期望的输出:

array([[(1/1) + (1/2),
(1/4)+(1/6),
(1/8)+(1/9)]])

运行:

result = np.divide(1, A, where=A != 0).sum(1)

结果是:

array([1.5       , 0.41666667, 0.23611111])

详情:

np.divide(1, A, where=A != 0)

计算每个元素的“条件”逆。

实际上 1 / A(对于每个元素)仅针对元素计算!= 0。

最后一步是对每一行的中间结果求和。