numpy模块中的sum(axis)方法

时间:2021-11-18 07:01:10

1、sum函数声明

sum(a, axis=None, dtype=None, out=None, keepdims=<class 'numpy._globals._NoValue'>)

参数axis究竟是用来干嘛的?

2、实验

经过我的一些尝试,我发现以下规律:

(1) 如果axis=None那么就是对所有元素求和:

>>> np.sum([[0, 1], [0, 5], [2, 5]], axis=None)

这条语句执行后将会输出:13,把所有元素都进行求和了!

(2) 如果axis=0那么就是对所有在同一列的元素求和:

>>> np.sum([[0, 1], [0, 5], [2, 5]], axis=0)

这条语句执行后将会输出:array([ 2, 11]),把两列元素都进行求和了!

(3) 如果axis=1那么就是对所有在同一行的元素求和:

>>> np.sum([[0, 1], [0, 5], [2, 5]], axis=1)

这条语句执行后将会输出:array([1, 5, 7]),把三行元素都进行求和了!

(4)如果axis的值大于1呢?这样将会报错!!

>>> np.sum([[0, 1], [0, 5], [2, 5]], axis=2)

错误信息如下:

umpy.core._internal.AxisError: axis 2 is out of bounds for array of dimension 2

就是axis=2超出范围了!!!


如有不当之处欢迎指出!