numpy.cumsum方法介绍

numpy.cumsum 是 NumPy 中的一个方法,用于计算数组元素的累积和(cumulative sum)。它沿着指定轴对元素进行逐个累加,生成一个新的数组,表示每个位置的累加结果。

语法:

numpy.cumsum(a, axis=None, dtype=None, out=None)

参数说明:

  • a:输入数组。
  • axis:累加的轴,默认是沿平坦数组(即把数组展平成一维数组)进行累加。如果指定轴,则沿该轴进行累加。
  • dtype:累加时使用的数据类型,默认使用输入数组的类型。如果指定了 dtype,则会将累加的结果转换为该类型。
  • out:用于存储输出结果的数组,必须与输入数组形状相同。

返回值:

返回一个与输入数组 a 形状相同的数组,包含累积和的结果。

示例代码:

1. 一维数组的累积和:
import numpy as np

a = np.array([1, 2, 3, 4])
result = np.cumsum(a)
print(result)  # [ 1  3  6 10]

在这个例子中,累积和的计算过程为:[1, 1+2, 1+2+3, 1+2+3+4],即 [1, 3, 6, 10]

2. 二维数组的累积和:
import numpy as np

a = np.array([[1, 2, 3], [4, 5, 6]])
result = np.cumsum(a)
print(result)
# [ 1  3  6 10 15 21]

默认情况下,np.cumsum 会将二维数组展平为一维数组进行累加。

3. 指定轴进行累积和:
import numpy as np

a = np.array([[1, 2, 3], [4, 5, 6]])
result_axis0 = np.cumsum(a, axis=0)  # 沿着 axis=0 进行累加
result_axis1 = np.cumsum(a, axis=1)  # 沿着 axis=1 进行累加

print(result_axis0)
# [[ 1  2  3]
#  [ 5  7  9]]

print(result_axis1)
# [[ 1  3  6]
#  [ 4  9 15]]
  • axis=0:沿着行的方向(垂直方向)累加。每一列的元素依次相加。
  • axis=1:沿着列的方向(水平方向)累加。每一行的元素依次相加。
4. 使用 dtype 参数:

你可以使用 dtype 参数来指定累积和的输出类型。例如,如果数组是 int 类型,你可以指定 dtype 为 float,这样累积结果会是浮点数。

import numpy as np

a = np.array([1, 2, 3], dtype=int)
result = np.cumsum(a, dtype=float)
print(result)  # [ 1.  3.  6.]
5. 使用 out 参数:

你可以使用 out 参数来将累积和的结果存储到一个现有的数组中:

import numpy as np

a = np.array([1, 2, 3])
out = np.zeros_like(a)
np.cumsum(a, out=out)
print(out)  # [ 1  3  6]

总结:

np.cumsum 是一个用于计算累积和的有用函数,支持灵活的轴和数据类型选择,非常适合用于各种数据处理和分析场景。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值