迭代Pandas Dataframe中的日期以获得每周不同列的计数

时间:2016-12-30 10:46:40

标签: python datetime pandas size resampling

我是一名java开发人员,发现切换到python和Pandas有点棘手。我试图迭代Pandas Dataframe的日期,如下所示,

    sender_user_id    created
0   1                 2016-12-19 07:36:07.816676
1   33                2016-12-19 07:56:07.816676
2   1                 2016-12-19 08:14:07.816676
3   15                2016-12-19 08:34:07.816676

我想要得到的是一个数据框,它给出了每周发生的交易总数的计数。在论坛中,我已经能够获得#for循环的语法。它只迭代索引。基本上我需要一个看起来像这样的结果数据框。值字段包含sender_user_id的计数以及需要修改的日期以显示每周的开始日期。

    date          value
0   2016-12-09    20
1   2016-12-16    36
2   2016-12-23    56
3   2016-12-30    32

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我认为您需要week size并汇总#cast to datetime if necessary df.created = pd.to_datetime(df.created) print (df.resample('W', on='created').size().reset_index(name='value')) created value 0 2016-12-25 4

df.created = pd.to_datetime(df.created)
print (df.resample('W-FRI', on='created').size().reset_index(name='value'))
     created  value
0 2016-12-23      4

如果需要另一个resample

df.created = pd.to_datetime(df.created)
print (df.resample('W-FRI', on='created')['sender_user_id'].nunique()
         .reset_index(name='value'))
     created  value
0 2016-12-23      3

如果每周需要的唯一值数量按offsets汇总:

1.0 = 2.0