2014-06-16 10 views
5

Ich benutze Pandas, um mit monatlichen Daten zu arbeiten, die einen fehlenden Wert haben. Ich würde gerne in der Lage sein, die Resample-Methode zu verwenden, um jährliche Statistiken zu berechnen, aber für Jahre ohne fehlende Daten.Pandas resample Umgang mit fehlenden Daten

Hier einige Code und Ausgabe zu demonstrieren:

import pandas as pd 
import numpy as np 
dates = pd.date_range(start = '1980-01', periods = 24,freq='M') 
df = pd.DataFrame([np.nan] * 10 + range(14), index = dates) 

Hier ist, was ich bekommen, wenn ich neu berechnen:

In [18]: df.resample('A') 
Out[18]: 
      0 
1980-12-31 0.5 
1981-12-31 7.5 

Ich möchte mich für die 1980-12 eine np.nan haben -31 Index seit diesem Jahr hat keine monatlichen Werte für jeden Monat. Ich habe versucht, mit dem "Wie" -Argument zu spielen, aber ohne Glück.

Wie kann ich das erreichen?

Antwort

2

ich bin sicher, dass es einen besseren Weg, aber in diesem Fall können Sie verwenden:

df.resample('A', how=[np.mean, pd.Series.count, len]) 

und dann alle Zeilen fallen, wo count != len

+0

ich in diese aussehen wird. Vielen Dank. – sbiner