为选定的月份设定多个年份的小时频率的日期_范围。

问题描述 投票:1回答:1

我知道如何在pandas中使用freq选项制作date_range。 然而,我不知道如何使用它来同时做两个频率(或者我需要一个循环)?

我想做一个每小时的日期范围,只针对几年内的七月。

我已经试过了。

In:  pd.date_range('1951-07-01','1955-07-01',freq='AS')
Out: DatetimeIndex(['1952-01-01', '1953-01-01', '1954-01-01', '1955-01-01'], dtype='datetime64[ns]', freq='AS-JAN')

也试过每小时一次的频率... 但我想要的是一个跨度多年的日期范围,但只有7月份的小时频率。

我不希望在我的date_range中出现除7月以外的任何月份。

如果有任何提示,我将不胜感激,以及是否需要一个循环?

python pandas datetime date-range
1个回答
1
投票

你可以创建小时的频率与开始和结束 year 然后只过滤 julys:

d = pd.date_range('1951-07-01','1955-07-01',freq='H')

d = d[d.month == 7]
print (d)
DatetimeIndex(['1951-07-01 00:00:00', '1951-07-01 01:00:00',
               '1951-07-01 02:00:00', '1951-07-01 03:00:00',
               '1951-07-01 04:00:00', '1951-07-01 05:00:00',
               '1951-07-01 06:00:00', '1951-07-01 07:00:00',
               '1951-07-01 08:00:00', '1951-07-01 09:00:00',
               ...
               '1954-07-31 15:00:00', '1954-07-31 16:00:00',
               '1954-07-31 17:00:00', '1954-07-31 18:00:00',
               '1954-07-31 19:00:00', '1954-07-31 20:00:00',
               '1954-07-31 21:00:00', '1954-07-31 22:00:00',
               '1954-07-31 23:00:00', '1955-07-01 00:00:00'],
              dtype='datetime64[ns]', length=2977, freq=None)
© www.soinside.com 2019 - 2024. All rights reserved.