Python中的numpy.cumsum()

时间:2020-02-23 14:42:20  来源:igfitidea点击:

Python numpy cumsum()函数返回沿给定轴的元素的累积和。

Python numpy cumsum()语法

cumsum()方法的语法为:

cumsum(array, axis=None, dtype=None, out=None)
  • 数组可以是ndarray或者类似数组的对象,例如嵌套列表。

  • axis参数定义沿其计算累计总和的轴。
    如果未提供轴,则将数组展平,并为结果数组计算累计和。

  • dtype参数定义输出数据类型,例如float和int。

  • out可选参数用于指定结果数组。

Python numpy cumsum()示例

我们来看一些计算numpy数组元素的累加和的示例。

1.无轴的numpy数组元素的累积和

import numpy as np

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

total = np.cumsum(array1)
print(f'Cumulative Sum of all the elements is {total}')

输出:所有元素的总和为[1 3 6 10 15 21]

其中首先将数组展平为[1 2 3 4 5 6]。
然后,计算累加和,得出[1 3 6 10 15 21]。

2.沿轴的累计总和

import numpy as np

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

total_0_axis = np.cumsum(array1, axis=0)
print(f'Cumulative Sum of elements at 0-axis is:\n{total_0_axis}')

total_1_axis = np.cumsum(array1, axis=1)
print(f'Cumulative Sum of elements at 1-axis is:\n{total_1_axis}')

输出:

Cumulative Sum of elements at 0-axis is:
[[ 1  2]
 [ 4  6]
 [ 9 12]]
Cumulative Sum of elements at 1-axis is:
[[ 1  3]
 [ 3  7]
 [ 5 11]]

3.指定累积和数组的数据类型

import numpy as np

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

total_1_axis = np.cumsum(array1, axis=1, dtype=float)
print(f'Cumulative Sum of elements at 1-axis is:\n{total_1_axis}')

输出:

Cumulative Sum of elements at 1-axis is:
[[ 1.  3.]
 [ 3.  7.]
 [ 5. 11.]]