如何根据日期和名称转换熊猫数据框
我正在尝试不用而没有达到我所需的输出的数据框架,这将感谢一些帮助:
输入数据:
date name value
2022-07-01 Anna 5
2022-07-01 Jim 3
2022-04-29 Anna 4
2022-04-29 Jim 2
2022-04-21 Anna 1
2021-07-29 Jim 5
2021-07-29 Anna 5
所需的输出:
Name Last_30_days Last_365_days
Anna 5 15
Jim 3 10
我最接近的尝试:
df_new = (df.set_index('date')
.groupby('name', sort=False)
.resample('MS')['value'].sum()
.groupby(level=0)
.cumsum()
.reset_index(name='value'))
I'm trying to transform a dataframe without but haven't achieved my desired output, would appreciate some help:
Input data:
date name value
2022-07-01 Anna 5
2022-07-01 Jim 3
2022-04-29 Anna 4
2022-04-29 Jim 2
2022-04-21 Anna 1
2021-07-29 Jim 5
2021-07-29 Anna 5
Desired output:
Name Last_30_days Last_365_days
Anna 5 15
Jim 3 10
My closest attempt :
df_new = (df.set_index('date')
.groupby('name', sort=False)
.resample('MS')['value'].sum()
.groupby(level=0)
.cumsum()
.reset_index(name='value'))
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
计算新的二进制列,以检查是否包括当天,然后枢纽,然后con绕所有选定的一天差异。
Calculate new binary column to check whether the day is included, then pivot, then concat all selected day differences.
尝试以下尝试:
输出:
并且,您可以添加一个暨以沿行累积总数:
输出:
Try this:
Output:
And, you can add a cumsum to get cumulative totals along the rows:
Output: