1999-2017年中国各省旅游外汇收入分析及可视化(附代码及数据)

本文主要是介绍1999-2017年中国各省旅游外汇收入分析及可视化(附代码及数据),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先,数据来源于国家统计局国家数据查询页面,如下:

 

640?wx_fmt=jpeg

然后通过爬虫把数据抓下来(当然,你通过选点页面,复制黏贴也可以做到),爬虫脚本见文章最后的地址,然后我也就不解释如何实现的了,因为——

 

640?wx_fmt=jpeg

 

大家也可以直接用我给出来的数据,数据地址直接看最后……

 

这段时间,需要参与一个有关时间序列分析的项目,所以用这种20年数据来练练手,找找感觉的。

 

不同省份的旅游外汇收入,基本上能够反映出中国改革开放和对外交流的程度,我们可以从这些数据中去发现一些有趣的问题,有兴趣研究的同学可以深入研究,本文仅介绍几种可视化的技术,首先,对于时序分析,当然第一分析图就是折线图咯,所以我就做了一个默认效果的折线图:

 

640?wx_fmt=jpeg

相信大家看到,感觉和我是一样的:

 

640?wx_fmt=jpeg

根本就没法看不是,也不知道谁是谁,所以,这种数据打堆放一起的时候,还是有一个交互效果比较好,比如我可以采用pyecharts来做折线图:放出动图如下:

 

640?wx_fmt=gif

如果你是javascript高手的,这种当然是小儿科,but,我们是用Python来做,所以百度家的Echarts号称中文JS免费第一可视化工具包,还是做了很多好事滴,特别是改造成Python的之后,对于我这种JS盲,那是绝对的福音啊。

 

代码还是见文末地址。

 

无聊的时候,我还做了一个相关性分析,得到了一个很有意思的结果:

 

640?wx_fmt=jpeg

甘肃这是要逆天啊……所有省份之间的旅游收入,都是正相关,但是甘肃与其他所有省份的旅游情况,恰恰是负相关,具体看看甘肃的情况: 

640?wx_fmt=jpeg

恭喜甘肃,获得全国旅游外汇收入波动最大省份……

 

以上都是属性可视化,下面介绍一种有关地图的可视化模型:分位数地图,先看图:

 

640?wx_fmt=jpeg

分位数地图,是利用箱线图的分位数方法,将数据分成六类(不算缺失值),然后映射到地图上面的方法,这本来是geoda的拿手技术,比如我用geoda实现中国2009年人口的分位数地图如下: 

640?wx_fmt=jpeg

现在我们可以用Python来进行实现了,实现的方法如下:

 

640?wx_fmt=jpeg

640?wx_fmt=jpeg

 

具体代码,可以从文末地址下载,最后,我们分别来做几个不同时间段的分位数地图看看:

 

首先看看2000年:

 

640?wx_fmt=jpeg

2000年的时候,宁夏是异常低值,而北京江苏都是异常高值……2000年时候的分布,基本上与经济情况相仿。

 

然后看看2008年:

2008年北京奥运年,所以北京依然是异常高值,宁夏依然是异常低值,但是浙江和福建对调了。

 

640?wx_fmt=jpeg

 

2012年:北京的旅游收入增长放缓,进入了第二梯队,江苏和广东依然异常高值。

640?wx_fmt=jpeg

2016年:异常高值只剩下了广东,而异常低值变成了甘肃。

 640?wx_fmt=jpeg

最后重复以前的一个观点:可视化不是分析结果,可视化只是数据本身表现出来的某些特征,这里面的分析结论以及后面的意义,就需要各位同学和专家们深入探索和研究了。

 

最后,代码与数据的位置如下:

 

https://github.com/allenlu2008/PythonDemo

 

里面的014时序分析,欢迎大家下载。

  

这篇关于1999-2017年中国各省旅游外汇收入分析及可视化(附代码及数据)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/670039

相关文章

Redis中的AOF原理及分析

《Redis中的AOF原理及分析》Redis的AOF通过记录所有写操作命令实现持久化,支持always/everysec/no三种同步策略,重写机制优化文件体积,与RDB结合可平衡数据安全与恢复效率... 目录开篇:从日记本到AOF一、AOF的基本执行流程1. 命令执行与记录2. AOF重写机制二、AOF的

Java集合之Iterator迭代器实现代码解析

《Java集合之Iterator迭代器实现代码解析》迭代器Iterator是Java集合框架中的一个核心接口,位于java.util包下,它定义了一种标准的元素访问机制,为各种集合类型提供了一种统一的... 目录一、什么是Iterator二、Iterator的核心方法三、基本使用示例四、Iterator的工

Java 线程池+分布式实现代码

《Java线程池+分布式实现代码》在Java开发中,池通过预先创建并管理一定数量的资源,避免频繁创建和销毁资源带来的性能开销,从而提高系统效率,:本文主要介绍Java线程池+分布式实现代码,需要... 目录1. 线程池1.1 自定义线程池实现1.1.1 线程池核心1.1.2 代码示例1.2 总结流程2. J

JS纯前端实现浏览器语音播报、朗读功能的完整代码

《JS纯前端实现浏览器语音播报、朗读功能的完整代码》在现代互联网的发展中,语音技术正逐渐成为改变用户体验的重要一环,下面:本文主要介绍JS纯前端实现浏览器语音播报、朗读功能的相关资料,文中通过代码... 目录一、朗读单条文本:① 语音自选参数,按钮控制语音:② 效果图:二、朗读多条文本:① 语音有默认值:②

MyBatis Plus大数据量查询慢原因分析及解决

《MyBatisPlus大数据量查询慢原因分析及解决》大数据量查询慢常因全表扫描、分页不当、索引缺失、内存占用高及ORM开销,优化措施包括分页查询、流式读取、SQL优化、批处理、多数据源、结果集二次... 目录大数据量查询慢的常见原因优化方案高级方案配置调优监控与诊断总结大数据量查询慢的常见原因MyBAT

Vue实现路由守卫的示例代码

《Vue实现路由守卫的示例代码》Vue路由守卫是控制页面导航的钩子函数,主要用于鉴权、数据预加载等场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一、概念二、类型三、实战一、概念路由守卫(Navigation Guards)本质上就是 在路

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

分析 Java Stream 的 peek使用实践与副作用处理方案

《分析JavaStream的peek使用实践与副作用处理方案》StreamAPI的peek操作是中间操作,用于观察元素但不终止流,其副作用风险包括线程安全、顺序混乱及性能问题,合理使用场景有限... 目录一、peek 操作的本质:有状态的中间操作二、副作用的定义与风险场景1. 并行流下的线程安全问题2. 顺

JAVA实现Token自动续期机制的示例代码

《JAVA实现Token自动续期机制的示例代码》本文主要介绍了JAVA实现Token自动续期机制的示例代码,通过动态调整会话生命周期平衡安全性与用户体验,解决固定有效期Token带来的风险与不便,感兴... 目录1. 固定有效期Token的内在局限性2. 自动续期机制:兼顾安全与体验的解决方案3. 总结PS

C#中通过Response.Headers设置自定义参数的代码示例

《C#中通过Response.Headers设置自定义参数的代码示例》:本文主要介绍C#中通过Response.Headers设置自定义响应头的方法,涵盖基础添加、安全校验、生产实践及调试技巧,强... 目录一、基础设置方法1. 直接添加自定义头2. 批量设置模式二、高级配置技巧1. 安全校验机制2. 类型