#!/usr/bin/env python
# coding: utf-8
# <h1>Table of Contents<span class="tocSkip"></span></h1>
# <div class="toc"><ul class="toc-item"><li><span><a href="#概览" data-toc-modified-id="概览-1"><span class="toc-item-num">1 </span>概览</a></span></li><li><span><a href="#各省" data-toc-modified-id="各省-2"><span class="toc-item-num">2 </span>各省</a></span><ul class="toc-item"><li><span><a href="#人口变化" data-toc-modified-id="人口变化-2.1"><span class="toc-item-num">2.1 </span>人口变化</a></span></li><li><span><a href="#年龄构成" data-toc-modified-id="年龄构成-2.2"><span class="toc-item-num">2.2 </span>年龄构成</a></span></li><li><span><a href="#性别构成" data-toc-modified-id="性别构成-2.3"><span class="toc-item-num">2.3 </span>性别构成</a></span></li><li><span><a href="#教育程度" data-toc-modified-id="教育程度-2.4"><span class="toc-item-num">2.4 </span>教育程度</a></span></li></ul></li></ul></div>
# In[11]:
from pyecharts.charts import *
from pyecharts import options as opts
from pyecharts.commons.utils import JsCode
import pandas as pd
import random
from pyecharts.globals import CurrentConfig, NotebookType,OnlineHostType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_NOTEBOOK
# pd.set_option('precision', 2)
# ### 概览
#
# >(一)人口总量。全国人口共 141178 万人,与 2010 年(第六次全国人口 普查数据,下同)的 133972 万人相比,增加 7206 万人,增长 5.38%,年平均增长率为 0.53%,比 2000 年到 2010 年的年平均增长率 0.57%下降 0.04 个百分点。数据表明,我国人口 10 年来继续保持低速增长态势。
#
# >(二)户别人口。全国共有家庭户 49416 万户,家庭户人口为 129281 万人; 集体户 2853 万户,集体户人口为 11897 万人。平均每个家庭户的人口为 2.62 人,比 2010 年的 3.10 人减少 0.48 人。家庭户规模继续缩小,主要是受我国人口流动 日趋频繁和住房条件改善年轻人婚后独立居住等因素的影响。
#
# >(三)人口地区分布。东部地区人口占 39.93%,中部地区占 25.83%,西部 地区占 27.12%,东北地区占 6.98%。与 2010 年相比,东部地区人口所占比重上 升 2.15 个百分点,中部地区下降 0.79 个百分点,西部地区上升 0.22 个百分点,东北地区下降 1.20 个百分点。人口向经济发达区域、城市群进一步集聚。
#
# >(四)性别构成。男性人口为 72334 万人,占 51.24%;女性人口为 68844 万人,占 48.76%。总人口性别比(以女性为 100,男性对女性的比例)为 105.07, 与 2010 年基本持平,略有降低。出生人口性别比为 111.3,较 2010 年下降 6.8。 我国人口的性别结构持续改善。
#
# >(五)年龄构成。0—14 岁人口为 25338 万人,占 17.95%;15—59 岁人口 为 89438 万人,占 63.35%;60 岁及以上人口为 26402 万人,占 18.70%(其中, 65 岁及以上人口为 19064 万人,占 13.50%)。与 2010 年相比,0—14 岁、15—59 岁、60 岁及以上人口的比重分别上升 1.35 个百分点、下降 6.79 个百分点、上升 5.44 个百分点。我国少儿人口比重回升,生育政策调整取得了积极成效。同 时,人口老龄化程度进一步加深,未来一段时期将持续面临人口长期均衡发展的 压力。
#
# >(六)受教育程度人口。具有大学文化程度的人口为 21836 万人。与 2010年相比,每 10 万人中具有大学文化程度的由 8930 人上升为 15467 人,15 岁及以上人口的平均受教育年限由 9.08 年提高至 9.91 年,文盲率由 4.08%下降为2.67%。受教育状况的持续改善反映了 10 年来我国大力发展高等教育以及扫除青 壮年文盲等措施取得了积极成效,人口素质不断提高。
#
# >(七)城乡人口。居住在城镇的人口为 90199 万人,占 63.89%;居住在乡 村的人口为 50979 万人,占 36.11%。与 2010 年相比,城镇人口增加 23642 万人,乡村人口减少 16436 万人,城镇人口比重上升 14.21 个百分点。随着我国新型工 业化、信息化和农业现代化的深入发展和农业转移人口市民化政策落实落地,10 年来我国新型城镇化进程稳步推进,城镇化建设取得了历史性成就。
#
# >(八)流动人口。人户分离人口为 49276 万人,其中,市辖区内人户分离人 口为 11694 万人,流动人口为 37582 万人,其中,跨省流动人口为 12484 万人。 与 2010年相比,人户分离人口增长 88.52%,市辖区内人户分离人口增长 192.66%, 流动人口增长 69.73%。我国经济社会持续发展,为人口的迁移流动创造了条件, 人口流动趋势更加明显,流动人口规模进一步扩大。
#
# >(九)民族人口。汉族人口为 128631 万人,占 91.11%;各少数民族人口为 12547 万人,占 8.89%。与 2010 年相比,汉族人口增长 4.93%,各少数民族人口增长 10.26%,少数民族人口比重上升 0.40 个百分点。民族人口稳步增长,充分 体现了在中国共产党领导下,我国各民族全面发展进步的面貌。
# In[20]:
df = pd.read_csv('./data/各地区人口.csv', usecols=['各地区人口', 'Unnamed: 1'])
df.drop(labels=[0, 1], axis=0, inplace=True)
df.rename(columns={'Unnamed: 1':'人口数', '各地区人口':'地区'}, inplace=True)
dictcode = {'北京': '北京市',
'天津': '天津市',
'河北': '河北省',
'山西': '山西省',
'内蒙古': '内蒙古自治区',
'辽宁': '辽宁省',
'吉林': '吉林省',
'黑龙江': '黑龙江省',
'上海': '上海市',
'江苏': '江苏省',
'浙江': '浙江省',
'安徽': '安徽省',
'福建': '福建省',
'江西': '江西省',
'山东': '山东省',
'河南': '河南省',
'湖北': '湖北省',
'湖南': '湖南省',
'广东': '广东省',
'广西': '广西壮族自治区',
'海南': '海南省',
'重庆': '重庆市',
'四川': '四川省',
'贵州': '贵州省',
'云南': '云南省',
'西藏': '西藏自治区',
'陕西': '陕西省',
'甘肃': '甘肃省',
'青海': '青海省',
'宁夏': '宁夏回族自治区',
'新疆': '新疆维吾尔自治区'}
coord = {
'湖北': [114.31667, 30.51667],
'广东': [113.23333, 23.16667],
'北京': [116.41667, 39.91667],
'上海': [121.48, 31.22],
'辽宁': [123.38, 41.8],
'江西': [115.90000, 28.68333],
'四川': [104.06, 30.67],
'安徽': [117.27, 31.86],
'广西': [108.33, 22.84],
'新疆': [87.68, 43.77],
'江苏': [118.78, 32.04],
'河北': [114.48, 38.03],
'浙江': [120.19, 30.26],
'湖南': [113, 28.21],
'甘肃': [103.82, 36.07],
'福建': [119.28000, 26.08],
'贵州': [106.71, 26.57],
'海南': [110.35, 20.02],
'河南': [113.65, 34.76],
'黑龙江': [126.63, 45.75],
'吉林': [125.35, 43.88],
'内蒙古': [111.65, 40.82],
'宁夏': [106.27, 38.47],
'山东': [117, 36.65],
'山西': [112.53, 37.87],
'陕西': [108.95, 34.27],
'天津': [117.2, 39.13],
'西藏': [91.11, 29.97],
'云南': [102.73, 25.04],
'重庆': [106.54, 29.59],
'青海': [101.74, 36.56]}
data_pair = []
for idx, row in df.iterrows():
name = row['地区'].replace(' ', '')
try:
value = coord[name]
value.append(float(row['人口数']))
data_pair.append([dictcode[name], value])
except KeyError:
if name == '现役军人':
soldier = row['人口数']
elif name == '全国[5]':
total = row['人口数']
df = pd.read_csv('./data/全国人口年龄构成.csv')
df.drop(labels=[0, 1], axis=0, inplace=True)
data_pair_age = []
for idx, row in df.iterrows():
data_pair_age.append([row['全国人口年龄构成'].replace('其中:', ''), flo