2016-05-13 121 views
1

我正在使用不考虑闰日的科学模型 - 每年正好有365天。创建熊猫期无闰日范围

我想创建一个没有闰日的熊猫期范围。这是实现它的最好方法吗?

#!/usr/bin/env python 
import pandas 
periods = pandas.period_range('1900-01-01', '2019-12-31') 
is_leap_day = (periods.month == 2) & (periods.day == 29) 
periods_without_leap = periods[~is_leap_day] 
+1

看起来合理无法想象这种方法有什么问题 – EdChum

+0

您发布的代码看起来不错。我不认为熊猫包括任何特定的功能来实现你在这里之后,如果这就是你要求的。 –

回答

0

我已经写了period_range的包装功能,提供了一个without_leap关键字参数。

def period_range(*args, without_leap=False, **kwargs): 
    """Wraps period_range, removing leap days""" 
    periods = pandas.period_range(*args, **kwargs) 
    if without_leap: 
     is_leap_day = (periods.month == 2) & (periods.day == 29) 
     periods = periods[~is_leap_day] 
    return periods