我有以下DataFrame
:
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),
]
})
首先:我希望在此DataFrame
添加另一列,其中总结了每位买家过去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))
但是,我不知道如何向此DataFrame添加另一列,该列可以为前五行条目的每一行添加。
第二
向此DataFrame
添加另一列,不仅可以总结过去5天的购买情况,还可以根据日期对这些购买进行加权。例如:5天前的购买量应为20%,4天前的购买量为40%,3天前为60%,2天前为80%,前一天为100%< / p>