前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我用python帮朋友做了张猪肉数据分析图,结果。。。

我用python帮朋友做了张猪肉数据分析图,结果。。。

作者头像
Python数据科学
发布2019-11-12 10:54:47
5580
发布2019-11-12 10:54:47
举报

抬头一看,二师兄又涨价了

叹了口气,再这么下去真的要吃不起夹肉的烧饼了

点了两个烧饼一碗馄饨

快吃完的时候,收到了朋友阿东的微信

阿东是我初中同学,好些日子没联系了

眼瞅着他快聊到区块链了,虽然这事不靠谱,但还是答应了阿东帮他做图。

我赶紧吃完最后一口,回公司,决定不午睡了。

开工!

阿东想要这样的图:

折线图嘛,先获取数据吧

正好图片中显示了数据来源:“中国养猪网”

打开官网,找到并跳转到猪价网址 http://zhujia.zhuwang.cc/

F12,Network查看异步请求XHR,成功找到价格接口。

新标签页打开,在线解析Json数据,不了解这块知识的朋友可以点击 在python里玩转Json数据

部分爬虫代码(完整代码见文末下载地址):

def 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')

运行结果:

成功获取最近一年的各种价格√

下面开始给阿东做折线图:

生猪价格的话选第一个外三元就好了,

使用 matplotlib 轻松可以做出折线图。

from pylab import mpl
import  matplotlib.pyplot as plt
mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体
mpl.rcParams['axes.unicode_minus']

plt.figure(figsize=(8,4), dpi=80)
plt.plot(data['time'],data['pigprice'], color="r",linestyle = "-")
plt.xticks(data['time'][2::121], rotation=0)
plt.xlabel("生猪(外三元) 元/公斤")

感觉还差点东西,可以标注一下最新一天的价格

另外既然已经获取了玉米和豆粕的价格,就一起做了吧~

利用 plt.subplot 可以绘制多个子图

from pylab import mpl
import  matplotlib.pyplot as plt
mpl.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("生猪(外三元) 元/公斤")

ax2 = plt.subplot(312)
plt.plot(data['time'],data['maizeprice'],color="y",linestyle = "-")
plt.xticks([])
plt.xlabel("玉米(15%水分) 元/吨")

ax3 = plt.subplot(313)
plt.plot(data['time'],data['bean'],color="g",linestyle = "-")
plt.xlabel("豆粕(43%蛋白) 元/吨")
plt.xticks(data['time'][2::121], rotation=0)

完工,

发给阿东。

却得到这样的回复

原来在他心里是这么定义朋友的啊。

可以,

这很东哥,

这很兄弟。

本文半虚构,如有雷同,那还真是巧了。 作者:朱小五,互联网公司数据分析师,热衷于爬虫,数据分析,可视化,个人公众号《凹凸玩数据》,在沙雕的同时居然还能学到技术。

一键爬取最新猪价&可视化的代码链接:1、扫码关注「数据挖掘工程师」订阅号2、回复「猪肉」即可获取

?长按 2 秒回复「猪肉」即可获取代码

赠送三本深度学习书籍

Keras深度学习

内容介绍:Keras作为深度学习流行的框架之一,是一个用Python语言编写的开源人工神经网络库。《Keras深度学习》一书从新手角度出发,系统介绍了Keras深度学习技术,从Python数据处理开始,到深度学习理论,再到Keras各种代码实战,全书秉承实例讲解的方式,降低学习难度。《Keras深度学习》全书共8章,前4章介绍了Keras的基础环境搭建和前端基础知识,包括Python数据编程、Python常用工具包和深度学习基本原理等;后4章介绍Keras深度学习方法与实战案例,包括使用Keras构建卷积神经网络、使用Keras进行序列处理、应用Keras实现更加精细化模型定制的函数式API、使用Keras实现GAN和VAE在内的多种深度生成式学习模型等。

赠送方式

关注下方公众号,回复:抽奖


推荐阅读

1、自动盖楼刷淘宝喵币!能自动的坚决不动手是程序员的基本素养!

2、警惕啊,不要随便发车票照片了,用Python可以算出了你的身份证号码!

3、最近程序员频繁被抓,如何避免面向监狱编程?!

4、牛逼了!Python代码补全利器,提高效率告别996!

5、106页的《Python进阶》中文版(附下载)

喜欢文章,点个在看

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python数据科学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档