专栏首页CDA数据分析师美国失业人数突破2200万!这个动态图我用Python画出来了

美国失业人数突破2200万!这个动态图我用Python画出来了


CDA数据分析师 出品

作者:Mika

数据:真达

后期:泽龙

【导语】:今天我们聊聊美国失业人数,Python技术部分可以直接看第二部分。公众号后台,回复关键字“失业人数”获取完整数据。

Show me data,用数据说话

今天我们聊聊 美国失业人数

点击下方视频,先睹为快:https://v.qq.com/x/page/z0953svoin1.html

目前,我国新冠疫情已经大幅度好转,各省市在3到4月份已经开始复产复工,连受灾最严重的武汉也解封了,全国的情况逐渐步入正轨。

但同时全球疫情十分严峻, 根据美国约翰斯.霍普金斯大学统计的数据显示,截至北京时间19日晚6时38分,全球新冠死亡病例超过16万例,达到161,324例,全球确诊病例突破230万,达2,343,293例。

根据数据,目前死亡病例最多的国家是美国,为33,903例。美国同时还是全球确诊病例最多的国家,累计确诊病例突破70万,达到722,761例。

疫情给全球人民带来的不仅仅是生命的威胁,同样还有经济上的困境以及失业危机。因为疫情的影响,美国陷入了“裁员潮”,很多美国人不得不因为这次疫情被辞退,从而申请失业救济金。

01

美国失业人数超2200万

抹去11年来所有新增就业

美国劳工部16日公布的数据显示,受新冠疫情在美国蔓延影响,上周美国首次申请失业救济人数达到524.5万,这意味着过去四周美国首次申请失业救济人数已累计达到约2200万,这约占美国劳动力总数的八分之一,基本抹去了08年金融危机以来过去11年所有的新增就业。

特别是这个由美国劳工部统计的失业救济人数动态图,也是引爆全网,从中可以看到自六十年代来,美国的失业救济人数一直是上下波动。而受这次疫情影响,美国失业救济人数像坐了火箭一般,一路飙升。

(结尾高能,一定要看到最后!)

美国每周首次申请失业救济人数

来源:美国劳工部 United States Department of Labor

那么作为一个技术号,我们就来探讨一下这个动态图怎么做。今天我们就教你用Python来实现!

02

教你用Python绘制

美国申请失业险人数动态图

我们使用pyecharts包进行美国申请失业保险人数的动态趋势图的绘制,如果你没有安装pyecharts,可以使用以下代码进行pip安装。

pip install pyecharts

制作这样的一个动态图使用的是Pyecharts中的的TimeLine(时间线轮播图)的类。使用TimeLine的方法,你可以轻松地将绘制带有时间序列的动态图形,比如动态条形图、动态饼图、动态桑基图、动态地图等等。

首先需要导入我们需要使用的包,其中pandas用于数据整理,pyecharts用于绘图。

# 导入包
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Timeline, Line

首先使用pandas读入数据,我们选取的数据来自于美国劳工部官方网站,数据包含了从1967年07月01日~2020年04月04日的申请失业保险人数,这是一份带有时间序列的面板数据,适合进行动态可视化绘图使用。

# 读入数据
df = pd.read_excel('USA_UI_1967_2020.xlsx')
df.head() 

在绘图之前,首先我们需要梳理一下生成动图的逻辑和思路。

我们将绘图数据分为维度和度量来思考,在这个条形图的绘制中,时间就是维度,S.A.(申请失业保险人数)就是度量值,绘制动态折线图就是把每天的数据制作成一张截止到当天的折线图然后轮动,下面使用Pandas对时间数据进行简单的处理,并选取2000年以后的数据进行图形的绘制,处理后的数据如下所示:

# 时间处理
df['time_index'] = pd.to_datetime(df['time_index'])
df['time_index'] = df['time_index'].dt.date.astype('str')

# 选取子集
df_sel = df.loc[:, ['time_index', 'S.A.']]
df_sel['time_2'] = df_sel['time_index'].copy()
df_sel = df_sel.set_index('time_index') 
df_sel = df_sel.loc[(df_sel.index>='2000-01-01')] 
df_sel.head() 

