Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在ndarray中按行/列计算特定元素?_Python_Python 3.x_Numpy_Numpy Ndarray - Fatal编程技术网

Python 如何在ndarray中按行/列计算特定元素?

Python 如何在ndarray中按行/列计算特定元素?,python,python-3.x,numpy,numpy-ndarray,Python,Python 3.x,Numpy,Numpy Ndarray,我有一个numpy阵列: [0, 0, 0, 1, 0, 1] [1, 0, 0, 0, 0, 1] [1, 0, 0, 0, 0, 1] 是否有任何numpy函数可以计算每行(或每列)中的0(或任何其他元素)?e、 g 对布尔屏蔽数组使用sum (arr == number).sum(1) 始终可以在最后重塑形状 >>> (arr == 0).sum(1).reshape(-1,1) array([[4], [4], [4]]) 通过执行比

我有一个numpy阵列:

[0, 0, 0, 1, 0, 1]
[1, 0, 0, 0, 0, 1]
[1, 0, 0, 0, 0, 1]
是否有任何numpy函数可以计算每行(或每列)中的0(或任何其他元素)?e、 g


对布尔屏蔽数组使用
sum

(arr == number).sum(1)

始终可以在最后重塑形状

>>> (arr == 0).sum(1).reshape(-1,1)
array([[4],
       [4],
       [4]])

通过执行比较
a==0
,numpy返回一个布尔值数组,当它们分别被解释为
True
False
的1和0时,您可以对其求和:

>A=np.array([
...     [0, 1, 0, 1, 0, 1],
...     [1, 0, 0, 0, 0, 1],
...     [1, 0, 0, 0, 0, 0],
... ])
>>>np.sum(A==0,轴=0)
数组([1,2,3,2,3,1])
>>>np.sum(A==0,轴=1)
数组([3,4,5])

您也可以使用
keepdims=1
代替重塑,为什么不使用
count\u nonzero
?呃。。。因为我自己从来没有真正使用过它P我稍后会更新答案以包含它,谢谢你的建议
>>> (arr == 0).sum(1)
array([4, 4, 4])

>>> (arr == 1).sum(1)
array([2, 2, 2])
>>> (arr == 0).sum(1).reshape(-1,1)
array([[4],
       [4],
       [4]])