我有一个 Pandas df: Number0 -301 22 123 -64 225 -36 -10我的起始值总计为 1500。我想将前一行的每一行值相加,起始值为 1500,得到: Number Path0 -30 14701 2 14722 12 14843 -6 14784 22 15005 -3 14976 -10 1487我尝试使用 df.diff() 但它无法从 1500 开始计算并从那里开始操作。还有其他方法吗?谢谢。
2 回答
![?](http://img1.sycdn.imooc.com/5458478b0001f01502200220-100-100.jpg)
拉丁的传说
TA贡献1789条经验 获得超8个赞
cumsum然后添加总数:
total = 1500
df['Path'] = total+df['Number'].cumsum()
Number Path
0 -30 1470
1 2 1472
2 12 1484
3 -6 1478
4 22 1500
5 -3 1497
6 -10 1487
![?](http://img1.sycdn.imooc.com/54584f850001c0bc02200220-100-100.jpg)
12345678_0001
TA贡献1802条经验 获得超5个赞
你的任务可以分解为
计算累计和
将总和偏移 1500(如果您能与几何相关,则类似于原点平移)
df.Number.cumsum() + 1500
添加回答
举报
0/150
提交
取消