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

news2024/11/16 12:27:13

前言

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

环境使用

  • python 3.9
  • pycharm

模块使用

  • pandas

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

 代码实现

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

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

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

import pandas as pd

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

运行得到结果如下:

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

数据清洗

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)

运行结果如下:

可视化分析

下面我们做可视化分析:

首先导入模块

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')

运行结果展示:

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

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)])

)

可视化地图输出

湖南人口分布可视化

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/150214.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java和vue募捐网水滴筹项目捐款爱心系统筹款系统

简介 募捐网,注册用户实名认证通过后可以发布募捐,管理员审核募捐通过后,前台用户可以看到该募捐信息,进行募捐或者举报(管理审核举报成功后,会拉黑该募捐发起人),前台展示公告、爱…

83. 删除排序链表中的重复元素(链表)

文章目录题目描述方法一 暴力法方法二 递归法参考文献题目描述 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 示例 1: 输入:head [1,1,2] 输出:[1,2] 示例 2…

酷开系统——家庭场景下的智能营销系统!

随着人们生活方式的改变,以往传统的营销资源和渠道正在慢慢陷入一个“无用”的尴尬境地,而作为家庭娱乐中心的智能大屏,近两年所表现出来的数据和效果却逐渐备受企业和品牌方关注,有数据显示,智能大屏的家庭覆盖规模正…

bug 站在一个测试的角度看bug

如何描述一个bug ?如何定义bug的级别 ?bug的生命周期 ?如何开始第一次测试 ?测试的执行和bug管理 ?产生争执怎么办 ?如何描述一个bug?作为一名测试人员,提bug是最基础的工作,那我们如何才能把bug提的清晰易懂呢?发现问题的版本 开发人员获取对应…

k8s之基于kubeadm搭建k8s集群

写在前面 你可能知道搭建k8s集群的kind,minikube工具,但是他们都太简单了,不能满足生产级的要求,想要真正的部署生产级别的k8s集群,我们还需要另外一个集群管理工具kubeadm ,本文就一起看下如何使用该工具来搭建k8s集…

STM32MP157驱动开发——Linux下的单总线驱动

STM32MP157驱动开发——Linux下的单总线驱动0.前言一、DS18B20 及工作时序简介1.DS18B20 简介2.DS18B20 时序简介4.DS18B20温度读取流程二、DHT11 及工作时序简介1.DHT11 简介2.DHT11 工作时序简介三、驱动开发1.DS18B20驱动1)修改设备树2)驱动编写2.测试…

IB生物:干细胞与生命的各种功能

国际学校生物老师解读IB生物,感兴趣的同学记得收藏哦~IB生物分为SL(standard level)和HL(higher level)SL有6个topic∶细胞生物,分子生物,遗传学,生态学,物种进化以及多样性和人体生理。HL除了上述6个topic外还要加上∶…

Python入门基础实例讲解——两个数字比大小,并输出最大值

嗨害大家好鸭! 我是小熊猫~ 今天也是给大家带来干货的一天~ pycharm永久激活码可以从这里找到我: 输出:print() print() 方法用于打印输出,最常见的一个函数。 比较运算符 >: 大于&#…

关于校园网的各种连接问题

校园网网络使用异常,掉线、卡顿以及无法连接网络,经网络上收据的信息,大致分为五类:1.能获取到校园网地址如10.*.*.*,但无法跳出认证界面。2.物理链路故障;3.IP配置故障;4. 网络正常&#xff0c…

SpringCloud高级应用-1(SpringCloud技术栈概览)

1、SpringCloud技术栈 开发分布式系统可能具有挑战性,复杂性已从应用程序层转移到网络层,并要求服务之间进行更多的交互。将代码设为“cloud-native”就需要解决12-factor,例如外部配置,服务无状态,日志记录以及连接…

【矩阵论】8. 常用矩阵总结——单阵,正规阵,幂0阵,幂等阵,循环阵

