Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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 如何操作2D numpy数组所有列的逻辑运算_Python_Numpy - Fatal编程技术网

Python 如何操作2D numpy数组所有列的逻辑运算

Python 如何操作2D numpy数组所有列的逻辑运算,python,numpy,Python,Numpy,假设我有以下由四行三列组成的2DNumPy数组: >>> a = numpy.array([[True, False],[False, False], [True, False]]) >>> array([[ True, False], [False, False], [ True, False]], dtype=bool) 生成包含逻辑或所有列(如[True,False])的1D数组的有效方法是什么 我在网上搜索,发现有人引用了

假设我有以下由四行三列组成的
2D
NumPy
数组:

>>> a = numpy.array([[True, False],[False, False], [True, False]])
>>> array([[ True, False],
       [False, False],
       [ True, False]], dtype=bool)
生成包含逻辑或所有列(如
[True,False]
)的
1D
数组的有效方法是什么

我在网上搜索,发现有人引用了
sum(axis=)
来计算
sum


我想知道是否有类似的逻辑运算方法?

是的,有。使用
任何

>>> a = np.array([[True, False],[False, False], [True, False]])
>>> a
array([[ True, False],
       [False, False],
       [ True, False]], dtype=bool)
>>> a.any(axis=0)
array([ True, False], dtype=bool)
注意将参数
轴更改为
1
时会发生什么:

>>> a.any(axis=1)
array([ True, False,  True], dtype=bool)
>>> 
如果需要逻辑和,请使用
all

>>> b.all(axis=0)
array([False, False], dtype=bool)
>>> b.all(axis=1)
array([ True, False, False], dtype=bool)
>>> 
还请注意,如果省略
关键字参数,则它适用于每个元素:

>>> a.any()
True
>>> a.all()
False
NumPy还有一个类似于Python的函数。它可以和NumPy的一起使用。例如:

>>> a = np.array([[True, False],[False, False], [True, False]])
>>> a
array([[ True, False],
       [False, False],
       [ True, False]])
>>> np.logical_or.reduce(a)
array([ True, False])
>>> np.logical_and.reduce(a)
array([False, False])
它还有
参数:

>>> np.logical_or.reduce(a, axis=1)
array([ True, False,  True])
>>> np.logical_and.reduce(a, axis=1)
array([False, False, False])

reduce
的思想是,它将一个函数(在我们的例子中是
logical\u或
logical\u和
)累积应用于每一行或每一列。

看起来像是您忘记了在示例中包含
b
b=np.array([[True,True],[False,False],[True,False]])