Python 熊猫:结合不同的时间跨度和cumsum
我有以下Python 熊猫:结合不同的时间跨度和cumsum,python,group-by,pandas,Python,Group By,Pandas,我有以下数据帧: from datetime import datetime from pandas import DataFrame df = DataFrame({ 'Buyer': ['Carl', 'Carl', 'Carl', 'Carl', 'Joe', 'Carl'], 'Quantity': [18, 3, 5, 1, 9, 3], 'Date': [ datetime(2013, 9, 1, 13, 0), dateti
数据帧
:
from datetime import datetime
from pandas import DataFrame
df = DataFrame({
'Buyer': ['Carl', 'Carl', 'Carl', 'Carl', 'Joe', 'Carl'],
'Quantity': [18, 3, 5, 1, 9, 3],
'Date': [
datetime(2013, 9, 1, 13, 0),
datetime(2013, 9, 1, 13, 5),
datetime(2013, 10, 1, 20, 0),
datetime(2013, 10, 3, 10, 0),
datetime(2013, 12, 2, 12, 0),
datetime(2013, 9, 2, 14, 0),
]
})
首先:我想在这个数据框架中添加另一列,它总结了每个买家过去5天的购买情况。特别是结果应如下所示:
Quantity
Buyer Date
Carl 2013-09-01 21
2013-09-02 24
2013-10-01 5
2013-10-03 6
Joe 2013-12-02 9
为此,我从以下几点开始:
df1 = (df.set_index(['Date', 'Buyer'])
.unstack(level=[1])
.resample('D', how='sum')
.fillna(0))
但是,我不知道如何向这个数据框添加另一列,它可以为每行添加前5行条目
秒:
在此数据框中添加另一列
,该列不仅汇总了过去5天的购买量,如(1)所示,还根据购买日期对这些购买量进行加权。例如:5天前的购买量应计算为20%,4天前的购买量应计算为40%,3天前的购买量应计算为60%,2天前的购买量应计算为80%,1天前和今天的购买量应计算为100%假设pd==pandas
和DT==datetime
安全吗?嗨,埃里克,是的。我编辑了我的原始帖子以包含导入内容。顺便说一句,你尝试过什么吗?是的,我添加了我的尝试,但我只获得了有限的成功