矩阵论 1. 准备知识——复数域上矩阵,Hermite变换) 1.准备知识——复数域上的内积域正交阵 1.准备知识——Hermite阵,二次型,矩阵合同,正定阵,幂0阵,幂等阵,矩阵的秩 2. 矩阵分解——SVD准备知识——奇异值…

基于Promethus+Grafana搭建监控系统

简介 ● 监测数据类型&#xff1a;JVM数据、在线人数、消息时延等 ● 接入Prometheus性能监测工具&#xff0c;暴露服务器性能监测数据 ○ 模式&#xff1a;pull/push ● 接入Grafana可视化数据 搭建流程 准备环境 Java客户端配置 <!-- The client --> <depende…

IDEA 的Http接口调试工具

简介 这个工具我们可以完成绝大部分http请求&#xff0c;是一个不错的post-man替代工具 插件安装 在使用之前先确保 HTTP Client插件的安装&#xff0c;如果已经安装请无视这一步 > 安装后记得重启IDE编辑器确保插件可以正常使用 插件使用 描述&#xff1a; 所有HTTP请求…

2023年1月6日星期五-PPP/BPP相关学习-旧版重写

1. 独立均匀分布 matlab的rand指令可以帮助我们生成[0,1]的均匀分布的数据&#xff0c;这样&#xff0c;如果我们想要[a,b]的分布数据&#xff0c;只需要a(b-a)*rand就可以了。 [a,b] 均值μ&#xff0c;标准差 均值 标准差 matlab代码&#xff1a; %% 生成一个n行p列的矩…

Excel 中合并单元格的快捷键(ALT+H+M+M)

要在 excel 中合并单元格,首先选择要合并到一个单元格中的单元格,然后可以使用从ALT开始的快捷键,然后同时按H+M+M。 一旦我们使用快捷键执行该函数,它将弹出一条警告消息“合并单元格时,仅保留左上角的值,而放弃其他值“。如果我们继续,单元格将被合并,只保留一个值。…

Nature chemistry|机器学习可以克服自组装肽发现中的人类偏见

题目&#xff1a;Machine learning overcomes human bias in the discovery of self-assembling peptides 文献来源&#xff1a;Nature Chemistry | Volume 14 | December 2022 | 1427–1435 代码&#xff1a;https://doi.org/10.5281/zenodo.6564202&#xff08;非商业化证书…

Java安全:SecurityManager与AccessController

前言 什么是安全&#xff1f; 程序不能恶意破坏用户计算机的环境&#xff0c;比如特洛伊木马等可自我进行复制的恶意程序。程序不可获取主机及其所在网络的私密信息。程序的提供者和使用者的身份需要通过特殊验证。程序所涉及的数据在传输、持久化后都应是被加密的。程序的操…

Hudi的核心概念 —— 文件布局(File Layout)

文章目录文件布局&#xff08;File Layout&#xff09;Hudi 存储分为两个部分文件布局&#xff08;File Layout&#xff09; Hudi 将一个表映射为如下文件结构 Hudi 存储分为两个部分 &#xff08;1&#xff09;元数据&#xff1a;.hoodie 目录对应着表的元数据信息&#xff…

Vivado综合设置之-no_lc

本文详细讨论了当勾选或者不勾选-no_lc时的差异&#xff0c;也详细介绍了using O5 and O6以及using O6 output only的具体含义。 -no_lc表示NO LUT Combining&#xff0c;即无LUT整合&#xff0c;默认不勾选&#xff0c;即默认有LUT整合。LUT整合可以减少对LUT的使用量&#x…

架构设计---数据库的存储优化

前言&#xff1a; 互联网系统架构中&#xff0c;承受着最大出力压力&#xff0c;最难以被伸缩的&#xff0c;就是数据存储部分&#xff0c;原因主要有两方面&#xff0c;一方面&#xff0c;数据存储需要使用硬盘&#xff0c;而硬盘的处理速度要比其他几种计算资源都要慢&#…