熊猫:结合不同的时间跨度和cumsum

时间:2013-10-01 14:37:24

标签: python group-by pandas

我有以下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>

0 个答案:

没有答案