频率-基于id列和日期的每月/每周/每两周

时间:2020-04-15 14:07:15

标签: python-3.x pivot-table frequency-distribution

我有几百万行的日级数据,如下所示:

date        id
2019-01-14  4.000111e+10
2018-02-23  1.501553e+10
2018-01-19  4.000213e+10
2020-01-17  4.006799e+10
2020-02-28  1.000328e+10

我正在尝试使用日期为“ id”列构建数据透视表,然后根据我的ID获取每个月的日期频率。

table = df.pivot_table(index='id', columns='date', aggfunc=len)

由此,我需要找出哪个ID具有每周/每两周/每月的条目。本质上,如果我选择每周,则需要获取基于月的ID,而该月该月只有一笔交易。

jan_filter = df['date'].map(lambda x: x.month) == 1
df_jan = df[jan_filter]

基于此,我可以选择当月仅进行过一次交易的ID。但是,我如何每两周实现一次交易-每两周/每周进行一次交易-每个月的每周进行一次交易

编辑:

预期输出:

每月一次(Id仅每月输入一次):

date           id
2019-01-14     40192137123
2019-01-17     12321904367
2019-01-04     71231231238

每周(一个月内,每周至少有一次ID进入该条目):

date           id
2019-01-14     40192137123
2019-01-05     40192137123
2019-01-19     40192137123
2019-01-26     40192137123
2019-01-17     12321904367
2019-01-04     12321904367
2019-01-24     12321904367
2019-01-31     12321904367

每两周(该ID在每两周至少有一个条目)

第二次编辑:Week of Month Calculation

我正在使用这种方法计算每月的星期。

0 个答案:

没有答案
相关问题