Python 从熊猫的日期范围中排除闰年天数

Python 从熊猫的日期范围中排除闰年天数,python,pandas,Python,Pandas,我生成了一系列日期,如下所示: pd.date_range("2001-01-01", "2012-12-31") 如何自动排除闰年日期?2月29日是闰日发生的年份?它似乎不接受允许用户从列表中排除闰日的参数。但是,您可以自己排除它们,并使用非闰年日期创建新对象: >>> import pandas as pd >>> from calendar import isleap >>> dates = pd.date_range("2001-

我生成了一系列日期,如下所示:

pd.date_range("2001-01-01", "2012-12-31")
如何自动排除闰年日期?2月29日是闰日发生的年份?

它似乎不接受允许用户从列表中排除闰日的参数。但是,您可以自己排除它们,并使用非闰年日期创建新对象:

>>> import pandas as pd
>>> from calendar import isleap

>>> dates = pd.date_range("2001-01-01", "2012-12-31")
>>> pd.DatetimeIndex(data=(t for t in dates if not isleap(t.year)), freq="D")
DatetimeIndex(['2001-01-01', '2001-01-02', '2001-01-03', '2001-01-04',
           '2001-01-05', '2001-01-06', '2001-01-07', '2001-01-08',
           '2001-01-09', '2001-01-10',
           ...
           '2011-12-22', '2011-12-23', '2011-12-24', '2011-12-25',
           '2011-12-26', '2011-12-27', '2011-12-28', '2011-12-29',
           '2011-12-30', '2011-12-31'],
          dtype='datetime64[ns]', length=3285, freq='D')
从版本中,您可以使用:

这并不能回答他最初的问题。这段代码省略了整个闰年,其中用户308827只想省略闰年。是指向原始问题解决方案的链接。
rng = pd.date_range("2001-01-01", "2012-12-31")
print (rng)
DatetimeIndex(['2001-01-01', '2001-01-02', '2001-01-03', '2001-01-04',
               '2001-01-05', '2001-01-06', '2001-01-07', '2001-01-08',
               '2001-01-09', '2001-01-10',
               ...
               '2012-12-22', '2012-12-23', '2012-12-24', '2012-12-25',
               '2012-12-26', '2012-12-27', '2012-12-28', '2012-12-29',
               '2012-12-30', '2012-12-31'],
              dtype='datetime64[ns]', length=4383, freq='D')

print (rng.is_leap_year)
[False False False ...,  True  True  True]

print (rng[~rng.is_leap_year])
DatetimeIndex(['2001-01-01', '2001-01-02', '2001-01-03', '2001-01-04',
               '2001-01-05', '2001-01-06', '2001-01-07', '2001-01-08',
               '2001-01-09', '2001-01-10',
               ...
               '2011-12-22', '2011-12-23', '2011-12-24', '2011-12-25',
               '2011-12-26', '2011-12-27', '2011-12-28', '2011-12-29',
               '2011-12-30', '2011-12-31'],
              dtype='datetime64[ns]', length=3285, freq=None)