【发布时间】:2023-04-01 14:09:01
【问题描述】:
我有一个包含股票名称和股票数据的多索引。它有 65 种不同的股票,日期持续 5 年-所以部分 DF 看起来像这样
High Low Open Px_last Volume
Date
SPOM US equity 12/31/2012 0.4575 0.2925 0.4575 0.3975 8890
1/1/2013 0.4575 0.2925 0.4575 0.3975 8890
1/2/2013 0.3975 0.3225 0.3975 0.3225 3400
1/3/2013 0.3738 0.28 0.34 0.29 48933
1/4/2013 0.4 0.3175 0.36 0.3175 3610
1/7/2013 0.47 0.2863 0.3 0.46 61854
1/8/2013 0.54 0.39 0.48 0.4575 86644
我想添加一个具有 10D 滚动平均值的列,我查看了其他一些帖子,例如这个 stackoverflow.com/questions/38334832/rolling-averages-on-groups。我使用了这段代码,它没有抛出任何错误,但问题是 10D-MA 列显示了带有 nan 的整个数据框。它不计算任何数字。谁能告诉我我做错了什么以及为什么这没有产生预期的结果
df2['10D-MA'] = df2.groupby(level=0).apply(lambda df2: df2['Px_last'].rolling(10).mean())
【问题讨论】: