2017-02-02 20 views
1
    Data  flag 
2017-01-01  17.2  False  
2017-01-02  17.0  False  
2017-01-03  16.8  False 
2017-01-04  18.3  False  
2017-01-05  19.1  True  
... 
2017-12-28  20.1  False  
2017-12-29  19.8  False  
2017-12-30  18.9  False  
2017-12-31  19.5  False  

値とフラグを持つパンダデータフレームがあります。 フラグが "真でない"場合、平均値をローリング(ウィンドウ= 30)して計算します。ローリングによる条件付き平均

+1

ウィンドウの長さが30の場合、その長さ30のウィンドウ内のnot truesに関する平均を計算しますか?ウィンドウが30未満にサブセットされることを意味しますか?あるいは、「真」を飛び越えて30の期間を集めたいと思っていますか? – piRSquared

+0

後者です。私はTruesを飛ばして、30のFalseの期間を集めたいと思う。 – Lcy

+0

あなたの答えは@ASGMです。 – piRSquared

答えて

3

のみdf.flagが偽(~オペレータがdf.flagFalseあるすべての値を取得し、ブールシリーズの真実を反転)されたエントリが含まれるようにデータフレームをサブセット化しながら、あなたはpandas.rolling_mean()を使用することができます。

pandas.rolling_mean(df[~df.flag], window=30) 
関連する問題