gpt4 book ai didi

python - 如何从 pandas 的累积总和中获取实际值

转载 作者:行者123 更新时间:2023-12-01 04:55:15 25 4
gpt4 key购买 nike

假设,我有一个 DataFrame df。

>>> DATA = {'id':[1,2,3,4,5], 'salary':[1200,2300,2400,3620,2100] } 
>>> df = DataFrame(DATA)
>>> df
id salary
0 1 1200
1 2 2300
2 3 2400
3 4 3620
4 5 2100

从这个DataFrame df中,我可以得到一个新的DataFrame df1,其中包含工资的累计总和

>>> df['salary'] = df['salary'].cumsum() 
>>> df
id salary
0 1 1200
1 2 3500
2 3 5900
3 4 9520
4 5 11620

这是非常常见的情况。

现在,如果给我 df1 并且我必须找到 df,该怎么办?

   id  salary            id  salary
0 1 1200 0 1 1200
1 2 3500 1 2 2300
2 3 5900 ==> 2 3 2400
3 4 9520 3 4 3620
4 5 11620 4 5 2100

我必须从所有 id 的累计总和中找到其实际工资。

最佳答案

>>> df
id salary
0 1 1200
1 2 3500
2 3 5900
3 4 9520
4 5 11620
>>> df['salary'] = df['salary'].diff().fillna(df['salary'].iloc[0])
>>> df
id salary
0 1 1200
1 2 2300
2 3 2400
3 4 3620
4 5 2100

虽然 .fillna 在这里效率不高,因为它只是第一个出现 null 的值。因此,您只需将 .iloc[0] 处的第一个值替换为累积值即可。

关于python - 如何从 pandas 的累积总和中获取实际值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27581942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com