How does the axis parameter from NumPy work?

前端 未结 6 1300
野的像风
野的像风 2020-12-02 08:49

Can someone explain exactly what the axis parameter in NumPy does?

I am terribly confused.

I\'m trying to use the function myArray.sum(ax

6条回答
  •  谎友^
    谎友^ (楼主)
    2020-12-02 09:25

    Some answers are too specific or do not address the main source of confusion. This answer attempts to provide a more general but simple explanation of the concept, with a simple example.

    The main source of confusion is related to expressions such as "Axis along which the means are computed", which is the documentation of the argument axis of the numpy.mean function. What the heck does "along which" even mean here? "Along which" essentially means that you will sum the rows (and divide by the number of rows, given that we are computing the mean), if the axis is 0, and the columns, if the axis is 1. In the case of axis is 0 (or 1), the rows can be scalars or vectors or even other multi-dimensional arrays.

    In [1]: import numpy as np
    
    In [2]: a=np.array([[1, 2], [3, 4]])
    
    In [3]: a
    Out[3]: 
    array([[1, 2],
           [3, 4]])
    
    In [4]: np.mean(a, axis=0)
    Out[4]: array([2., 3.])
    
    In [5]: np.mean(a, axis=1)
    Out[5]: array([1.5, 3.5])
    

    So, in the example above, np.mean(a, axis=0) returns array([2., 3.]) because (1 + 3)/2 = 2 and (2 + 4)/2 = 3. It returns an array of two numbers because it returns the mean of the rows for each column (and there are two columns).

提交回复
热议问题