当前位置: 首页 > article >正文

【Pandas】pandas Series cumprod

Pandas2.2 Series

Computations descriptive stats

方法描述
Series.abs()用于计算 Series 中每个元素的绝对值
Series.all()用于检查 Series 中的所有元素是否都为 True 或非零值(对于数值型数据)
Series.any()用于检查 Series 中是否至少有一个元素为 True 或非零值(对于数值型数据)
Series.autocorr()用于计算 Series 的自相关系数
Series.between()用于检查 Series 中的每个元素是否在指定的两个值之间(包括边界值)
Series.clip()用于将 Series 中的元素限制在指定的上下限之间
Series.corr()用于计算两个 Series 之间的相关系数
Series.count()用于计算 Series 中非 NA/null 值的数量
Series.cov(other[, min_periods, ddof])用于计算两个 Series 之间的协方差
Series.cummax([axis, skipna])用于计算 Series 中元素的累积最大值
Series.cummin([axis, skipna])用于计算 Series 中元素的累积最小值
Series.cumprod([axis, skipna])用于计算 Series 中元素的累积乘积

pandas.Series.cumprod

pandas.Series.cumprod 方法用于计算 Series 中元素的累积乘积。它会遍历 Series 的每个元素,并在每个位置返回到目前为止的所有元素的乘积。缺失值(如 NaN)会被跳过,但在第一个非缺失值之前的位置,结果将保持为 NaN。

参数
  • axis: {0 or ‘index’}, 默认为 0
    • 只接受 0 或 ‘index’,因为 Series 只有一个轴。
  • skipna: bool, 默认为 True
    • 是否跳过缺失值(NaN)。如果为 False,则在遇到 NaN 时,累积乘积也将为 NaN。
  • *args, **kwargs: 其他参数,通常不需要指定。
返回值
  • Series: 包含累积乘积的新 Series
示例及结果
示例 1: 默认参数(skipna=True
import pandas as pd

# 创建一个包含一些数值和缺失值的 Series
s = pd.Series([1, 2, None, 3, 4, None, 5])

# 使用 cumprod 方法计算累积乘积,默认 skipna=True
cumprod_result = s.cumprod()

print(f"Original Series: {s}")
print(f"Cumulative Product (skipna=True): {cumprod_result}")
输出结果:
Original Series: 0    1.0
1    2.0
2    NaN
3    3.0
4    4.0
5    NaN
6    5.0
dtype: float64
Cumulative Product (skipna=True): 0      1.0
1      2.0
2      NaN
3      6.0
4     24.0
5      NaN
6    120.0
dtype: float64

在这个例子中,原始 Series s 包含一些数值和缺失值。使用 cumprod 方法后,返回的结果是一个新的 Series,其中每个位置的值是到该位置为止的所有元素的乘积。注意:

  • 在第一个非缺失值之前的位置(即索引 2),结果为 NaN。
  • 在索引 3 处,累积乘积为 6(1 * 2 * 3)。
  • 在索引 4 处,累积乘积为 24(1 * 2 * 3 * 4)。
  • 在索引 5 处,由于当前值为 NaN,累积乘积保持为上一个非缺失值的乘积(即 24)。
  • 最后,在索引 6 处,累积乘积更新为 120(1 * 2 * 3 * 4 * 5)。
示例 2: skipna=False
# 使用 cumprod 方法计算累积乘积,skipna=False
cumprod_result_no_skipna = s.cumprod(skipna=False)

print(f"Cumulative Product (skipna=False): {cumprod_result_no_skipna}")
输出结果:
Cumulative Product (skipna=False): 0    1.0
1    2.0
2    NaN
3    NaN
4    NaN
5    NaN
6    NaN
dtype: float64

在这个示例中,当 skipna=False 时,累积乘积在遇到第一个 NaN 后将保持为 NaN。

总结
  • axis: 对于 Series,axis 参数默认为 0 或 ‘index’,且不能更改。
  • skipna: 控制是否跳过 NaN 值,默认为 True。

希望这能帮助你更好地理解 Series.cumprod 方法的参数和行为。


http://www.kler.cn/a/525845.html

相关文章:

  • 【美】H1B、F1、CPT、Day 1 CPT、OPT、B1/B2转F1 的核心区别及适用场景
  • JavaScript - Web APIs(下)
  • 【UE插件】Sphinx关键词语音识别
  • 深度学习中常用的评价指标方法
  • Pyside的QWebEngineProfile类
  • 【xcode 16.2】升级xcode后mac端flutter版的sentry报错
  • mysql重学(一)mysql语句执行流程
  • 【AI论文】Transformer^2: 自适应大语言模型
  • 数据库备份、主从、集群等配置
  • 【信息系统项目管理师-选择真题】2009上半年综合知识答案和详解
  • 【游戏设计原理】94 - 解决问题的方法
  • 赚钱的究极认识
  • INCOSE需求编写指南-附录 D: 交叉引用矩阵
  • Vscode编辑器下 Markdown无法显示图片
  • Docker小游戏 | 使用Docker部署RPG网页小游戏
  • mysql_init和mysql_real_connect的形象化认识
  • OSPF邻接关系无法建立之MTU问题
  • Day30-【AI思考】-错题分类进阶体系——12维错误定位模型
  • 前馈神经网络——最基本的神经网络架构
  • 【Leetcode 每日一题】350. 两个数组的交集 II
  • 昆虫机器人:从仿生设计到未来应用
  • SpringBoot Web开发(SpringMVC)
  • CF EDU ROUND 172
  • unity学习24:场景scene相关生成,加载,卸载,加载进度,异步加载场景等
  • 前端进阶:深度剖析预解析机制
  • 电梯系统的UML文档13