卵子とローリングのためのパラメータは、NAsを記入しないのですか?pandas NAMを記入しない卵子とローリングの方法
>>> A = pd.Series([1,2,3,4,np.nan,5,6])
>>> A
0 1.0
1 2.0
2 3.0
3 4.0
4 NaN
5 5.0
6 6.0
dtype: float64
>>> eA = A.ewm(alpha = 0.5, ignore_na=True).mean()
>>> eA
0 1.000000
1 1.666667
2 2.428571
3 3.266667
4 3.266667 # I want this to be NA, don't fill in
5 4.161290
6 5.095238
dtype: float64
これは簡単に
eA[A.isnull()] = np.nan
によって解決される。しかし、これはいくつかの不必要な走行時間を要し、そしてあなたがより多くを持っている場合、すべてのロール機能のための変数名を考える必要が面倒であるもちろんいくつか。残念ながら、これは現在ewm
でサポートされていない
代替法は、最初のインスタンスで 'NaN'を除外した後' combine_first'呼び出すことです。 'EAは= A [A.notnullを()] EWM( alpha = 0.5、ignore_na = True).mean() eA.combine_first(A) 'はあなたにth希望の結果 – EdChum
興味深い。 'combine_first'関数をありがとう。それは便利です。ここで問題は 'ewm(min_periods = ...)'を呼び出すとウォーミングアップNAを満たすということです。 – jf328
ここで問題となるのは 'ewm'内には存在しないことです。提案したように' NaN'を設定し、 'ewm'を呼び出す前に' NaN'値を落としてから'combine_first'や' reindex'のような多くのオプションがあり、 'NaN'の値を' ewm'の結果に再挿入する元のdfのインデックスを渡します。 – EdChum