【Python】pandas获取全省人口数据并作可视化分析

前言

今天我们看看自己所在的省份的人口人数,使用pandas并作可视化分析。

环境使用

  • python 3.9
  • pycharm

模块使用

  • pandas

Pandas 是基于NumPy的一种工具,该工具是为解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。

 代码实现

我们以湖南省为例,我们可以在湖南省统计局官网上获取数据。

【Python】pandas获取全省人口数据并作可视化分析_第1张图片

 在里面我们可以看到各个地方的人口数据如下:

【Python】pandas获取全省人口数据并作可视化分析_第2张图片

 有的人说了,我可以右击查看源代码或者自己一个一个敲下来。今天,我们不用这个方法,我们用pandas的方法获取数据。

import pandas as pd

df = pd.read_html('http://tjj.hunan.gov.cn/hntj/tjfx/tjgb/rkpc/202105/t20210519_19050124.html')

运行得到结果如下:

【Python】pandas获取全省人口数据并作可视化分析_第3张图片

 我们会发现这是一个列表,所以需要我们处理数据。

数据清洗

1.删除(remove)

2.重命名列索引字段(rename)

df = df[0]

df = df.rename(columns={0: '城市', 1: '人口数', 2: '城市比重', 3: '乡村比重'})

df = df.drop(df.index[[0, 1, 2]])

df = df.reset_index(drop=True)

运行结果如下:

【Python】pandas获取全省人口数据并作可视化分析_第4张图片

可视化分析

下面我们做可视化分析:

首先导入模块

from pyecharts.charts import Bar

这里我们要用到pyecharts模块。

Pyecharts是一个用于生成Echarts图表的类库,可以与Python进行对接,方便在Python中直接使用数据生成图。Echarts是百度开源的一个数据可视化JS库,生成的图可视化效果非常棒,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。

Pyecharts分为v0.5.X和v1两个大版本,v0.5.X和v1间不兼容,v1是一个全新的版本。Pyecharts经过了半年的沉寂后,终于发布了新版本,新版本号将从v1.0.0开始,这是一个全新的、向下不兼容的Pyecharts版本,类似于Python 3与Python 2。不过,如果开发者以前接触过Pyecharts,新版本就很容易上手。

c = (

    Bar()

    .add_xaxis(df['城市'].tolist())

    .add_yaxis('人口数',df['人口数'].tolist())

)

 可视化数据输出

 c.render('人口数.html')

运行结果展示:

【Python】pandas获取全省人口数据并作可视化分析_第5张图片

 大家还可以对图表进行设置,看看自己省份的人口分布地图吧。

from pyecharts.charts import Map
map_show = df.groupby('城市')['人口数'].sum()
a = (
    Map()
    .add('人口数',maptype='湖南',data_pair=[list(i) for i in zip(map_show.index,map_show.values)])

)

可视化地图输出

【Python】pandas获取全省人口数据并作可视化分析_第6张图片 湖南人口分布可视化

 到这里,大体的效果就做出来了。

你可能感兴趣的:(python项目实战,python,开发语言,pandas,信息可视化,数据分析)