python - data.rolling().mean() 在控制台中有效,但在运行时无效
问题描述
我尝试使用以下代码计算移动平均线:
mav05 = dataT['close'].rolling(window=5).mean()
在数据 DataFrame 中包含的价格列表的“收盘价”值上。然后我打算使用:dataTrad['mav05'] = pd.Series(mav05, index = dataTrad.index)
两条线在控制台中都可以正常工作。但是当我运行它时,我得到一个 SyntaxError: invalid syntax 消息。
然后我尝试dataT['mav05'] = dataT['close'].rolling(window=5).mean()
替换这两行。我得到完全相同的错误消息。我做错了什么?感谢您的帮助 ;-)
完整代码:
import pandas as pd
import sqlite3 as sq
import numpy as np
from sqlalchemy import create_engine
# ==== Connecting to SQL DB and loading lists ============
connect = sq.connect('tradData.db')
cursor = connect.cursor()
tS = pd.read_sql_query("SELECT * FROM TRBel20", connect)
dataTrad = tS.rename(columns={"Price Open": "open", "Price Close": "close", "Price High": "high", "Price Low": "low", "Volume": "volume" })
dataTrad.drop(dataTrad[pd.isnull(dataTrad["close"])].index, inplace=True) # clean DB by dropping all rows where closing price is null
dataTrad.drop(dataTrad[pd.isnull(dataTrad["open"])].index, inplace=True) # clean DB by dropping all rows where closing price is null
# ==== Adding technical parameters ============
# moving average
mav05 = dataTrad['close'].rolling(window=5).mean()
mav20 = dataTrad['close'].rolling(window=20).mean()
mav60 = dataTrad['close'].rolling(window=60).mean()
# bollinger band
rstd20 = dataTrad['close'].rolling(window=20).std()
bollUpperband = mav20 + 2 * rstd20
bollLowerband = mav20 - 2 * rstd20
dataTrad['mav05'] = pd.Series(mav05, index = dataTrad.index)
dataTrad['mav20'] = pd.Series(mav20, index = dataTrad.index)
dataTrad['BollUp'] = pd.Series(bollUpperband, index = dataTrad.index)
dataTrad['BollDown'] = pd.Series(bollLowerband, index = dataTrad.index)
解决方案
发送给我的一个问题让事情变得清楚......我在上面放错了括号,代码停止不是因为错误的 rolling.mean() 语法而是因为以前的错误。非常感谢您提出的明智的私人问题,很抱歉打扰您;-)
推荐阅读
- javascript - 将 setTimeout 函数分配给 Vue 方法
- javascript - 如何获取数组 0 的值
- python - 将日期解析为从 csv 到 pandas 的字符串
- javascript - 批量插入失败并出现大量重复值
- testing - 在测试中设置 httpContext user.identity.name
- java - 如何在 DL4J 中加载使用自定义损失函数在 Python 中训练的 Keras 模型文件
- android - 如何在android studio中存储用户选择的铃声?
- asp.net-web-api2 - ASP.Net WebApi2 中的 Mediatr 实现
- scala - 以编程方式在 scala spark 中添加一个或多个条件过滤器
- javascript - 为什么ajax不显示更新后的JSON内容?