我正在尝试解决如何在我的df中获得28天的周期。我的意思是,我有超过几年的数据集和完整的日期。似乎没有一个时间看起来是28天(农历月)。
我怎么能让最小日期是1(比如2018年1月1日)和28 (2018年1月28日)1月29日又变成1月2日的1日和30日,依此类推...
我如何才能实现这个循环?
发布于 2021-07-09 05:40:08
你在找这样的东西吗:
输入数据(最坏情况):
Date
Date
0 2018-07-12
1 2018-07-13
2 2018-07-14
3 2018-07-14 # <- duplicate day
4 2018-07-15
5 2018-07-30 # <- missing days
6 2018-07-31
7 2018-08-08 # <- end cycle day, missing days
8 2018-08-08 # <- duplicate day
9 2018-08-09 # <- new cycle day
10 2018-08-10使用np.tile重复该句点:
df['Day'] = (df['Date'].dt.day_of_year - df['Date'].min().day_of_year) % 28 + 1结果输出:
>>> df
Date Day
0 2018-07-12 1
1 2018-07-13 2
2 2018-07-14 3
3 2018-07-14 3
4 2018-07-15 4
5 2018-07-30 19
6 2018-07-31 20
7 2018-08-08 28
8 2018-08-08 28
9 2018-08-09 1
10 2018-08-10 2https://stackoverflow.com/questions/68307278
复制相似问题