2017-10-31 3 views
-1

私は以下のようなデータフレームを持っている:どのようにして対応する平均値を持つ各列に対してapply()関数を使用できますか?

rowid user_id col_2 bias 
    0  1  0  2.1 
    1  2  2  2.5 
    2  3  3  3.6 
    3  1  0  2.8 
    4  2  2  1.5 
    5  3  3  3.2 

今、私は「バイアス」の列が1つの独特のuser_idのためにちょうどそのように、対応するUSER_IDの平均値であるようにしたい:

rowid user_id col_2 bias 
    0  1  0  2.1 
    3  1  0  2.8 

に:

rowid user_id col_2 bias 
    0  1  0  2.45 
    3  1  0  2.45 
+0

何を試しましたか?コードを投稿できますか? – alex

答えて

0

使用groupby.transform

df['bias'] = df.bias.groupby(df.user_id).transform('mean') 

df 
# rowid user_id col_2 bias 
#0  0  1  0 2.45 
#1  1  2  2 2.00 
#2  2  3  3 3.40 
#3  3  1  0 2.45 
#4  4  2  2 2.00 
#5  5  3  3 3.40 
関連する問題