数据代码分享|Python对全球Covid-19疫情失业数据相关性、可视化分析

简介: 数据代码分享|Python对全球Covid-19疫情失业数据相关性、可视化分析

全文链接:https://tecdat.cn/?p=33852


“失业”是 Covid-19 疫情的许多负面影响之一,几乎每个国家都受到了影点击文末“阅读原文”获取完整代码数据


帮助客户研究 Covid-19 期间的失业情况可能不仅揭示了该疫情对每个国家的影响程度,还揭示了世界各地不同的裁员文化。

在一个经济体中辞退工人的决策中有哪些因素?根据《商业内幕》(Business Insider)的报道,文化扮演着至关重要的角色。德国公司必须设立工厂委员会——代表工人在执行委员会面前发言的员工——以寻求解雇替代方案。瑞典有计划帮助重新培训被解雇的员工,并为他们提供慷慨的失业救济金。而在像日本这样有关职业保障的长期传统国家,裁员甚至被认为是一种社会禁忌。

除了失业外,该研究还旨在调查数据集提供的与就业有关的其他因素,例如劳动力依赖比和男女就业比率。

调查问题:

  1. 哪些国家和地区失去的工作小时数百分比最高和最低?
  2. 收入水平和失业率之间是否存在相关性?
  3. 哪些国家和地区劳动力依赖比最高和最低?
  4. 失去的工作小时数和劳动力依赖比之间是否存在相关性?
  5. 哪些国家和地区的男女劳动力就业比率最高和最低?


数据集


以 cvs 形式获取的数据查看文末了解数据免费获取方式。大多数估计值来自 2020 年。

image.png

数据集包括以下信息:

  • 就业人员的总每周工作时间
  • 相对于基线(2019 年第四季度)失去的小时数百分比
  • 相对于基线(2019 年第四季度)失去的小时数百分比,以全职就业损失表示。该指标通过将因 Covid-19 而失去的每周工时数除以 40 得到。
  • 相对于基线(2019 年第四季度)失去的小时数百分比,以全职就业损失表示。该指标通过将因 Covid-19 而失去的每周工时数除以 48 得到。
  • 被赡养者(年龄为 0-14 岁的人 + 要么在劳动力外要么失业的 15 岁及以上的人)与总就业人数之间的比率。
  • 2019 年从事以下某一类别工作(无论是否在工作岗位上)的女性:a) 有薪就业;或 b) 自雇(无论是在工作还是在企业中,但不在工作中)。
  • 2019 年从事以下某一类别工作(无论是否在工作岗位上)的男性:a) 有薪就业;或 b) 自雇(无论是在工作还是在企业中,但不在工作中)。
  • 15-64 岁人口的总每周工作时间与总人口之间的比率。


理解数据


employment.head()

image.png

employment.tail()

image.png

employment.info()

image.png

employment.isnull().sum()

image.png

employment.describe()

image.png

分析


1. Covid-19期间失去的工作小时数

1.1. 概述


# 添加一个包含三个字母ISO国家代码的列
import pycountry
def findCountryAlpha3 (country_name):
    try:
    ......
# 创建一个显示Covid-19期间失去工作小时数百分比的世界地图
import matplotlib.pyplot as plt
    ......
                    color_continuous_scale=px.colors.sequential.Viridis)
fig.show()

1.2. 失去工作小时数最高和最低的国家是哪些?


