2016-05-13 10 views
1

Ich arbeite mit einem wissenschaftlichen Modell, das Schalttage nicht berücksichtigt - jedes Jahr hat genau 365 Tage.Erstelle Pandas Zeitraum ohne Schalttage

Ich möchte einen Pandas-Zeitraum ohne Schalttage erstellen. Ist das der beste Weg, dies zu erreichen?

#!/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

Scheint vernünftig kann nichts mit diesem Ansatz falsch denken – EdChum

+0

Der Code, den Sie geschrieben hat, sieht gut aus. Ich denke nicht, dass Pandas irgendeine spezifische Funktionalität beinhalten, um das zu erreichen, was Sie hier suchen, wenn Sie das fragen. –

Antwort

0

Ich habe eine Wrapper-Funktion für period_range geschrieben, die ein without_leap Stichwort Argument liefert.

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