Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.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行/列混淆_Python_Arrays_Numpy - Fatal编程技术网

Python行/列混淆

Python行/列混淆,python,arrays,numpy,Python,Arrays,Numpy,从这段代码可以清楚地看出,您传递的第一个列表([1,2,3])将成为2D数组的第一行,而不是第一列 >>> b = np.array([[1,2,3], [4,5,6], [7,8,9]]) >>> b[0,2] 3 为什么这不给我数组([6,15,24])?我将0设置为轴,表示行。第一行的总和是6,而不是12。来自: 轴是为具有多个维度的阵列定义的。二维数组有两个对应的轴:第一个轴垂直向下跨行(轴0),第二个轴水平跨列(轴1) 所以,如果您想在第一行求和,

从这段代码可以清楚地看出,您传递的第一个列表([1,2,3])将成为2D数组的第一行,而不是第一列

>>> b = np.array([[1,2,3], [4,5,6], [7,8,9]])
>>> b[0,2]
3
为什么这不给我数组([6,15,24])?我将0设置为轴,表示行。第一行的总和是6,而不是12。

来自:

轴是为具有多个维度的阵列定义的。二维数组有两个对应的轴:第一个轴垂直向下跨行(轴0),第二个轴水平跨列(轴1)

所以,如果您想在第一行求和,它将跨列,您需要将axis更改为1:

>>> np.apply_along_axis(sum, 0, b)
array([12, 15, 18])
也可以使用numpy数组的sum方法:

In [194]: np.apply_along_axis(sum, 1, b)
Out[194]: array([ 6, 15, 24])
好吧,我误解了“沿给定轴将函数应用于一维切片”(我不是母语人士,也许这就是原因)。我认为这意味着你沿着指定的轴走,并切掉一维向量(就像轴=0时的行):D非常感谢!
In [198]: b.sum(axis=1)
Out[198]: array([ 6, 15, 24])