如何在Pandas中找到几个月之间的固定日期间隔?



我想要查找几年中几个月之间的日期选择集,例如,我想要(15/01/2018至14/02/2018)和(15/02/2018至14/03/2018)之间的所有日期,以此类推,直到(15/11/2020至14/12/2020)。

我的数据看起来像


Date        State code    Profit
01-01-2018     1           268
02-01-2018     2           230
...        ...          ...
...        ...          ...
...        ...          ...
31-12-2020     1           740

我想使用与日期15/MM/YYYY和14/MM/YYYY相对应的数据,为此我尝试过

pd.date_range(start='15/01/2018',end='14/01/2018',period=30)
pd.date_range(start='15/01/2018',end='14/01/2018',freq=30D)

这没有帮助,因为它不会生成所需的日期集。

我也试过使用for循环:


for i in range(1,13):
print(pd.date_range(start='15/'+str(i)+'/2018',end='14/'+str(i+1)+'/2018')

但是它给出了错误

ValueError: could not convert string to Timestamp

请指导如何达到预期的结果。

我不确定您想要的输出是什么,但是让我们假设您正在尝试对上述自定义日期范围执行分组。这可以通过在期望的日期上切割数据帧并对间隔进行分组来实现。首先,你需要有一个日期列表,让我们说Date列中的每一个日期等于14:df['Date'][lambda x: x.dt.day==14])。然后将此输入groupby:

df.groupby(pd.cut(df['Date'], df['Date'][lambda x: x.dt.day==14]))

相关内容

  • 没有找到相关文章

最新更新