关于SciPy中的轴的令人困惑的文档

时间:2016-07-08 14:16:52

标签: python arrays numpy

以下摘录自SciPy documentation(截至2016年7月8日):

  沿着轴

     

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

     

可以沿其中一个轴进行许多操作。例如,我们可以对数组的每一行求和,在这种情况下,我们按列或轴1运算:

>>> x = np.arange(12).reshape((3,4))    
>>> x
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])

>>> x.sum(axis=1)
array([ 6, 22, 38])

我认为有一个错误,因为它们并不是所有行的总和,而是所有列,因此它们使用axis = 1因为它们遍历所有列(即沿轴1水平移动)并添加它们。

所以,我的问题是:这是文档中的错误还是我不明白Axi如何在SciPy中工作?

1 个答案:

答案 0 :(得分:3)

考虑这个例子。

>>> print(a)
[[ 0  1  2]
 [ 3  4  5]
 [ 6  7  8]
 [ 9 10 11]]

总结列:

>>> a.sum(axis=0)
array([18, 22, 26])

或者,总结一下行:

>>> a.sum(axis=1)
array([ 3, 12, 21, 30])

我希望这可以解除你的怀疑。

相关问题