![743e5ed9c3b3955dbfe6395638523d05.gif](https://img-blog.csdnimg.cn/img_convert/743e5ed9c3b3955dbfe6395638523d05.gif)
python应用之猪肉价格曲线的绘制
刘巍巍
![96bd9f813c114eb197a81e78795e9ee4.png](https://img-blog.csdnimg.cn/img_convert/96bd9f813c114eb197a81e78795e9ee4.png)
大家这学期和我一起去食堂的时候,有没有这样的感觉——猪肉居然成了稀奇东西!!!食堂开始大量用鸡肉和鸭肉来代替猪肉。一到菜市场去看,居然猪肉都支持分期付款了。。。。。。(内心飘过一万个cnm)
![d2a7cc9a8d31cef4302dd9e3d6852bdc.png](https://img-blog.csdnimg.cn/img_convert/d2a7cc9a8d31cef4302dd9e3d6852bdc.png)
调研饿了吧,准备去附近的铺子吃个烧饼,结果又看到了改了又改的价格,这可让才经历了双十一快乐生活的我还这么活啊呜呜呜。连烧饼都吃不起了。
![8c6cc3a44d6beb527c52c58808143237.png](https://img-blog.csdnimg.cn/img_convert/8c6cc3a44d6beb527c52c58808143237.png)
回学校后,我决心要用刚学到的Python知识来研究一下最近猪肉价格的变化情况,也不枉费吕老师辛苦教了我们这么久。
说干就干,我首先进入到了“中国养猪网”,爬取到了猪价的相关信息。(提起了解一下猪肉行情总是好的,说不定以后我也养猪去了呢嘿嘿)
![a76043f7450a78b6fa9699492760322a.png](https://img-blog.csdnimg.cn/img_convert/a76043f7450a78b6fa9699492760322a.png)
接下来我们就利用python中的pandas和requests包来做出最近一年猪肉价格的曲线变化图。
No.1
首先先安装好我们的pandas和requests包,具体代码如下:
import pandas as pdimport requestsimport timeheaders = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36'}
No.2
接下来我们导入最近一年(2018.11.11到2019.11.11)猪肉价格的所有数据,具体代码如下:
#生成出生当年所有日期def dateRange(a,b): fmt = '%Y-%m-%d' bgn = int(time.mktime(time.strptime(a,fmt))) end = int(time.mktime(time.strptime(b,fmt))) list_date = [time.strftime(fmt,time.localtime(i)) for i in range(bgn,end+1,3600*24)] return list_datedef get_json(url): try: response = requests.get(url,headers=headers) if response.status_code == 200: json_text=response.json() return json_text except Exception: print('此页有问题!') return Nonedef get_comments(url): doc = get_json(url) dic = {} dic['pigprice'] = doc['pigprice'] dic['pig_in'] = doc['pig_in'] dic['pig_local'] = doc['pig_local'] dic['maizeprice'] = doc['maizeprice'] dic['bean'] = doc['bean'] a = '-'.join(doc['time'][3]) b = time.strftime('%Y-%m-%d',time.localtime(time.time())) print(dateRange(a,b)) dic['time'] = dateRange(a,b) return pd.DataFrame(dic)data =get_comments('http://zhujia.zhuwang.cc/index/api/chartData?areaId=-1&aa=1571997555296')
No.3
最后我们做出最近一年猪价变化的曲线图,具体代码如下:
#作图from pylab import mplimport matplotlib.pyplot as pltmpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体mpl.rcParams['axes.unicode_minus']plt.figure(figsize=(8,10), dpi=80)plt.figure(1)ax1 = plt.subplot(311)plt.plot(data['time'],data['pigprice'], color="r",linestyle = "-")plt.xticks([])plt.annotate(data['pigprice'][365], xy=(data['time'][365], 40), xytext=(data['time'][270], 35), arrowprops=dict(facecolor='black', shrink=0.1, width=0.5))plt.xlabel("生猪(外三元) 元/公斤")
最后我们得到的图形是这样的:
![5e29cb1fcf9c072a585ea0554b833099.png](https://img-blog.csdnimg.cn/img_convert/5e29cb1fcf9c072a585ea0554b833099.png)
![b269150f73c40daeabd84df733067b74.png](https://img-blog.csdnimg.cn/img_convert/b269150f73c40daeabd84df733067b74.png)
可以看到,猪肉价格一直处于一个快速上涨的过程中,知道最近才略有下降。当然我们希望猪肉价格可以尽快回到正常的水平去。
作者:刘巍巍
编辑校对:郭通