【发布时间】:2017-12-05 18:26:49
【问题描述】:
我有一个包含三列的数据框,即date、commodity 和 values。我想添加另一列median_20,即df 中每个commodity 过去20 天的滚动中位数。另外,我想添加其他显示值 n 天前的列,例如,lag_1 列显示给定 commodity 前 1 天的值,lag_2 显示前 2 天的值,依此类推。我的df 非常大(>200 万行)。
dates = pd.date_range('2017-01-01', '2017-07-02')
df1 = pd.DataFrame({'date':dates, 'commodity':np.random.normal(size = len(dates)), 'market':'GOLD'})
df2 = pd.DataFrame({'date':dates, 'commodity':np.random.normal(size = len(dates)), 'market':'SILVER'})
df = pd.concat([df1, df2])
df = df.sort('date')
date commodity value
0 2017-01-01 GOLD -1.239422
0 2017-01-01 SILVER -0.209840
1 2017-01-02 SILVER 0.146293
1 2017-01-02 GOLD 1.422454
2 2017-01-03 GOLD 0.453222
...
【问题讨论】:
标签: python dataframe group-by median