python可视化:北方城市人口流动趋势分析1
python可视化:北方城市人口流动趋势分析1
斑点鱼在做销售数据分析时发现北京天津的同比下滑明显,客流下滑明显。而山东保定的客流同比上升。引起了斑点鱼对于北方人口流动的好奇。
所以本文将分析2025年北方地区(北京、天津、河北、山东、山西、辽宁等)的人口流动状况,包括一线城市人口外流现象、三线城市人口涌入情况,以及旅游人口流动的影响。
北方地区人口流动现状
北方地区的人口流动呈现出明显的分化趋势:
- 一线城市人口外流明显:
- 北京:2025年初常住人口为2183.2万,较2023年末的2185.8万减少了2.6万,延续了近年来的负增长趋势。北京常住外来人口比例从2020年的38.5%降至2024年的约37.8%。
- 天津:2025年初常住人口1364万,较2021年末的1373万减少了9万,人口负增长态势更为明显。天津滨海新区在2010-2020年间人口减少了65万。
- 三线城市人口流动分化:
- 河北省整体处于人口负增长状态,2021年常住人口减少16万,但部分三线城市如石家庄可能吸引省内人口。
- 山东省作为人口大省(2025年初常住人口10080.17万),青岛等城市保持人口正增长(2021年增加15.1万)。
- 辽宁省整体人口外流严重,2010-2020年东北三省总计流出人口1100万,主要流向山东、北京、河北等地。
- 旅游人口流动:
- 河北省2025年春运跨区域人员流动量达5.34亿人次,显示短期人口流动活跃。
- 北京、天津等城市旅游吸引力强,但旅游人口多为短期流动,对常住人口统计影响有限。
Python可视化分析
1. 数据准备
首先安装必要库:
pip install pandas numpy matplotlib seaborn plotly requests
2. 数据获取与清洗
import pandas as pd
import numpy as np# 模拟创建北方各省市人口流动数据集
data = {'地区': ['北京', '天津', '河北', '山东', '山西', '辽宁'],'2020常住人口(万)': [2189.3, 1386.6, 7461.0, 10070.2, 3491.6, 4259.1],'2025常住人口(万)': [2183.2, 1364.0, 7445.0, 10080.2, 3480.0, 4230.0],'2020-2025变化(万)': [-6.1, -22.6, -16.0, 10.0, -11.6, -29.1],'GDP增长率(%)': [4.8, 3.5, 5.2, 6.1, 4.3, 3.8],'城镇化率(%)': [87.5, 84.7, 63.1, 63.1, 59.6, 72.8],'60岁以上比例(%)': [19.6, 21.7, 20.3, 20.9, 18.3, 25.7]
}df = pd.DataFrame(data)
df['人口变化率(%)'] = (df['2025常住人口(万)'] - df['2020常住人口(万)']) / df['2020常住人口(万)'] * 100
输出:df1
3. 基本可视化
人口变化柱状图:
import matplotlib.pyplot as plt
import seaborn as snsplt.figure(figsize=(10, 6))
sns.barplot(x='地区', y='2020-2025变化(万)', data=df, palette='coolwarm')
plt.title('北方主要省市2020-2025年人口变化(万)')
plt.xlabel('地区')
plt.ylabel('人口变化(万)')
plt.axhline(0, color='black', linestyle='--')
plt.show()
图1:
人口变化与GDP增长率散点图:
plt.figure(figsize=(10, 6))
sns.scatterplot(x='GDP增长率(%)', y='人口变化率(%)', hue='地区', data=df, s=200)
plt.title('北方省市GDP增长率与人口变化率关系(2020-2025)')
plt.xlabel('GDP增长率(%)')
plt.ylabel('人口变化率(%)')
plt.axhline(0, color='gray', linestyle='--')
plt.axvline(df['GDP增长率(%)'].mean(), color='gray', linestyle='--')
plt.grid(True)
plt.show()
图2:
4. 高级可视化
人口金字塔(以北京为例):
# 北京人口年龄结构数据(来自第七次人口普查)
age_groups = ['0-4', '5-9', '10-14', '15-19', '20-24', '25-29', '30-34', '35-39', '40-44', '45-49', '50-54', '55-59', '60-64', '65-69', '70-74', '75-79', '80-84', '85+']
male = [447165, 485161, 335714, 345715, 715999, 995896, 1309189, 1108136, 838444, 842337, 842484, 828013, 677025, 568385, 314838, 184665, 152087, 124749]
female = [416355, 447792, 306590, 287842, 634503, 908792, 1193840, 1035049, 763689, 776237, 777307, 799526, 709505, 626286, 353703, 230508, 196699, 160140]plt.figure(figsize=(10, 12))
plt.barh(age_groups, [x/10000 for x in male], color='skyblue', label='男性(万人)')
plt.barh(age_groups, [-x/10000 for x in female], color='salmon', label='女性(万人)')
plt.title('北京市人口年龄金字塔(第七次人口普查)')
plt.xlabel('人口数量(万人)')
plt.ylabel('年龄组')
plt.xticks(np.arange(-15, 16, 5), [abs(x) for x in np.arange(-15, 16, 5)])
plt.axvline(0, color='black')
plt.legend()
plt.show()
图3:
热力图展示多指标关系:
corr_df = df[['2020-2025变化(万)', 'GDP增长率(%)', '城镇化率(%)', '60岁以上比例(%)']].corr()plt.figure(figsize=(8, 6))
sns.heatmap(corr_df, annot=True, cmap='coolwarm', center=0)
plt.title('人口变化与经济指标相关性热力图')
plt.show()
图4:
5. 交互式可视化
使用Plotly创建交互式图表:
import plotly.express as pxfig = px.scatter(df, x='GDP增长率(%)', y='人口变化率(%)', size='2025常住人口(万)', color='地区', hover_name='地区', title='北方省市GDP增长率与人口变化率(2020-2025)',labels={'GDP增长率(%)': 'GDP增长率(%)', '人口变化率(%)': '人口变化率(%)'})
fig.update_traces(marker=dict(line=dict(width=1, color='DarkSlateGray')))
fig.update_layout(showlegend=True)
fig.show()
图5:
结论
综合数据分析可见,北方地区特别是北京、天津等一线城市确实面临人口外流压力,而三线城市人口流动呈现分化态势,部分城市如青岛保持人口净流入。
人口流动主要受经济因素驱动,包括就业机会、收入水平和生活成本等。旅游人口流动规模庞大但多为短期行为,对常住人口统计影响有限。
人口流入流出的主要原因分析
基于现有数据和研究,北方地区人口流动的主要原因包括:
- 经济因素:
- 就业机会:南方城市和新一线城市(如成都、杭州)提供更多就业机会
- 收入差距:北方传统产业衰退,南方新兴产业薪酬更高
- 生活成本:北京、天津房价居高不下,推高生活成本
- 政策因素:
- 户籍政策:新一线城市降低落户门槛吸引人才
- 京津冀协同发展政策引导部分产业和人口从北京外迁
- 东北振兴政策效果有限,未能遏制人口外流
- 社会因素:
- 教育资源:优质教育资源集中在一线城市,但准入门槛高
- 医疗资源:类似教育资源的分布状况
- 老龄化:北方地区老龄化程度高(如山东60岁以上人口占20.9%),影响人口结构
- 环境因素:
- 北方冬季寒冷和空气污染促使部分人群南迁
- 南方城市生活环境质量普遍较高
- 产业转型:
- 北方重工业、传统制造业衰退
- 南方数字经济、新兴产业快速发展
相关文章:
python可视化:北方城市人口流动趋势分析1
python可视化:北方城市人口流动趋势分析1 斑点鱼在做销售数据分析时发现北京天津的同比下滑明显,客流下滑明显。而山东保定的客流同比上升。引起了斑点鱼对于北方人口流动的好奇。 所以本文将分析2025年北方地区(北京、天津、河北、山东、山西、辽宁等)…...
wps excel 常用操作
数据分列 对于有分隔规律的内容,可以通过分隔符将该内容进行分列 例如,以下字符串,可使用Excel对包含IP地址、数据库类型、环境、负责人和日期的字符串进行分列: 192.168.175.211-MySQL 数据库-DEV-李华-2025.06.30 将以上字符串…...
云智融合普惠大模型AI,政务服务重构数智化路径
2025年是“十四五”收官之年,数字政府和政务数智化作为“数字中国”建设的重点,已经取得了显著成效。根据《联合国电子政务调查报告2024》,我国电子政务发展指数全球排名第35位,与2022年相比提升8个名次;其中ÿ…...
全行业软件定制:APP/小程序/系统开发与物联网解决方案
在数字化浪潮席卷全球的今天,软件已经渗透到我们生活的方方面面,成为推动社会进步的重要力量。作为一家专注于专业软件定制开发的公司,哲科软件深知每一个行业、每一个企业都有其独特的需求和痛点。因此,我们致力于提供个性化软件…...
Java虚拟机(JVM)家族发展史及版本对比
Java虚拟机(JVM)家族发展史及版本对比 一、JVM家族发展史 1. 早期阶段(1996-2000) Classic VM(Java 1.0-1.1): 厂商:Sun Microsystems(Oracle前身)。特点&…...
电脑怎么强制退出程序回到桌面 详细操作步骤
电脑日常使用过程中,我们有时会遇到程序无响应或卡死的情况,这时需要采取措施强制关闭这些程序才能保持电脑的正常工作和运行。那么,电脑如何强制退出程序呢?其实方法有很多种,下面便为大家介绍几种电脑强制关闭程序的…...
蓝牙 LE:安全模式和程序说明(蓝牙中的网络安全)
在蓝牙低功耗 (BLE) 中,安全性是一个多方面的难题。了解 BLE 的三种主要安全模式以及五个关键的 BLE 安全程序。 毫无疑问,低功耗蓝牙 (BLE) 技术的迅猛发展为我们的生活带来了更多便利。然而,随着低功耗蓝牙设备的普及,人们对其安全性的担忧也日益加剧。 与普遍看法相反…...
低代码平台开发胎压监测APP
项目介绍 该项目是一个利用Flutter框架和蓝牙技术实现轮胎压力实时监测的应用。 主要功能如下: 用于接收蓝牙模块传输的胎压数据,并实时显示胎压值。APP对接收到的胎压数据进行处理,如单位转换、数据滤波等,然后将处理后的胎压值…...
GNOME扩展入门:日期时间
Getting Started | GNOME JavaScript 1.扩展路径 ~/.local/share/gnome-shell/extensions/ 2.新建文件夹 datetimesonichy 3.metadata.json {"uuid": "datetimesonichy","name": "datetime","description": "Dis…...
NLP高频面试题(五十二)——深度学习优化器详解
在深度学习的训练过程中,各种基于梯度的优化器肩负着寻找损失函数最优解的重任。最基础的梯度下降法通过沿着损失函数负梯度方向迭代更新参数,实现对模型参数的优化;而随机梯度下降(SGD)则以更高的计算效率和内存利用率在大规模数据集上大放异彩,但也因更新噪声大、易陷入…...
SLAM常用地图对比示例
序号地图类型概述1格栅地图将现实环境栅格化,每一个栅格用 0 和 1 分别表示空闲和占据状态,初始化为未知状态 0.52特征地图以点、线、面等几何特征来描绘周围环境,将采集的信息进行筛选和提取得到关键几何特征3拓扑地图将重要部分抽象为地图&…...
Web常见攻击方式及防御措施
一、常见Web攻击方式 1. 跨站脚本攻击(XSS) 攻击原理:攻击者向网页注入恶意脚本,在用户浏览器执行 存储型XSS:恶意脚本存储在服务器(如评论区) 反射型XSS:恶意脚本通过URL参数反射给用户 DOM型XSS&…...
java.lang.IllegalArgumentException: URI is not hierarchical报错
java.lang.IllegalArgumentException: URI is not hierarchical Thread.currentThread().getContextClassLoader("类的全路径").getClass().newInstance()一个类的静态块初始化异常了,后面调用这个类创建对象会报错吗? 是的,如果一…...
118. 杨辉三角
目录 一、问题描述 二、解题思路 三、代码 四、复杂度分析 一、问题描述 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 二、解题思路 每一行的第一个和最后一个元素是 1&…...
Anything V4/V5 模型汇总
二次元风格生成扩散模型-anything-v4.0Stable Diffusion anything-v5-PrtRE模型介绍及使用深度探索 Anything V5:安装与使用全攻略anything-v5x0.25少儿插画_v1xyn-ai/anything-v4.0...
网络原理 - 7(TCP - 4)
目录 6. 拥塞控制 7. 延时应答 8. 捎带应答 9. 面向字节流 10. 异常情况 总结: 6. 拥塞控制 虽然 TCP 有了滑动窗口这个大杀器,就能够高效可靠的发送大量的数据,但是如果在刚开始阶段就发送大量的数据,仍然可能引起大量的…...
探秘 FFmpeg 版本发展时间简史
前言 FFmpeg 是一套开源的计算机程序,主要用于记录、转换数字音频、视频,并能将其转化为流。它提供了录制、转换以及流化音视频的完整解决方案,在多媒体处理领域应用广泛。很多小伙伴们想系统的学习FFmpeg,还是有必要了解下FFmpeg的版本发展历史,感受它每次的版本迭代是如…...
5.3.1 MvvmLight以及CommunityToolkit.Mvvm介绍
MvvmLight、CommunityToolkit.Mvvm是开源包,他们为实现 MVVM(Model-View-ViewModel)模式提供了一系列实用的特性和工具,能帮助开发者更高效地构建 WPF、UWP、MAUI 等应用程序。 本文介绍如下: 一、使用(旧)的MvvmLight库 其特点如下,要继承的基类是ViewModelBase;且使用…...
PCB常见封装类型
1. 电阻、电容、电感封装 2. 二极管、三极管封 3. 排阻类器件(8脚、16脚)封装 4. SO类器件(间距有1.27、2.54mm等)封装 5. QFP类器件封装(四方扁平封装) 结构:引脚分布在封装的四个侧面&#…...
一键多环境构建——用 Hvigor 玩转 HarmonyOS Next
引言 在 HarmonyOS Next 的应用开发中,常常需要针对不同环境(测试、预发、线上)或不同签名(调试、正式)输出多个 APP/HAP 包。虽然 HarmonyOS 提供了多目标构建(Multi-Target Build)能力&#…...
SQLPandas刷题(LeetCode3451.查找无效的IP地址)
描述:LeetCode3451.查找无效的IP地址 表:logs ---------------------- | Column Name | Type | ---------------------- | log_id | int | | ip | varchar | | status_code | int | ---------------------- log_id 是这张表的唯…...
【leetcode100】组合总和Ⅳ
1、题目描述 给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。 题目数据保证答案符合 32 位整数范围。 示例 1: 输入:nums [1,2,3], target 4 输出࿱…...
2020-06-23 暑期学习日更计划(机器学习入门之路(资源汇总)+概率论)
机器学习入门 前言 说实话,机器学习想学好真心不易,很多时候都感觉自己学得云里雾里。以前一段时间自己为了完成毕业设计,在机器学习的理论部分并没有深究,仅仅通过TensorFlow框架力求快速实现模型。现在来看,很多时候…...
Linux操作系统--基础I/O(上)
目录 1.回顾C文件接口 stdin、stdout、stderr 2.系统文件I/O 3.接口介绍 4.open函数返回值 5.文件描述符fd 5.1 0&1&2 1.回顾C文件接口 hello.c写文件 #include<stdio.h> #include<string.h>int main() {FILE *fp fopen("myfile","…...
Spring boot 中的IOC容器对Bean的管理
Spring Boot 中 IOC 容器对 Bean 的管理,涵盖从容器启动到 Bean 的生命周期管理的全流程。 步骤 1:理解 Spring Boot 的容器启动 Spring Boot 的 IOC 容器基于 ApplicationContext,在应用启动时自动初始化。 入口类:通过 SpringB…...
ARINC818协议一些说明综述
关键术语 航空总线技术 光纤通道层次架构 光纤通道拓扑结构 FC-AV协议,架构,容器系统 ARINC818协议,容器 ADVB帧映射,帧格式 机载视频处理系统对视频数据进行实时处理和记录。 分辨率:1080p,4k,8k视频技术 FC-AV技术是…...
Turso:一个基于 libSQL的分布式数据库
Turso 是一个完全托管的数据库平台,支持在一个组织中创建高达数十万个数据库,并且可以复制到任何地点,包括你自己的服务器,以实现微秒级的访问延迟。你可以通过Turso CLI(命令行界面)管理群组、数据库和API…...
2025.5.4机器学习笔记:PINN文献阅读
2025.5.4周报 文献阅读题目信息摘要创新点网络架构实验结论不足以及展望 文献阅读 题目信息 题目: Physics-Informed Neural Network Approach for Solving the One-Dimensional Unsteady Shallow-Water Equations in Riverine Systems期刊: Journal o…...
一行命令打开iOS模拟器
要在 Mac 命令行打开 iPhone 15 Pro 模拟器,需满足已安装 Xcode 这一前提条件,以下是具体操作步骤: 步骤一:列出所有可用模拟器设备 打开终端(Terminal),输入并执行以下命令,用于列…...
java面向对象编程【基础篇】之基础语法
目录 🚀前言🌟构造器💯案例 🤔this关键字💯使用this调用本类中的属性💯使用this调用构造器💯this表示当前对象 🦜封装💯合理隐藏💯合理暴露 🐧实体…...
跑MPS产生委外采购申请(成品)
问题:跑MPS产生委外采购申请(成品),更改BOM和跑MRP,但物料需求清单中无新增物料复合膜的需求。截图如下: 解决方法:更改委外采购申请的批准日期为BOM的生效日和重新展开bom。 重新展开后&#x…...
[flutter]切换国内源(window)
如题,切换到国内源避免总是连不上google导致卡住的问题。 临时切换到国内: cmd set PUB_HOSTED_URLhttps://pub.flutter-io.cn set FLUTTER_STORAGE_BASE_URLhttps://storage.flutter-io.cnpower shell $env:PUB_HOSTED_URL "https://pub.flut…...
学习海康VisionMaster之顶点检测
一:进一步学习了 今天学习下VisionMaster中的顶点检测:可检测图像指定区域内的顶点,并输出顶点坐标等信息。该模块常用于检测目标物体的顶点 二:开始学习 1:什么是顶点检测? 一个不是很规则的物体需要检测…...
Vue2中常用的核心函数(选项和生命周期钩子)的完整示例及总结
以下是Vue2中常用的核心函数(选项和生命周期钩子)的完整示例及总结: 1. 实例选项函数 data 初始化组件数据 new Vue({el: #app,data() {return {message: Hello Vue!};} });methods 定义组件方法 new Vue({el: #app,data() {return { c…...
数据集-目标检测系列- F35 战斗机 检测数据集 F35 plane >> DataBall
数据集-目标检测系列- F35 战斗机 检测数据集 F35 plane >> DataBall DataBall 助力快速掌握数据集的信息和使用方式。 贵在坚持! * 相关项目 1)数据集可视化项目:gitcode: https://gitcode.com/DataBall/DataBall-detections-100s…...
2025年3月AGI技术月评|技术突破重构数字世界底层逻辑
〔更多精彩AI内容,尽在 「魔方AI空间」 ,引领AIGC科技时代〕 本文作者:猫先生 ——当「无限照片」遇上「可控试穿」,我们正在见证怎样的智能革命? 被低估的进化:开源力量改写游戏规则 当巨头们在AGI赛道…...
【k8s】k8s是怎么实现自动扩缩的
Kubernetes 提供了多种自动扩缩容机制,主要包括 Pod 水平自动扩缩(HPA)、垂直 Pod 自动扩缩(VPA) 和 集群自动扩缩(Cluster Autoscaler)。以下是它们的实现原理和配置方法: 1. Pod …...
协作开发攻略:Git全面使用指南 — 引言
协作开发攻略:Git全面使用指南 — 引言 Git 是一种分布式版本控制系统,用于跟踪文件和目录的变更。它能帮助开发者有效管理代码版本,支持多人协作开发,方便代码合并与冲突解决,广泛应用于软件开发领域。 文中内容仅限技…...
【AI提示词】私人教练
提示说明 以专业且细致的方式帮助客户实现健康与健身目标,提升整体生活质量。 提示词 # Role: 私人教练## Profile - language: 中文 - description: 以专业且细致的方式帮助客户实现健康与健身目标,提升整体生活质量 - background: 具备丰富的健身经…...
【星海出品】Calico研究汇总
Calico项目由Tigera公司发起并主导开发 源码 https://github.com/projectcalico/calico?tabreadme-ov-file#-join-the-calico-community 简介 Tigera是一家专注于云原生安全的公司,于2016年成立,其核心产品包括开源的Calico项目以及商业版的Calico Ent…...
观成科技:摩诃草组织Spyder下载器流量特征分析
一、概述 自2023年以来,摩诃草组织频繁使用Spyder下载器下载远控木马,例如Remcos。观成安全研究团队对近几年的Spyder样本进行了深入研究,发现不同版本的样本在数据加密、流量模式等方面存在差异。基于此,我们对多个版本样本的通…...
中心极限定理(CLT)习题集 · 题目篇
中心极限定理(CLT)习题集 题目篇 共 18 题,覆盖经典 CLT、Lyapunov/Lindeberg 条件、Berry–Esseen 评估、 以及工程/数据科学应用与编程仿真。推荐先独立完成,再看《答案与解析篇》。 之前已经出过相关的知识点文章,…...
ITL和TTL线程间值的传递
InheritableThreadLocal InheritableThreadLocal 继承自 ThreadLocal,增加了父线程到子线程的值传递功能。当一个新线程被创建时,InheritableThreadLocal 会将父线程中 ThreadLocal 变量的值拷贝到子线程(浅拷贝),子线…...
Android学习总结之Room篇
一、Room 框架基础 1. 实体类(Entity) 实体类用于描述数据库表的结构。通过使用 Entity 注解,可以将一个 Java 类映射到数据库中的一张表。例如,以下是一个简单的 User 实体类: import androidx.room.Entity; impor…...
java IO流
一:概述 (1)IO (2)流 二:分类 (1)流向 (2)数据单位 (3)IO流角色 三:API (1)InputStream ÿ…...
STM32 串口USART
目录 常见的通信方式 串行通信和并行通信 全双工,半双工和单工通信 同步通信和异步通信 通信速率 常见的通信协议 串口基础知识 电平特性 串口传输协议 STM32F103的USART资源 端口引脚 数据寄存器单元 发送接收控制单元 实现串口发送 printf…...
数字IC后端项目典型问题之后端实战项目问题记录(2025.04.24)
今天给大家分享下近两天小编帮助学员解决的几个经典后端项目问题。希望能够对大家的学习和工作有所帮助。 Q1:在做a7top顶层物理验证Calibre LVS检查时提示NOT COMPARED,请问是什么原因? 我们在用calibre检查LVS后,其结果基本上就是以下三种…...
关于边缘计算盒子的外部接口保护
边缘计算盒子是一种基于边缘计算和人工智能技术的智能设备,它内置了灵活可配的多样化AI算法库,所以也被称为AI算法盒子或智能边缘分析一体机,可以将数据处理和分析的能力推至离数据源最近的边缘位置,提供高效的数据处理和实时响应…...
OCP考试需要注意什么?
一、OCP考试需要准备的资料 身份证件:携带有效的身份证件(如身份证、护照等),以便在考试当天进行身份验证。确保身份证件在考试当天仍然有效,并且与报名时使用的证件一致。 准考证:打印并携带准考证&…...
git Http改用户下载
用原先别人账号,无权下更新 http方式设置自己账号 例如 git fetch --all 提示没有权限从 http://192.168.1.2/gitlab/项目路径.git下载 git remote set-url origin http://your-username192.168.1.2/gitlab/项目路径.git your-username修改成自己的git账号 需要输入一个Tok…...