# 失去工作小时数百分比最高的5个国家
employment.sort_values('percentage_of_working_hrs_lost', 
    ......

image.png

# 失去工作小时数百分比最低的5个国家
employment
    ......

image.png

# 有多少个国家的失业率高于平均水平?
lost_hours = employment['percen
    ......

世界上有 131 个国家的失业率高于平均水平。

1.3. 失业率与收入之间是否存在相关性

# 根据收入水平找到失业数据
high_income = ['World: High income',
        ......
              "Northern, Southern and Western Europe: High income",
          
        ......
              "Eastern Asia: Upper-middle income",
              "South-Eastern Asia and the Pacific: Upper-middle income",
    
        ......
lower_middle = ['World: Lower-middle income',
              "Africa: Lower-middle income", "Africa: Upper-middle 
        ......
low_income = ['World: Low income', 
              'Africa: Low income', 
          
        ......
              "Central and Western Asia: Low income"]
# 根据条件选择行:
high = employment[employment['country'].isin(high_income)]
        ......
# 基于收入水平计算失去工作小时数的平均值:
high_mean = round(high['p
        .......mean(), 2)
        ......
          
for income, avg in zip(income_types,avgs):
  
        ......

image.png

In [22]:

name_income = ['High','Upper-middle','Lower-middle','Low']
        ......
plt.show()

image.png

点击标题查阅往期内容


自然语言处理NLP:主题LDA、情感分析疫情下的新闻文本数据


01

02

03

04


image.png

2. 劳动力依赖

2.1. 概览

在[23]中:

# 创建劳动力依赖比例的世界地图
import matplotlib.pyplot as plt
fig = px.choropleth(employment, locations="alpha_3",
               
    ......
fig.show()

2.2. 工作流失和劳动力依赖的相关性

在[24]中:

# 最高/最低劳动力依赖国家的工作时间损失百分比是什么样子?
columns = 
    ......
employment1.head(5)

image.png

# 工作时间损失和劳动力依赖比例之间的相关性
ld_ratio = pd.Series(emplo
    ......tio"])
    ......

在[25]中:

-0.026

在[26]中:

# 工作时间损失和劳动力依赖比例之间的关系图
ld_ratio = employment["labour
    ......
plt.show()

image.png

3. 就业性别比例

3.1. 概述

在[27]中的代码是用来计算全球范围内女性就业人数与男性就业人数的比例,并将结果可视化。

pythonCopy Code
# 计算全球范围内女性就业人数与男性就业人数的比例
import numpy as np
female = np.array(empl
        ......
employment['gender_difference'] = gender_diff
# 哪些国家的女性劳动力参与度最高和最低?
        ......round(gender_diff.mean(), 2),'%')
        ......
# 可视化全球范围内女性就业人数与男性就业人数的比例
import matplotlib.pyplot as plt
fig = px.choropleth(employment, locations="alpha_3",
        ......
                    color_contsma)
fig.show()

image.png

3.2. 比较不同地区男女劳动力参与度

在[28]中的代码是用来计算不同地区的女性劳动力参与度与男性劳动力参与度的比例,并进行了可视化。

# 计算不同地区的性别差异
female = np.array(employment['employed_female_25+_2019'])
        ......
region_group = employment[employment['country'].isin(regions)]
        ......
region_group

image.png

# 比较不同地区男女劳动力参与度的柱状图
gender_diff = [73.3
        ......8971]
plt.bar(regions, gender_diff)
        ......
plt.show()

image.png

在[30]中的代码是使用T检验检查女性劳动力参与度是否与男性劳动力参与度存在显著差异。

#进行t检验以检查女性劳动参与率是否与男性劳动参与率有所不同

#零假设:女性的劳动参与率与男性的劳动参与率无差异。
#备择假设:女性和男性的劳动参与率存在差异。
#统计显著性水平为0.05。
f = employment['employed_female_25+_2019'
    ......
print('{0:0.3f}'.format(pval))
#通过p值0.105,我们不能拒绝零假设。
0.10

更多可视化


1. 相关矩阵


emplorr()

image.png

#使用seaborn热图绘制相关矩阵
sns.heatmap(empl
    ......square=True);

image.png

#创建失去工作小时数的直方图
employmet.hist(bins=15)

image.png

#计算每个地区每周工作小时数的比率
columns1 = ['country','rat
    ......olumns1)
region_group1

image.png

#创建每个地区每周工作小时数比率的图表
sns.barplot("country", 
    ......per region")


[Text(0.5, 1.0, 'Working hours per region')]

image.png

结论


  • 在疫情期间,全世界的国家都面临就业不安全。失去工作时间的平均比率约为9%。不同国家和地区的影响有所不同,有些国家像新西兰或芬兰遭受的损失很小,而南美洲的一些国家面临着高达27.5%的惊人失业率。
  • 收入和失业的关系不明确,需要深入研究。虽然收入水平较高的地区比中高收入和中低收入地区承受的失业量少,但低收入地区的失业时间最少。
  • 拥有最高劳动力依赖比例的国家位于非洲。尽管劳动力依赖率最高的国家也有较高的失业率,但统计数据表明,劳动力依赖性与失业关系不显著。
  • 平均而言,2019年劳动力市场女性占男性的七分之五。欧洲在劳动力市场性别平等方面继续领先。


相关文章
|
1天前
|
算法 Serverless 数据处理
从集思录可转债数据探秘:Python与C++实现的移动平均算法应用
本文探讨了如何利用移动平均算法分析集思录提供的可转债数据,帮助投资者把握价格趋势。通过Python和C++两种编程语言实现简单移动平均(SMA),展示了数据处理的具体方法。Python代码借助`pandas`库轻松计算5日SMA,而C++代码则通过高效的数据处理展示了SMA的计算过程。集思录平台提供了详尽且及时的可转债数据,助力投资者结合算法与社区讨论,做出更明智的投资决策。掌握这些工具和技术,有助于在复杂多变的金融市场中挖掘更多价值。
22 12
|
6天前
|
数据采集 数据安全/隐私保护 Python
从零开始:用Python爬取网站的汽车品牌和价格数据
在现代化办公室中,工程师小李和产品经理小张讨论如何获取懂车帝网站的汽车品牌和价格数据。小李提出使用Python编写爬虫,并通过亿牛云爬虫代理避免被封禁。代码实现包括设置代理、请求头、解析网页内容、多线程爬取等步骤,确保高效且稳定地抓取数据。小张表示理解并准备按照指导操作。
从零开始:用Python爬取网站的汽车品牌和价格数据
|
18天前
|
并行计算 安全 Java
Python GIL(全局解释器锁)机制对多线程性能影响的深度分析
在Python开发中,GIL(全局解释器锁)一直备受关注。本文基于CPython解释器,探讨GIL的技术本质及其对程序性能的影响。GIL确保同一时刻只有一个线程执行代码,以保护内存管理的安全性,但也限制了多线程并行计算的效率。文章分析了GIL的必要性、局限性,并介绍了多进程、异步编程等替代方案。尽管Python 3.13计划移除GIL,但该特性至少要到2028年才会默认禁用,因此理解GIL仍至关重要。
97 16
Python GIL(全局解释器锁)机制对多线程性能影响的深度分析
|
23天前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
58 5
Python高性能编程:五种核心优化技术的原理与Python代码
|
27天前
|
缓存 Rust 算法
从混沌到秩序:Python的依赖管理工具分析
Python 的依赖管理工具一直没有标准化,主要原因包括历史发展的随意性、社区的分散性、多样化的使用场景、向后兼容性的挑战、缺乏统一治理以及生态系统的快速变化。依赖管理工具用于处理项目中的依赖关系,确保不同环境下的依赖项一致性,避免软件故障和兼容性问题。常用的 Python 依赖管理工具如 pip、venv、pip-tools、Pipenv、Poetry 等各有优缺点,选择时需根据项目需求权衡。新工具如 uv 和 Pixi 在性能和功能上有所改进,值得考虑。
84 35
|
28天前
|
数据采集 数据可视化 数据挖掘
金融波动率的多模型建模研究:GARCH族与HAR模型的Python实现与对比分析
本文探讨了金融资产波动率建模中的三种主流方法:GARCH、GJR-GARCH和HAR模型,基于SPY的实际交易数据进行实证分析。GARCH模型捕捉波动率聚类特征,GJR-GARCH引入杠杆效应,HAR整合多时间尺度波动率信息。通过Python实现模型估计与性能比较,展示了各模型在风险管理、衍生品定价等领域的应用优势。
251 66
金融波动率的多模型建模研究:GARCH族与HAR模型的Python实现与对比分析
|
1月前
|
数据采集 缓存 API
python爬取Boss直聘,分析北京招聘市场
本文介绍了如何使用Python爬虫技术从Boss直聘平台上获取深圳地区的招聘数据,并进行数据分析,以帮助求职者更好地了解市场动态和职位需求。
|
1月前
|
机器学习/深度学习 运维 数据可视化
Python时间序列分析:使用TSFresh进行自动化特征提取
TSFresh 是一个专门用于时间序列数据特征自动提取的框架,支持分类、回归和异常检测等机器学习任务。它通过自动化特征工程流程,处理数百个统计特征(如均值、方差、自相关性等),并通过假设检验筛选显著特征,提升分析效率。TSFresh 支持单变量和多变量时间序列数据,能够与 scikit-learn 等库无缝集成,适用于大规模时间序列数据的特征提取与模型训练。其工作流程包括数据格式转换、特征提取和选择,并提供可视化工具帮助理解特征分布及与目标变量的关系。
75 16
Python时间序列分析:使用TSFresh进行自动化特征提取
|
1月前
|
数据采集 Web App开发 数据可视化
Python用代理IP获取抖音电商达人主播数据
在当今数字化时代,电商直播成为重要的销售模式,抖音电商汇聚了众多达人主播。了解这些主播的数据对于品牌和商家至关重要。然而,直接从平台获取数据并非易事。本文介绍如何使用Python和代理IP高效抓取抖音电商达人主播的关键数据,包括主播昵称、ID、直播间链接、观看人数、点赞数和商品列表等。通过环境准备、代码实战及数据处理与可视化,最终实现定时任务自动化抓取,为企业决策提供有力支持。
|
1月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python实现基于矩阵分解的长期事件(MFLEs)时间序列分析
在现代数据分析中,高维时间序列数据的处理和预测极具挑战性。基于矩阵分解的长期事件(MFLEs)分析技术应运而生,通过降维和时间序列特性结合,有效应对大规模数据。MFLE利用矩阵分解提取潜在特征,降低计算复杂度,过滤噪声,并发现主要模式。相比传统方法如ARIMA和深度学习模型如LSTM,MFLE在多变量处理、计算效率和可解释性上更具优势。通过合理应用MFLE,可在物联网、金融等领域获得良好分析效果。
64 0
使用Python实现基于矩阵分解的长期事件(MFLEs)时间序列分析

热门文章

最新文章

推荐镜像

更多