在Pandas DataFrame中计算两列的累积偏差
在Pandas DataFrame中计算累积偏差列的解决方案
计算逻辑
每一行的累积偏差公式为:Cum Dev = (累计Curr Yr / 累计LT Avg) - 1
其中“累计”指从首行到当前行的求和结果。
实现代码
假设你的DataFrame名为df,可以通过Pandas的cumsum()方法快速计算累计和,再完成后续运算:
# 直接计算并新增累积偏差列 df['Cum Dev'] = (df['Curr Yr'].cumsum() / df['LT Avg'].cumsum()) - 1 # 如果需要保留中间累计列,可拆分步骤 df['Cum Curr Yr'] = df['Curr Yr'].cumsum() df['Cum LT Avg'] = df['LT Avg'].cumsum() df['Cum Dev'] = (df['Cum Curr Yr'] / df['Cum LT Avg']) - 1
结果验证
运行代码后,df['Cum Dev']的输出将与你提供的期望数据一致:
0 0.122993 1 0.160155 2 0.159889 3 0.221629 4 0.187604 5 0.178089 6 0.166876 7 0.152866 8 0.129326 9 0.114261 10 0.124487 11 0.128058 Name: Cum Dev, dtype: float64
内容的提问来源于stack exchange,提问作者user2100039
相关产品推荐
相关产品推荐

