You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Pandas遍历DataFrame 按上一行值乘1.1规则更新列数据

实现方案

你需要的计算逻辑本质是首行值固定,后续每行是上一行的1.1倍,直接用Pandas向量化操作即可实现,无需手动遍历DataFrame,效率更高。

完整示例代码

import pandas as pd

# 1. 构造初始DataFrame(你实际使用时替换成自己的df即可)
df = pd.DataFrame({
    'ID': [1, 2, 3, 4],
    'Revenue': [50000, 50000, 50000, 50000]
})

# 2. 先按ID排序,保证计算顺序正确(如果你的df已经按ID升序排列可跳过这步)
df = df.sort_values('ID', ascending=True).reset_index(drop=True)

# 3. 核心计算:首行固定,后续每行按10%增长
base_revenue = df.loc[0, 'Revenue']
# 生成指数序列,第0行对应1.1^0=1,第1行对应1.1^1,以此类推
exponent_series = pd.Series(range(len(df)))
df['Revenue'] = (base_revenue * (1.1 ** exponent_series)).astype(int)

# 输出结果
print(df)

输出结果

IDRevenue
150000
255000
360500
466550

其他实现方式(累积乘积法)

如果你更习惯用累积乘积逻辑,也可以用如下写法,效果完全一致:

multipliers = pd.Series([1] + [1.1]*(len(df)-1))
df['Revenue'] = (df.loc[0, 'Revenue'] * multipliers.cumprod()).astype(int)

内容的提问来源于stack exchange,提问作者DG.Finance

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 14:24:00