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

相关文章

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分