如何对DataFrame同列数值累加计算并保存为新DataFrame用于后续绘图
DataFrame百分比变化值累加实现方案
你需要的逐行累加本质是累积求和操作,pandas内置cumsum()方法可以直接满足需求,无需手动用shift实现复杂逻辑,具体实现代码如下:
import pandas as pd # 假设你的原始DataFrame变量名为df # 可选操作:将Date列设为索引,方便后续绘图直接用日期作为横轴 df = df.set_index('Date') # 跳过首行全NaN的记录,直接计算所有数值列的累积和 cumulative_df = df.iloc[1:].cumsum() # 单独查看Value 4列的结果可直接调用 print(cumulative_df['Value 4'])
上述代码输出的Value 4列结果和你给出的示例完全一致:
| Date | Value 4 |
|---|---|
| 2019-10-16 | -0.008081 |
| 2019-10-17 | -0.011441 |
| 2019-10-18 | -0.018798 |
| 2019-10-21 | -0.010049 |
如果你确实需要手动通过移位逻辑实现,也可以参考下述思路,但内置cumsum()经过官方优化,性能和稳定性更好,更推荐直接使用。
内容的提问来源于stack exchange,提问作者SljjnX
相关产品推荐
相关产品推荐

