20210904
昨晚跟zqy bb发现她竟然知道我这个博客
因为某天她在百度搜名字的时候搜到了我以前有篇写到过她。。
于是我决定让自己的blog看起来整齐一点。并且给这个大哥开个专栏。
有一个技术专栏叫周沁谕!!
---------------------------------------------这是一条分界线---------------------------------------------------------------
笑死!记录一下!
事情的前景:ZQY一个学经济的笨蛋学妹~
我们在以前的聊天里就有说到数据之类啥的,她说以后读研了都要学爬虫啥的,我说没事 我教你。。balabala的总说代码干啥干啥多方便。。
嗯。。是的。。。虽然很方便。。但是我。。。并不怎么会啊。。我只知道。。百度 github Google啊。。。
啊哈哈哈哈哈所以人总不能装X太过的。。
事情的起因:昨天跟ZQY见面。然后她在做毕设嘛。。然后要从前18年的数据预测后1年的。我的第一反应是。。
这数据很少啊。。感觉没办法投模型啊。。(表示皱眉= =
然后她说她有个软件可以预测 但是省份太多 要一个一个来 太麻烦了
然后 我哎。。软件都可以预测 那我也一定可以啊
然后我 嗯那我晚上回去想想
然后就想到多项式拟合。。奈何那时候太晚了。。于是太困了 没想多久就关掉电脑睡觉去了(没有什么比睡觉重要
开始。。
当然首先要读取execl的数据了。
当然 我连这个都忘了 。。
毕竟我比鱼的记忆还短0 0
#读取数据
databook = xlrd.open_workbook(XXX)
sheet = databook.sheets()[0]
years = sheet.col_values(0)
province = sheet.col_values(1)
price = sheet.col_values(2)
#表的行数
row_num = sheet.nrows
然后横坐标都是00年到17年嘛
x = np.array([x for x in range(2000, 2018)])
然后其实之前自己偷偷取过两个省份 发现好像数据都是一次式 然后我就嗯。用一次式拟合。。
res = []
province_num = 0
for i in range(row_num):
if years[i] == '2000':
st = i
y = []
y.append(price[i])
continue
if years[i] == '2017':
y.append(price[i])
province_num += 1
#多项式拟合 f1返回 各项式的次数 我这里的3表示拟合三次式
f1 = np.polyfit(x, y, 3)
#p1是拟合成的多项式的式子
p1 = np.poly1d(f1)
#yvals表示2018年的预测值
yvals = p1(2018)
res.append(yvals)
#数据可视化
fig = plt.figure()
plt.title(province[i] + "趋势图")
plt.plot(x, y)
fig.savefig(路径)
continue
if years[i] !=' ' and years[i] != '年度标识':
y.append(price[i])
嗯。。顺便把各省份趋势图都画了画。。
发现。。。并不是我想的那样。。
什么一次式。。都奇奇怪怪的趋势。。
什么回落的。平的。。乱七八糟的都有。。算了。。我不会。。于是我做了二次三次的拟合。。然后把数据给了ZQY。。
嗯。。ZQY说她一次二次三次的结果都试一试。。哪个结果更好。。。
一次失败的。。经历。。。所以。。好好学习。才能。。帮到好朋友。菜鸡不配。。。。。