![fc1e7869a55f63c7b1a78bd84108d0bf.gif](https://i-blog.csdnimg.cn/blog_migrate/64eee7f479500b9eb0e5ac7e99a10fab.gif)
用Python进行数据分析的好处是,它的数据分析库目前已经很全面了,有NumPy、pandas、SciPy、scikit-learn、StatsModels,还有深度学习、神经网络的各类包。基本上能满足大部分的企业应用。
而且Python是数据抽取、数据收集整理、数据分析挖掘、数据展示,都可以在同一种Python里实现,避免了开发程序的切换。
这里就和大家分享我做的一个应用实例。解决问题:自动进行销售预测,提高准确率,减少人工一个一个SKU进行预测分析。最终的效果如下图:
1
用到的工具
当然我们只需要用Python和一些库就可以了。
pandas:数据整理
numpy:pandas的前提,科学计算
MySQLdb:mysql数据库链接
statsmodels:统计建模
pylab:图形处理
flask:web框架
2
Flask的安装
在Flask的app目录下建立一个forecasting.py的python文件,在Flask的app的templates目录下建立一个forecastin.html的模版文件,两个文件的内容如下:
forecasting.py
# -*- coding: utf-8 -*- from app import appfrom flask import render_template@app.route('/forecasting/')def forecasting(item=None): return render_template("forecasting.html")
forecastin.html
<title>Hello Worldtitle>Hello World
在DOS窗口运行
python d:pyflaskrun.py
在浏览器打开http://127.0.0.1:5000/就可以看到forecasting.html模版的内容显示了。
接下来我们从头建一个预测模型。
3
建立数据库并填写数据
CREATE TABLE [Math Processing Error] ( [Math Processing Error] datetime DEFAULT NULL, [Math Processing Error] float DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;
数据自己录入啦。
4
相关库的引入
我们现在在之前第2点建立的文件的基础上进行修改,
在forecasting.py的头部引入以下库
# -*- coding: utf-8 -*- from app import appfrom flask import render_templateimport pylabimport pandas as pdimport numpy as npfrom pandas import Series,DataFrameimport MySQLdbimport pandas.io.sql as sqlimport statsmodels.api as smimport timeimport datetimefrom dateutil.relativedelta import relativedeltaimport random
5
定义路由
@app.route('/forecasting/')
意思就是我们访问例如http://127.0.0.1:5000/forecasting/2的地址对于就是解析到forecasting.py文件,其中是可变的URL部分,如上面的URL的2
6
定义函数
def forecasting(lag=None):
其中lag就是接受URL中的参数,我们定义lag是自回归函数的滞后期数。
7