如何在Pandas中不使用循环实现累积乘法运算?
用Pandas实现无循环的累积乘法
要替代循环实现的累积乘法,直接用Pandas的cumprod()方法即可,这是专门用于计算累积乘积的内置方法,完全不需要手动循环。
实现代码
import pandas as pd # 原始乘数列表 multiplier = [5, 7, 30, 2, 8] # 创建初始DataFrame df = pd.DataFrame({"multiplier": multiplier}) # 生成累积乘积结果列 df["results"] = df["multiplier"].cumprod()
说明
cumprod()方法会从列的第一个元素开始,依次计算当前及之前所有元素的乘积,完全匹配你原循环中original = original * i的累积逻辑;- 执行后得到的DataFrame结构和你期望的完全一致,
multiplier列对应原始乘数,results列对应每一步的累积乘积结果。
(注:你提供的示例表格中第二个结果值为45,这和5*7的实际结果35不符,推测是输入笔误,上述代码生成的结果会严格遵循累积乘法逻辑)
内容的提问来源于stack exchange,提问作者mmmmmmm
相关产品推荐
相关产品推荐

