正の数の標準偏差を計算しようとしています。パンダブレイクを使用してローリング
np.random.seed(42)
d = pd.Series(data = np.random.randn(1000))
私は次の操作を実行した場合:
(d.where(d>0))[-100:].std(skipna=True)
を私は0.56972171400539895
を取得するしかし、私は私たちに、私が唯一nan
を得るローリング機能をしようとした場合:
(d.where(d>0)).rolling(100).std(skipna=True).iloc[-1]
をする方法はありますローリング機能を働かせますか? python 3.5とpandasでテストしました。0.20
ブーリアンインデックスの代わりに 'where'を使用する特別な理由はありますか?たとえば、3のウィンドウの場合、 '[1、-1、2、-2、3、-3、4、-4]'あなたの標準偏差は何ですか? std([1,2,3])(最初の3つの陽性)またはstd([1,2])(最初の3つの要素の陽性) – ayhan
私はそれを時系列(それゆえローリング関数)に使用しています。つまり、インデックス-1ではstd([nan、4、nan])が表示され、インデックス0ではstd([1、nan、2])が表示されます。 –