神秘轴0和1方向

时间:2019-06-25 00:48:06

标签: python numpy

在遵循numpy章节中的“用于数据分析的Python”之后,遇到了这样的示例

#+BEGIN_SRC ipython :session my :export both :results output
arr = np.random.randn(5, 4)
print(arr)
#+END_SRC
#+RESULTS:
: [[-1.20142965 -0.65152972  2.04732169 -2.27351496]
:  [ 1.0054648  -1.75728785  0.00923428 -0.65533187]
:  [-2.1108598  -0.92347845  0.46443361 -0.48219059]
:  [ 0.77617699  0.40242098  1.09411003 -0.6431827 ]
:  [-0.59485821  1.22890193 -0.7498006   0.93518233]]

它表明

  

诸如均值和求和之类的函数采用一个可选的轴参数,该参数计算给定轴上的统计信息,从而得到一维数组:

#+BEGIN_SRC ipython :session my :export both :results output
print(arr.mean(axis=1))
print(arr.sum(axis=0))
#+END_SRC
#+RESULTS:
: [-0.51978816 -0.34948016 -0.76302381  0.40738132  0.20485636]
: [-2.12550586 -1.70097313  2.86529902 -3.11903779]

然后这本书解释了

  

在这里,arr.mean(1)表示“计算各列的平均值”,其中arr.sum(0)表示“计算各行的总和”。

我认为麦金尼先生做得很好,可以用相反的方式解释。

arr.sum(0)表示计算跨列的行
arr.mean(1)表示沿列或垂直方向向下排。

我的理解有问题吗?

1 个答案:

答案 0 :(得分:1)

沿某条轴做意味着减小沿其的尺寸。 所以:

import numpy as np



arr = np.array([[1,2,3] , 
                [4,5,6]])


print(arr.sum(axis = 0))

print(arr.sum(axis = 1))

第一个沿轴= 0减小您所说的外部1或“垂直”并返回[1 + 4、2 + 5、3 + 6]

第二行沿着[1 + 2 + 3,4 + 5 + 6]行