谁在崛起,谁在没落?新一线城市竞争力盘点,用Python绘制动态图带你看懂!

python爬虫人工智能大数据

共 7095字,需浏览 15分钟

 ·

2020-07-28 12:13

 



 CDA数据分析师 出品  

作者:Mika

数据:真达  

后期:泽龙

【导读】今天我们用数据来聊一聊新一线城市。

关注CDA数据分析师公众号
回复关键字“城市” 
获取详细数据代码

CDA数据分析师 


Show me data,用数据说话

今天我们聊一聊 新一线城市

点击下方视频,先睹为快:


提到一线城市,大家马上会想到北上广深这四个超级大都市。除此之外,近年来新一线城市这个概念也越来越被大众所熟知。


2013年,财经媒体第一财经提出了“新一线城市”的概念,以商业资源集聚度、城市枢纽性、城市人活跃度、生活方式多样性以及未来可塑性作为评判的五大指标,针对全国几百个地级市进行了全新的排名,将未来最有潜力晋升传统一线城市的15个城市称为“新一线城市”。


作为距离一线城市最近的梯队,新一线城市的榜单可以说含金量十足,每年的评选都备受关注。


(来自维基百科)



2020年15座新一线城市包括成都、重庆、杭州、武汉、西安、天津、苏州、南京、郑州、长沙、东莞、沈阳、青岛、合肥、佛山

(来自21世纪报道)


其中在人口增量方面:西安由于大幅降低落户门槛,且将西咸新区人口纳入人口总数后,在近3年以新增128.87万常住人口,排名15个新一线城市常住人口增量第一位。常住人口增量连年提升的杭州,则以近3年117.2万的增量,排名新一线城市第二位。


和它们相比,天津近3年以来出现常住人口-0.29万的增长,沈阳3年增长了3万,势头微弱。


那么这15座新一线城市
近20年来的GDP变化趋势如何?
人口竞争力如何排座次?
房价又是怎样的?


今天我们就来用数据全面解读这15座城市。


这次我们使用Python的动态可视化库plotly,对这15座城市从2000年到2019年这20年的GDP、人口以及房价数据进行了可视化。下面就让我们来一起看看吧!


我们的数据从以下四个维度展开:


  • 新一线城市2000-2019年GDP变化趋势

  • 新一线城市2000-2019年GDP和人口变化趋势

  • 新一线城市2001-2019年人口增量数据

  • 新一线城市近10年平均房价走势图


01 数据获取


我们使用Python的可视化库Plotly对15座新一线城市的人口/GDP/房价数据进行动态可视化展示。plotly是一个基于javascript的绘图库,绘图种类丰富,效果美观,使用Plotly可以画出很多媲美Tableau的高质量图。


如果你没有安装plotly,可以使用以下代码进行pip安装:


pip install plotly -i https://pypi.tuna.tsinghua.edu.cn/simple


首先导入我们需要使用的包,其中pandas用于数据整理,plotly用于数据可视化。


# 导入包
import pandas as pd

import plotly as py 
import plotly.graph_objs as go 
import plotly.express as px 
from plotly import tools


使用pandas读入并合并数据集,我们选取的数据来自于国家统计局网站,该数据包含了15座新一线城市自2000年~2019年20年期间的GDP和人口数据,这是一份带有时间序列的面板数据,适合进行动态可视化绘图使用。


# 读入数据
df_gdp = pd.read_excel('../data/新一线城市人口和GDP.xlsx', sheet_name=0)
df_pop = pd.read_excel('../data/新一线城市人口和GDP.xlsx', sheet_name=1)

# 合并数据
df_all = pd.merge(left=df_gdp, right=df_pop, on=['城市', '年份']) 
df_all = df_all.sort_values(['城市','年份']) 
df_all.head()  



02 数据可视化


Plotly有两个很常用的绘图模块,分别是graph_objs和express,此次我们主要使用express进行动态可视化图形的绘制,使用它可以轻松绘制如散点图、条形图、漏斗图、桑基图等图形。


使用官网:

https://plotly.com/python/plotly-express/


绘图的步骤也非常简单:

  • 直接使用px调用某个绘图方法,会自动创建画布,并画出图形。

  • 展示图形,可以直接在notebook中展示,也可以使用py.offline.plot(fig,filename="XXX.html")代码保存成html网页动态图片。


接下来我们演示使用plotly.express绘制动态条形图和散点图。


首先绘制一个动态条形图,用于展示15座城市随时间走势的GDP变化趋势,调用bar的方法即可。


绘图主要参数解释:


  1. data_frame:数据框名称
  2. x:列名,展示的维度
  3. y:列名,展示的度量
  4. color:颜色
  5. text:条形图标记文本
  6. title:标题
  7. range_y:y轴的刻度范围
  8. animation_frame:列名,控制动画帧
# 条形图
fig2 = px.bar(df_all, x='城市', y='GDP', color='城市', text='GDP'
             title='新一线城市近20年GDP变化趋势',
             range_y=[30025000],
             animation_frame='年份',
             ) 
fig2.update_layout(yaxis_title='GDP(亿元)')  # 更新布局配置
py.offline.plot(fig2, filename='2000-2019年GDP变化趋势.html')


然后绘制一个动态散点图,用于展示15座城市随时间走势的GDP和人口变化趋势,调用scatter的方法即可。绘图步骤和上述类似。


# 散点图
fig3 = px.scatter(df_all, x='GDP', y='人口', animation_frame='年份', animation_group='城市'
                 size='人口', color='城市', hover_name='城市', size_max=50, text='城市',
                 range_x=[30025000], range_y=[1504000],
                 title='新一线城市近20年GDP和人口变化趋势'
                ) 
fig3.update_layout(xaxis_title='GDP(亿元)', yaxis_title='人口(万人)')
py.offline.plot(fig3, filename='2000-2019年GDP和人口变化趋势.html')


03 可视化效果


下面我们来具体看下可视化效果:


新一线城市

2000-2019年GDP变化趋势



新一线城市

2000-2019年GDP和人口变化趋势



新一线城市

2001-2019年人口增量数据



新一线城市近10年平均房价走势图



关注CDA数据分析师公众号
回复关键字“城市” 
获取详细数据代码

CDA数据分析师 

本文出品:CDA数据分析师(ID: cdacdacda)



参考文献:


新一线城市人口竞争力大盘点:杭州亮了,3年激增百万!有地方却负增长,这些指标很关键!

https://mp.weixin.qq.com/s/btYEttPoeCQ8hOyiRaoPAw

维基百科-一线城市

https://zh.wikipedia.org/wiki/%E4%B8%80%E7%BA%BF%E5%9F%8E%E5%B8%82


?推荐阅读 READ MORE


(点击下方图片阅读)

吃货的自我修养 | 口味虾哪家最好吃?我用Python告诉你

带你用Python解读高考数据:全国哪里的高校最多?什么专业最热门?

 

?CDA课程咨询

浏览 11
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报