Python版:Expatistan生活成本数据可视化

Python版:Expatistan生活成本数据可视化

Expatistan 生活成本数据分析是我们社区去年 12 月 15 号的时候布置的一个 Project,今天我们再重新回顾一下这个 Project,改进一下图表绘制部分。

Project 题目

我的 Project 题目一般使用 R 语言布置:

本周的小项目作业是“爬取 Expatistan 网站上的各国生活成本数据并绘制一幅世界地图进行展示”。

  1. 数据源:Expatistan

  2. 世界地图的底图数据:tmap 包内有一个 World 数据,调用方法:

1
data("World", package = "tmap")
  1. 爬取数据的 R 包,可以用 rvest

Tips: 可能需要到的函数:read_html,html_nodes,html_table;

  1. 绘制地图的 R 包,ggplot + sf (本周有教程),用 tmap 也行。

  2. 拓展作业:可以再绘制一些其他的图来展示各国生活成本的排名。

Python 版本参考答案

Python 爬取 Expatistan 网站上的各国生活成本指数数据也非常简单,只要根据 XPath 找到表格对应的 HTML 代码,然后调用 pandas 包的 read_html() 函数把 HTML 格式的表格读取为数据框即可。

数据爬取

代码去哪了?

代码可以加入我的知识星球后从知识星球下载附件获取~
要了解如何加入我的知识星球,可以阅读关于界面或者添加我的微信咨询。

地图绘制准备

接下来就是绘制地图了。首先导入需要的库:

代码去哪了?

代码可以加入我的知识星球后从知识星球下载附件获取~
要了解如何加入我的知识星球,可以阅读关于界面或者添加我的微信咨询。

我们从中选择 Songti SC,也就是宋体,然后修改字体域、图表的分辨率和保存图片的分辨率:

代码去哪了?

代码可以加入我的知识星球后从知识星球下载附件获取~
要了解如何加入我的知识星球,可以阅读关于界面或者添加我的微信咨询。

读取地图文件

这里我更换了地图数据文件,这里使用的是带有九段线的世界地图数据:

代码去哪了?

代码可以加入我的知识星球后从知识星球下载附件获取~
要了解如何加入我的知识星球,可以阅读关于界面或者添加我的微信咨询。

下面合并地图数据集和我们爬取到的各国生活成本指数数据,然后绘制地图:

代码去哪了?

代码可以加入我的知识星球后从知识星球下载附件获取~
要了解如何加入我的知识星球,可以阅读关于界面或者添加我的微信咨询。

隐藏警告:

代码去哪了?

代码可以加入我的知识星球后从知识星球下载附件获取~
要了解如何加入我的知识星球,可以阅读关于界面或者添加我的微信咨询。

然后就可以绘制世界地图了:

代码去哪了?

代码可以加入我的知识星球后从知识星球下载附件获取~
要了解如何加入我的知识星球,可以阅读关于界面或者添加我的微信咨询。

#

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×