【发布时间】:2016-05-01 03:56:35
【问题描述】:
我有一个包含两列和一个 3 级索引结构的数据框。列是价格和交易量,指数是交易者 - 股票 - 日。
我想计算我数据中每个交易者 - 股票组合在过去 50 天内价格和交易量的滚动平均值。
这是我目前想出的。
test=test.set_index(['date','trader', 'stock'])
test=test.unstack().unstack()
test=test.resample("1D")
test=test.fillna(0)
test[[col+'_norm' for col in test.columns]]=test.apply(lambda x: pd.rolling_mean(x,50,50))
test.stack().stack().reset_index().set_index(['trader', '库存','日期']).sort_index().head()
也就是说,我将我的数据集拆开两次,这样我就只剩下时间轴了,我可以计算我的变量的 50 天滚动平均值,因为 50 次观察将对应于 50 天(在重新采样数据之后)。
问题是我不知道如何为我的滚动平均变量创建正确的名称
test[[col+'_norm' for col in test.columns]]
TypeError:只能将元组(不是“str”)连接到元组
有什么想法吗?我的算法实际上是否正确以获得这些滚动方式? 非常感谢!
【问题讨论】: