我是一名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
提前感谢您的帮助。
答案 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