首页 > 解决方案 > 使用 for 循环绘制多个移动平均线

问题描述

我正在尝试使用 for 循环绘制多个移动平均线,但是当我输入此代码时出现错误。

ma_day = [10,20,50]
for ma in ma_day:
column_name = "MA in %s days" %(str(ma))

AAPL[column_name]= AAPL['Adj Close'].rolling(window=ma).mean()
AAPL[['Adj Close', 'MA for 10 days', 'MA for 20 days', 'MA for 50 days']].plot(subplots=False, kind='line', 
                                                                       figsize=(10,4))

我得到的错误说MA for 10 days,,不在索引中MA for 20 daysMA for 50days请问正确的代码应该是什么?

标签: pythonpython-3.x

解决方案


好吧,我会将您尝试绘图中的列名与实际的列名匹配。

在上面的行中,您使用“ in ”命名列,并且在绘图中使用名称中的“ for ”。

你的代词必须匹配!:)


推荐阅读