パンダの asfreq メソッドと resample メソッドの違いを説明してください。いつ何を使うべきですか?
質問する
17500 次
2 に答える
43
resample
よりも一般的ですasfreq
。たとえば、resample
I を使用すると、任意の関数を渡して、任意のサイズのビン内のSeries
またはオブジェクトに対してビニングを実行できます。オブジェクトの周波数を変更する簡潔な方法です。また、パディング機能も提供します。DataFrame
asfreq
DatetimeIndex
パンダのドキュメントにあるように、 への呼び出し+asfreq
への呼び出しの薄いラッパーです。例については、こちらを参照してください。date_range
reindex
resample
私が日常業務で使用している例は、 True
「スパイク」をFalse
意味し「スパイクなし」を意味する大きなブール配列をリサンプリングすることにより、1 秒ビン内のニューロンのスパイク数を計算することです。と同じくらい簡単にできますlarge_bool.resample('S', how='sum')
。ちょっとすっきり!
asfreq
DatetimeIndex
現在のインデックスで同じ値を保持しながら、a を別の周波数に変更する場合に使用できます。
それらが同等である例を次に示します。
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
いつどちらを使用するかについては、考えている問題によって異なります...共有したいですか?
于 2013-08-05T14:54:40.703 に答える