Python 对行的非零元素执行numpy乘积
我有一个2d数组Python 对行的非零元素执行numpy乘积,python,numpy,Python,Numpy,我有一个2d数组r。我想做的是取每行的乘积(不包括该行中的零元素)。例如,如果我有: r = [[1 2 0 3 4], [0 2 5 0 1], [1 2 3 4 0]] 然后我想要的是另一个2d数组结果,这样: result = [[24], [10], [24]] 如何使用numpy.prod实现这一点?我想我已经解决了: np.prod(r, axis = 1, where = r > 0, keepdims = Tr
r
。我想做的是取每行的乘积(不包括该行中的零元素)。例如,如果我有:
r = [[1 2 0 3 4],
[0 2 5 0 1],
[1 2 3 4 0]]
然后我想要的是另一个2d数组结果
,这样:
result = [[24],
[10],
[24]]
如何使用numpy.prod实现这一点?我想我已经解决了:
np.prod(r, axis = 1, where = r > 0, keepdims = True)
输出:
array([[24],
[10],
[24]])
您可以这样做:
np.prod(r+(r==0),axis=1)