2013-08-05 11 views

Odpowiedz

25

resample jest bardziej ogólny niż asfreq. Na przykład, używając resample, mogę przekazać dowolną funkcję do binowania na obiekcie Series lub DataFrame w pojemnikach o dowolnym rozmiarze. asfreq to zwięzły sposób zmiany częstotliwości obiektu DatetimeIndex. Zapewnia również funkcję wypełniania.

Zgodnie z dokumentacją pandy, asfreq jest cienkim opakowaniem wywołania date_range + połączenie z numerem reindex. Zobacz przykład here.

Przykład resample że wykorzystać w codziennej pracy jest obliczenie liczby ramion neuronu w ciągu 1 sekundy pojemników przez resampling dużą logiczny układ, gdzie True oznacza „skok” i False oznacza „nie” skok. Mogę to zrobić tak łatwo jak large_bool.resample('S', how='sum'). Trochę schludny! Można użyć

asfreq, jeśli chcesz zmienić DatetimeIndex na inną częstotliwość, zachowując jednakowe wartości w bieżącym indeksie.

Oto przykład, gdzie są równoważne:

In [6]: dr = date_range('1/1/2010', periods=3, freq=3 * datetools.bday) 

In [7]: raw = randn(3) 

In [8]: ts = Series(raw, index=dr) 

In [9]: ts 
Out[9]: 
2010-01-01 -1.948 
2010-01-06 0.112 
2010-01-11 -0.117 
Freq: 3B, dtype: float64 

In [10]: ts.asfreq(datetools.BDay()) 
Out[10]: 
2010-01-01 -1.948 
2010-01-04  NaN 
2010-01-05  NaN 
2010-01-06 0.112 
2010-01-07  NaN 
2010-01-08  NaN 
2010-01-11 -0.117 
Freq: B, dtype: float64 

In [11]: ts.resample(datetools.BDay()) 
Out[11]: 
2010-01-01 -1.948 
2010-01-04  NaN 
2010-01-05  NaN 
2010-01-06 0.112 
2010-01-07  NaN 
2010-01-08  NaN 
2010-01-11 -0.117 
Freq: B, dtype: float64 

miarę kiedy użyć albo: to zależy od problemu, masz na myśli ... obchodzi się podzielić?