Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.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 神秘轴0和1方向_Python_Numpy - Fatal编程技术网

Python 神秘轴0和1方向

Python 神秘轴0和1方向,python,numpy,Python,Numpy,在遵循numpy一章中的“Python for data analysis”之后,遇到这样一个示例 #+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.7572878

在遵循numpy一章中的“Python for data analysis”之后,遇到这样一个示例

#+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]]
它说

mean和sum等函数采用可选轴参数,该参数计算给定轴上的统计信息,从而生成一个维度更少的数组:

然后这本书解释说

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

我想麦金尼先生用相反的方式做了一个完美的解释

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


我的理解有问题吗?

沿某个轴做意味着沿该轴减小过大尺寸。 因此:

第一个沿轴=0减少外一个,或者如你们所说的“垂直”,并返回[1+4,2+5,3+6]


第二个是沿着每一行[1+2+3,4+5+6]重复出现的[p>我认为“跨越”这个词太模糊了,不太清楚,因为可以用两种方式来理解它。当使用2d数组时,这些对
轴的解释可能会令人困惑。在轴为0的一维阵列或仅减少3个轴中的一个轴的三维阵列中,更容易描绘发生的情况。有时,添加
keepdims=True
参数会有所帮助。1d数组是轴=0还是轴=1?默认情况下,应垂直查看阵列还是水平查看阵列@hpauljA 1d阵列只有一个轴。该轴上的平均值或总和将数组减少为标量(可以认为是0d数组)。ok lol这取决于如何查看矩阵,行通常是水平的::“arr.sum(0)表示计算垂直方向跨列的行arr.Mean(1)表示水平方向沿行”查看矩阵的显示,我认为答案证明它是错误的。是的,这本书中的内容是错误的,但有时在旧文献中,尤其是在旧文献中,您可以看到行和列交换
#+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]
import numpy as np



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


print(arr.sum(axis = 0))

print(arr.sum(axis = 1))