数据读入及预处理
在上一篇文章中,我在寻找数据预处理的方式,粗略看了一下,感觉有点复杂。。转念一想,我要处理的数据量并不算大,也就1000多条,要不我直接手动筛选好了orz。。
我手动筛选了一下,去掉了日期无效的条目,因为要进行预测,日期是必要的项目。
下一步是结合代码选择处理方式,我所选择的代码是对txt文本进行处理,那么为了方便以及避免后续可能出现的问题,我先把xlsx处理成与之相对应的txt格式吧。
python快速将excel文件转化为txt文件_python xlsx转txt_烟雨风渡的博客-CSDN博客
感觉里面写得不够细,我想知道怎么提取特定的列。
最新Pandas.read_excel()全参数详解(案例实操,如何利用python导入excel) - 知乎
df = pd.read_excel('data_preprocess.xlsx', header=0)
ok,现在得到我需要的两列数据了,之后得把他转成txt。
df.to_csv('data3.txt', header=None, sep=' ', index=False)
啊这,数据日期和销量是反的,这是因为格式不一样。
那我再修改一下数据集吧
至此,数据集的读入和预处理基本完成。
数据建模及模型评估
这一部分的代码,我看不懂TAT,就直接保留吧。
我注意到它生成的数据集是289条,而我们处理过后的数据集有1073条,所以源码中有部分数据需要修改。
试运行
还是出bug了。。
ValueError: invalid literal for int() with base 10:解决方法_伶俐虫虫的博客-CSDN博客
用这上面的方法出现了新的报错,打个断点看看吧。
这段数据后面的换行符,导致的错误。为啥这里会出错呢orz
我重新更换了断点,再检查了一遍,终于抓到你了,原来是2022.5.13的数据有问题。
这里有两个空数据,之前预处理时被我漏掉了,把他们删掉吧。
ok,这个问题解决了。因为删除了两条数据,所以前面设置的数据集数目也要调整,现在是1072。
程序运行成功了。但是。。
这图片怎么这么奇怪orz。。
在经过对比,排查以后,终于发现问题在哪了。
pyl.ylim(10, 100)
y轴的取值范围错了。
重新调了一下,果然ok了。
至此,商品销量预测基本完成。