データフレームdf
があります。pandas dataframe、各グループの別の列の移動平均として1つの列を追加します。
dates = pd.date_range('2000-01-01', '2001-01-01')
df1 = pd.DataFrame({'date':dates, 'value':np.random.normal(size = len(dates)), 'market':'GOLD'})
df2 = pd.DataFrame({'date':dates, 'value':np.random.normal(size = len(dates)), 'market':'SILVER'})
df = pd.concat([df1, df2])
df = df.sort('date')
date market value
0 2000-01-01 GOLD -1.361360
0 2000-01-01 SILVER 0.255830
1 2000-01-02 SILVER 0.196953
1 2000-01-02 GOLD 1.422454
2 2000-01-03 GOLD -0.827672
...
市場ごとに10d移動平均値として別の列を追加したいと考えています。
これを実現する簡単なdf.groupby('market').???
はありますか?または、テーブルを幅広い形にピボットし、各列を滑らかにしてから溶かす必要がありますか?
次に、 'df ['avg'] = avg.GOLD.where(df.market == 'GOLD'、avg.SILVER)'を1つの列に追加します。 –