Numpy数组自身加和与乘积运算
本节介绍数组自身的加乘。自身的加乘是指对数组内部的元素求和及求乘积,比如计算所有行的和,或者计算所有列的和。其方向仍然由 axis 参数设定。示例代码如下。
声明:《Python系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
In [1]: import numpy as np In [2]: a=np.array([[1,2,3], ...: [4,5,6], ...: [7,8,9]])
1. prod()函数
我们可以按列求乘积,即计算每一列的乘积。比如在 a 数组中,可以分别计算第 0 列、第1列和第 2 列的乘积,只需要调用 prod 方法,然后指定 axis 为 0 即可。可以看到最后的结果是 array([28,80,162]),28 即 1×4×7,80 即 2×5×8,162 即 3×6×9。
当然,还可以计算每一行的乘积,只需指定参数 axis 为 1 即可。
我们还可以指定 axis=None 来计算所有元素的乘积。
In [3]: np.prod(a,axis=0) # 按列计算乘积 Out[3]: array([ 28, 80, 162]) In [4]: np.prod(a,axis=1) # 按行计算乘积 Out[4]: array([ 6, 120, 504]) In [5]: np.prod(a,axis=None) # 整体计算乘积 Out[5]: 362880
2. cumprod()函数
cumprod 方法用来计算累积,可以通过指定 axis 来计算行或列的累积。In [6]: np.cumprod(a,axis=0) # 按行计算累积 Out[6]: array([[ 1, 2, 3], [ 4, 10, 18], [ 28, 80, 162]], dtype=int32) In [7]: np.cumprod(a,axis=1) # 按列计算累积 Out[7]: array([[ 1, 2, 6], [ 4, 20, 120], [ 7, 56, 504]], dtype=int32) In [8]: np.cumprod(a,axis=None) # 整体计算累积 Out[8]: array([ 1, 2, 6, 24, 120, 720, 5040, 40320, 362880], dtype=int32)
3. sum()函数
sum 函数用来计算元素的和,可以合理利用 axis 方法按行、列和整体分别计算和。In [9]: np.sum(a,axis=0) # 按列计算和 Out[9]: array([12, 15, 18]) In [10]: np.sum(a,axis=1) # 按行计算和 Out[10]: array([ 6, 15, 24]) In [11]: np.sum(a,axis=None) # 整体计算和 Out[11]: 45
4. cumsum()函数
类似于 cumprod 计算累积,cumsum 也可以计算累加,当然 axis 参数的指定仍然是其重点。In [12]: np.cumsum(a,axis=0) # 按行计算累加 Out[12]: array([[ 1, 2, 3], [ 5, 7, 9], [12, 15, 18]], dtype=int32) In [13]: np.cumsum(a,axis=1) # 按列计算累加 Out[13]: array([[ 1, 3, 6], [ 4, 9, 15], [ 7, 15, 24]], dtype=int32) In [14]: np.cumsum(a,axis=None) # 整体计算累加 Out[14]: array([ 1, 3, 6, 10, 15, 21, 28, 36, 45], dtype=int32)
声明:《Python系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。