当前位置: 首页 > 后端技术 > Python

谁在上升,谁在下降?新一线城市竞争力盘点,用Python画动态图帮你看懂!

时间:2023-03-25 20:56:36 Python

点击添加图片描述(最多60字)编辑CDA数据分析师制作人:米卡数据:振达后期:泽龙【攻略】今天我们用数据来说说新一线城市。给我看数据,用数据说话。今天我们就来说说新一线城市。提到一线城市,大家第一时间就会想到北上广深四大超级大都市。此外,近年来,新一线城市的概念也越来越为大众所熟知。2013年,财经媒体第一财经提出“新一线城市”概念,以商业资源集聚度、城市枢纽、城市人活跃度、生活方式多样性和未来可塑性五项指标为评价指标,旨在在全国多个城市。对100个地级城市进行了新的排名,将未来最有潜力晋升为传统一线城市的15个城市称为“新一线城市”。作为最接近一线城市的梯队,新一线城市的榜单可以说是含金量十足,一年一度的评选备受瞩目。点击添加图片说明(最多60字)编辑(来自维基百科)2020年新增15个一线城市包括成都、重庆、杭州、武汉、西安、天津、苏州、南京、郑州、长沙、东莞、沉阳、青岛、合肥、佛山。点击添加图片说明(最多60字)编辑(摘自21世纪报道)其中,在人口增长方面:西安因落户门槛大幅降低,近三年新增128.87人将西咸新区人口计入万户常住人口中,常住人口增速在15个新一线城市中排名第一。常住人口连年增长的杭州,近三年新增117.2万人,在新一线城市中排名第二。与他们相比,天津近三年常住人口增加-2900人,沉阳三年增加3万,势头疲软。那么这15个新一线城市近20年的GDP变化趋势如何?人口竞争力如何排名?多少钱?今天我们就用数据来全面解读这15座城市。这次我们使用Python的动态可视化库plotly对这15个城市2000-2019年的GDP、人口、房价数据进行了可视化,下面让我们一起来看看吧!我们的数据是从以下四个维度展开的:2000-2019新一线城市GDP趋势2000-2019新一线城市GDP与人口趋势2001-2019新一线城市人口增长数据近10年平均新一线城市年房价走势图01数据获取我们使用Python的可视化库Plotly对15个新一线城市的人口/GDP/房价数据进行动态可视化。Plotly是一个基于javascript的绘图库,绘图类型丰富,效果漂亮。使用Plotly,你可以画出许多媲美Tableau的高质量图片。如果没有安装plotly,可以使用如下代码进行pip安装:pipinstallplotly-ihttps://pypi.tuna.tsinghua.ed...首先导入我们需要使用的包,这里pandas是用于数据组织,plotly用于数据可视化。#导入包importpandasaspdimportplotlyaspyimportplotly.graph_objsasgoimportplotly.expressaspxfromplotlyimporttools使用pandas读入和合并数据集。我们选取的数据来自国家统计局网站,包括15个新增一线城市2000-2019年20年的GDP和人口数据,这是一个时间序列的面板数据,适用于动态可视化和映射。#读取数据df_gdp=pd.read_excel('../data/新一线城市人口和GDP.xlsx',sheet_name=0)df_pop=pd.read_excel('../data/新一线城市人口和GDP-tiercities.xlsx',sheet_name=1)#合并数据df_all=pd.merge(left=df_gdp,right=df_pop,on=['city','year'])df_all=df_all.sort_values(['city','year'])df_all.head()点击添加图片描述(最多60个字符)编辑02数据可视化Plotly有两个非常常用的绘图模块,分别是graph_objs和express。这次我们主要使用express来绘制动态可视化图形。使用它可以轻松绘制散点图、柱状图、漏斗图、桑基图等图形。使用官网:https://plotly.com/python/plo...绘制步骤也很简单:直接用px调用某个绘图方法,会自动创建画布,绘制图形。显示图形可以直接在notebook中显示,也可以使用py.offline.plot(fig,filename="XXX.html")代码在html网页上保存为动态图片。接下来我们演示使用plotly.express绘制动态柱状图和散点图。先画一个动态柱状图,展示15个城市GDP随时间的变化趋势,调用bar方法即可。绘图主要参数说明:data_frame:数据框名称x:列名,显示维度y:列名,显示度量color:colortext:条形图标记文本title:标题range_y:y轴的刻度范围animation_frame:columnname,控制动画帧#Bargraphfig2=px.bar(df_all,x='City',y='GDP',color='City',text='GDP',title='GDPofthenew一线城市近20年变化趋势',range_y=[300,25000],animation_frame='year',)fig2.update_layout(yaxis_title='GDP(亿元)')#更新布局配置py.offline.plot(fig2,filename='2000-2019GDP变化趋势.html')然后绘制动态散点图,展示15个城市的GDP和人口随时间的变化趋势,调用scatter方法即可。绘制步骤与上述类似。#散点图fig3=px.scatter(df_all,x='GDP',y='population',animation_frame='year',animation_group='city',size='population',color='city',hover_name='city',size_max=50,text='城市',range_x=[300,25000],range_y=[150,4000],title='近20年新一线城市GDP和人口变化趋势',)fig3.update_layout(xaxis_title='GDP(亿元)',yaxis_title='人口(万人)')py.offline.plot(fig3,filename='2000-2019年GDP与人口变化趋势.html')03可视化想要获取具体的数据代码和可视化效果图,可以给小编留言或私信哦!