Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.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 numpy.all轴参数错误行为?_Python_Numpy_Axis - Fatal编程技术网

Python numpy.all轴参数错误行为?

Python numpy.all轴参数错误行为?,python,numpy,axis,Python,Numpy,Axis,我有一个如下数组 a = np.array([[0, 5, 0, 5], [0, 9, 0, 9]]) >>>a.shape Out[72]: (2, 4) >>>np.all(a,axis=0) Out[69]: array([False, True, False, True], dtype=bool) >>>np.all(a,axis=1) Out[70]: array([False, False

我有一个如下数组

a = np.array([[0, 5, 0, 5],
              [0, 9, 0, 9]])
>>>a.shape 
Out[72]: (2, 4)

>>>np.all(a,axis=0)
Out[69]: 
array([False,  True, False,  True], dtype=bool)

>>>np.all(a,axis=1)
Out[70]: 
array([False, False], dtype=bool)
因为轴0表示二维数组中的第一个轴(行方向)

我希望当
np.all(a,axis=0)
给定时,它会检查每行的所有元素是否为真

但它看起来像是检查每列的,因为它将输出为4个元素,如
数组([False,True,False,True],dtype=bool)


我对np.all函数有什么误解?

axis=0
意味着沿着轴0将元素一起,因此
a[0,0]
a[1,0]
进行AND运算,
a[0,1]
a[1,1]
进行AND运算,等等。指定的轴被折叠

您可能认为需要
np.all(a[0])
np.all(a[1])
等,通过沿轴0索引并对每个子阵列执行
np.all
来选择子阵列。这与它的工作原理相反;这将折叠除指定轴之外的每个轴


对于2D数组,一种约定与另一种约定相比没有多大优势,但是对于3D和更高版本,NumPy选择的约定更有用。

axis=0
意味着沿着轴0和元素一起,因此
a[0,0]
a[1,0]
a[0,1]
与[1,1]等进行AND运算。指定的轴将折叠

您可能认为需要
np.all(a[0])
np.all(a[1])
等,通过沿轴0索引并对每个子阵列执行
np.all
来选择子阵列。这与它的工作原理相反;这将折叠除指定轴之外的每个轴


对于二维阵列,一种约定相对于另一种约定没有多大优势,但对于三维及更高版本,NumPy选择的约定更有用。

axis=0
是二维的每列。轴从左开始为0,1,2,等等。我记得看到了一个很好的副本,但我找不到它。将
参数视为正在折叠的轴。当您通过轴=0时,您正在将所有行折叠为一行。-解释了“沿轴求和”的含义。
轴=0
是2D的每列。轴从左开始为0,1,2,等等。我记得看到了一个很好的副本,但我找不到它。将
参数视为正在折叠的轴。当您通过轴=0时,您正在将所有行折叠为一行。-解释了“沿轴求和”的含义。虽然有点晚了,但还是要谢谢你!。我终于明白了。!嗯,虽然有点晚了,但还是要谢谢你!。我终于明白了。!