python - 没有当前行的Python中的累积和
问题描述
我需要在不计算当前行的情况下找到前 3 行的累积和,这里有一个简短的示例:
ID | 和 |
---|---|
一个 | 10 |
乙 | 5 |
乙 | 4 |
乙 | 1 |
乙 | 2 |
C | 1 |
C | 3 |
这就是我想要达到的结果:
ID | 和 |
---|---|
一个 | 0 |
乙 | 0 |
乙 | 5 |
乙 | 9 |
乙 | 10 |
C | 0 |
C | 3 |
解决方案
你可以试试:
df['SUM'] = (df.groupby('ID')['SUM']
.transform(lambda x: x.rolling(4,min_periods=1).sum())
.sub(df['SUM'])
)
输出:
ID SUM
0 A 0
1 B 0
2 B 5
3 B 9
4 B 10
5 C 0
6 C 1
推荐阅读
- sip - 在 Ubuntu Pjsip PJproject 上配置//make 错误
- angular - Angular Nativescript 无法在惰性模块中导航
- python - 正确设置 DIR 时出现 Django TemplateDoesNotExist 问题
- mailchimp-api-v3.0 - Mailchimp 帖子列表返回 HTML 文档?
- git - 将 .git/config 中子模块的 https-address 更改为 ssh-address
- vba - 如何使用 Forn_onError 事件避免默认访问错误?
- android - 从子列表中删除对象已删除的 android
- yocto - libc.so.6 和 libc.so 都存在于 rootfs 中
- ios - 无法在 Visual Studio 中保存 .xcasset 文件
- pandas - WinError 193] %1 不是有效的 Win32 应用程序