python - 使用 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 days
。MA for 50days
请问正确的代码应该是什么?
解决方案
好吧,我会将您尝试绘图中的列名与实际的列名匹配。
在上面的行中,您使用“ in ”命名列,并且在绘图中使用名称中的“ for ”。
你的代词必须匹配!:)
推荐阅读
- c# - 如何序列化列表
c# 中的属性而不在 XML 序列化中显示其类型 - java - 我必须为我创建的每个组件创建一个单独的 ActionListener 吗?
- mongodb - 在具有大量更新的集合中使用复合主键
- c++ - 带有 Visual Studio 构建错误的本机 WebRTC
- javascript - 如何在 plotly.js 中按周对值进行分组
- javascript - 如何使用 node-telegram-bot-api 为每个用户执行相同的代码?
- intellij-idea - 将 edge.js 与 IntelliJ IDEA 集成
- git - 如何通过“去重”分支名称(如下所述)压缩我的 git 日志输出?
- javascript - 如何在 JS es6 类中实现多个方法?
- node.js - 在 nodejs 中使用 fs-extra 中的 url