对于时间序列销售预测任务,我想创建一个代表过去 3 天平均销售额的功能。当我想预测未来几天的销售额时遇到问题,因为这些数据点没有销售数据(NaN 值)。Pandas 提供rolling_mean(),但当窗口中的任何数据点为 NaN 时,该函数会导致 NaN 输出。
我的数据:
Date Sales
02-01-2013 100.0
03-01-2013 200.0
04-01-2013 300.0
05-01-2013 200.0
06-01-2013 NaN
Run Code Online (Sandbox Code Playgroud)
使用窗口为 2 的 pd.rolling_mean() 后的结果:
Date Rolling_Sales
02-01-2013 NaN
03-01-2013 150.0
04-01-2013 250.0
05-01-2013 250.0
06-01-2013 NaN
Run Code Online (Sandbox Code Playgroud)
期望的结果:
Date Rolling_Sales
02-01-2013 NaN
03-01-2013 150.0
04-01-2013 250.0
05-01-2013 250.0
06-01-2013 200.0
Run Code Online (Sandbox Code Playgroud)
因此,如果包含 NaN,我想忽略它并取窗口中所有其他数据点的平均值。
我正在尝试使用sqlalchemy连接到Windows计算机上的本地mysql数据库。它可以使用pymysql,但不能与sqlalchemy一起使用。
代码sqlalchemy:
engine = create_engine('mysql+mysqldb://root:mypass@localhost/classicmodels')
engine.connect()
Run Code Online (Sandbox Code Playgroud)
给出错误:
OperationalError: (_mysql_exceptions.OperationalError) (1193, "Unknown system variable 'tx_isolation'")
Run Code Online (Sandbox Code Playgroud)
使用pymysql的工作代码:
connection = pymysql.connect(host='localhost',
user='root',
password = 'mypass',
db = 'classicmodels')
cursor = connection.cursor()
cursor.execute('select * from customers')
mydata = cursor.fetchall()
mydata = pd.DataFrame(list(mydata))
mydata.head(5)
Run Code Online (Sandbox Code Playgroud)