gpt4 book ai didi

python - Pandas 中的滚动减法

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

我正在尝试做类似的事情。

ff = pd.DataFrame({'uid':[1,1,1,20,20,20,4,4,4],
'date':['09/06','10/06','11/06',
'09/06','10/06','11/06',
'09/06','10/06','11/06'],
'balance':[150,200,230,12,15,15,700,1000,1500],
'difference':[np.NaN,50,30,np.NaN,3,0,np.NaN,300,500]})

我试过滚动,但找不到函数或滚动子类减去,只有 sum 和 var 以及其他统计信息。有办法吗?我在想我可以创建两个 df:一个 - 消除每个 uid 的第一行,第二个 - 消除每个 uid 的最后一行。但老实说,我不知道如何为每个 uid 动态地做到这一点。

最佳答案

groupbydiff结合使用:

df = pd.DataFrame({'uid':[1,1,1,20,20,20,4,4,4],
'date':['09/06','10/06','11/06',
'09/06','10/06','11/06',
'09/06','10/06','11/06'],
'balance':[150,200,230,12,15,15,700,1000,1500]})

df['difference'] = df.groupby('uid')['balance'].diff()

输出:

   uid   date  balance  difference
0 1 09/06 150 NaN
1 1 10/06 200 50.0
2 1 11/06 230 30.0
3 20 09/06 12 NaN
4 20 10/06 15 3.0
5 20 11/06 15 0.0
6 4 09/06 700 NaN
7 4 10/06 1000 300.0
8 4 11/06 1500 500.0

关于python - Pandas 中的滚动减法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50798853/

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