python - 在python中计算每个人在一个月内最后3天的支出
问题描述
这里是python新手。我正在尝试计算每个人在一个月内最后3天的支出。输入将是:
date name amount
mar.5 mary 1
mar.6 mary 2
mar.6 mary 3
mar.7 tom 4
mar.8 mary 5
mar.8 tom 6
理想的结果是
date name amount
mar.5 mary 1
mar.5 tom 0
mar.6 mary 6
mar.6 tom 0
mar.7 mary 6
mar.7 tom 4
mar.8 mary 10(2+3+5)
mar.8 tom 10(4+6)
等等
我正在尝试使用 python 创建一个循环来圈出“最后 3 天”,但无法确定一种方法来执行此操作,任何输入都将不胜感激。希望每个人都在这个病毒的事情下安全。
解决方案
使用and DataFrame.pivot_table
,然后 reshape by ,按和最后排序日期更改级别:DataFrame.rolling
sum
DataFrame.unstack
DataFrame.swaplevel
df = (df.pivot_table(index='date',columns='name', values='amount', aggfunc='sum')
.rolling(3, min_periods=1)
.sum()
.fillna(0)
.unstack()
.swaplevel(0,1)
.sort_index(level=0)
.reset_index(name='amount')
)
print (df)
date name amount
0 mar.5 mary 1.0
1 mar.5 tom 0.0
2 mar.6 mary 6.0
3 mar.6 tom 0.0
4 mar.7 mary 6.0
5 mar.7 tom 4.0
6 mar.8 mary 10.0
7 mar.8 tom 10.0
推荐阅读
- javascript - 在 mongdb 填充对象数组中查找值 - lodash
- php - 如何使用右连接和 MYSQL 案例获取两列的数据
- google-maps - 查找街道的起点和终点节点
- javascript - 列表中未定义的值
- javascript - JQ 事件在按 datatable.js 的提取行排序上没有激活
- css - 在不改变大小的情况下创建一侧边框在引导网格中
- mongodb - Mongo - 保存文档时出错:1 在写入数据库时不是主要的
- android - 本地通知实现
- javascript - 找不到 TypeScript 自定义定义文件
- asp.net - Asp.net mvc 5 身份 smtp 连接