接下来使用Pyecharts库中的TimeLine和Line类进行图形的绘制,代码说明如下,其中的配置项可以看到pyecharts官网 https://pyecharts.org 进行查看。

图形生成在本地的html网页中。

代码实现:

# 实例化一个timeline
t1 = Timeline(init_opts=opts.InitOpts(width='1350px', height='750px'))
# 添加配置项
t1.add_schema(play_interval=1,  # 播放的速度
              is_loop_play=False,  # 是否循环播放
              linestyle_opts=opts.LineStyleOpts(width=0.5),
              )

# 时间数据
time_date = df_sel.index.values.tolist()

for i in time_date:
    # 绘制线形图
    line = Line()
    line.add_xaxis(df_sel.loc[:i, 'time_2'].values.tolist())
    line.add_yaxis('', df_sel.loc[:i, 'S.A.'].values.tolist())
    line.set_global_opts(title_opts=opts.TitleOpts('美国申请失业保险{}日人数'.format(i))
                        )
    line.set_series_opts(label_opts=opts.LabelOpts(is_show=False),
                         linestyle_opts=opts.LineStyleOpts(width=2)
                         )
    # 添加到t1中
    t1.add(line, '{}'.format(i))

# 生成HTML文档
t1.render('美国申请失业保险动态折线图.html') 

这里我们选取2000年以后的数据进行绘制,最后让我们看到绘制后的成品:http://mpvideo.qpic.cn/0bf27uabgaaafyafs4u4nnpfb7odcp6qaeya.f10002.mp4?dis_k=27010e3cc87fc48bcbbc8ce90cc34c81&dis_t=1588750156

本文分享自微信公众号 - CDA数据分析师(cdacdacda),作者:爱用Python的C君

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python告诉你:粽子甜咸之争谁胜出?吃货最爱买谁家的粽子?

    【导语】:今天我们来聊聊粽子,Python分析部分请看第三部分。公众号后台,回复关键字“粽子”获取完整数据。

    CDA数据分析师
  • 淘宝重口味大数据:十二星座男到底哪个不能嫁?

    临近年关,各种大数据报告都出现了。今天,淘宝也玩了一出大数据,汇总了10条不能嫁的“汉子”。 具体来说,江苏狮子座的男子最败家,因为他们经常把钱花在艺术品和烟...

    CDA数据分析师
  • 帝都房价回调?带你用Python了解北京二手房市场现状

    今天让我们来聊一聊北京的二手房市场现状。公众号后台,回复关键字“二手房”获取完整数据。

    CDA数据分析师
  • 免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)

        在生活中有一种东西几乎已经快要成为我们的另一个电子”身份证“,那就是二维码。无论是在软件开发的过程中,还是在普通用户的日常中,几乎都离不开二维码。...

    彭泽0902
  • Sort Array By Parity 原

    Given an array A of non-negative integers, return an array consisting of all the...

    青木
  • 机器学习:对决策树剪枝

    昨天推送中介绍了决策树的基本思想,包括从众多特征中找出最佳的分裂点,刚开始大家都是用选择这个特征后带来的信息增益为基本方法,后来发现它存在一个严重的bug,因此...

    double
  • 日常答疑|Python实现分类频数统计

    预览数据发现,数据格式不正确,需要先进行格式转换,以及防止隐私泄露,我们用一定的方法进行脱敏处理。

    用户7466307
  • 决策树-CART算法

    总第80篇 01|前言: 本篇接着上一篇决策树详解,CART是英文“classification and regression tree”的缩写,翻译过来是分...

    张俊红
  • 第2-3课 检索数据检索列检索排序数据

    这两课主要介绍sql中利用select语句对数据的简单检索。 下面分别讨论不同类型的检索

    desperate633
  • 小白真能看一篇文章就学会全排列算法吗?

    今天是小浩算法 “365刷题计划” 第97天 。为大家分享如何用算法来求全排列!话不多说,直接看题!

    程序员小浩

扫码关注云+社区

领取腾讯云代金券