2017-04-17 24 views
0

I持って私はなく値のみでは、日付でグループ化された平均値を算出したい二つの列datevalue(3K異なる日付、800K合計行)Pythonのデータフレームは、グループ化された条件付き平均

pandas DATAFRAME下の十字架。それが唯一のそれぞれについて、(DCLよりも低い値を使用するように私は、その後、それぞれの日付の条件付き平均を作成することができますどのように日付ごと、私の下の十分位のためcutoff値を与える私はDCL = df['date','value'].groupby(['date'])['value'].quantile(.1)を使用してみましたが

、日付)?

DCL = df['date','value'].groupby(['date'])['value'].quantile(.1) 
... 
2017-01-26 0.067924 
2017-01-27 0.067719 
2017-01-30 0.068561 
2017-01-31 0.068056 
2017-02-01 0.067988 
2017-02-02 0.068306 
2017-02-03 0.068311 
2017-02-06 0.067923 
2017-02-07 0.067192 
2017-02-08 0.066902 
2017-02-09 0.065978 
2017-02-10 0.065414 
2017-02-13 0.065402 
2017-02-14 0.065939 
2017-02-15 0.065519 

カットオフは日ごとに異なっている、私はそれからのみ、その日のカットオフより低いその日付の数字を使用して、毎日でグループ化された「価値」の平均値を計算したいと思います。

答えて

1

transformを使用して、現在の行の日付のデシール平均の新しい列を追加することを検討してください。

df['DCL'] = df[['date','value']].groupby(['date'])['value'].\ 
       transform(lambda g: g[g <= g.quantile(.1)].mean()) 
関連する問題