第六次人口普查数据分析

以下数据基于统计局发布的2010年第六次人口普查工作,所有数据均可在统计局网址上下载。

Figure_1.png

这张图片给读者的第一直观感受就是集体户口男女性别比差距如此之大。(超过100就是男比女多)所谓集体户口,一般都是一些规模较大的学校或企业才有资格办理。可以推测,在我国凡是这种拥有相对封闭环境的大单位男女比例都严重失衡。

绘制图1的代码如下:

import pandas as pd
from matplotlib import pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif']=['SimHei']

data = pd.read_csv('A0101a.csv',encoding='gbk')
frame = [data['地区'], data['性别比'], data['家庭户口性别比'], data['集体户口性别比']]
sex_compare = pd.concat(frame,axis=1)
sex_compare.set_index('地区', inplace=True)
sex_compare.sort_values('性别比', ascending=False,inplace=True)
sex_compare.plot(kind='bar')
plt.show()
Figure_2.png

图1并不能很直观的展示我国各省男女性别比的情况,图2使用热力图的方式很直观得表达了该信息。颜色越深代表性别比例越失衡。从图2可以发现,我国东北华北地区男女比例比较合理,而西北和西南最为严重。结合图1可知,中国男女比例最失衡的地方在天津,最平衡的地方在江苏。

图2代码如下:

import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
from matplotlib.patches import Polygon
from matplotlib.colors import rgb2hex
import numpy as np
import pandas as pd

plt.figure(figsize=(16, 8))
map = Basemap(llcrnrlon=77,llcrnrlat=14,urcrnrlon=140,urcrnrlat=51,projection='lcc',lat_1=33,lat_2=45,lon_0=100)
map.drawcountries(linewidth=1.5)
map.drawcoastlines()
map.readshapefile('gadm36_CHN_1', 'states', drawbounds=True)     #读取省份边界数据
df = pd.read_csv('sex_compare.csv', encoding='gbk')                               #读取GDP数据
df.set_index('地区', inplace=True)                                 #将列名为地区这一列设为索引
provinces = map.states_info                                         #读取省份信息
print(provinces)
statenames = []
colors = {}
cmap = plt.cm.YlOrRd                                                #指定色彩映射种类
GDP_max = max(df['2010年'])
GDP_min = min(df['2010年'])
for each_province in provinces:                                    #for循环中是对shapefile格式数据的处理,与主要程序逻辑无关
    province_name = each_province['NL_NAME_1']
    p = province_name.split('|')
    if len(p) > 1:
        s = p[1]
    else:
        s = p[0]
    s = s[:2]
    if s == '黑龍':
        s = '黑龙江'
    if s == '内蒙':
        s = '内蒙古'
    statenames.append(s)
    GDP = df['2010年'][s]
    colors[s] = cmap(np.sqrt((GDP - GDP_min) / (GDP_max - GDP_min)))[:3]  #构建色彩和数据的映射关系
ax = plt.gca()
for nshape, seg in enumerate(map.states):
    color = rgb2hex(colors[statenames[nshape]])                 #将RGB色彩转为HEX色彩
    poly = Polygon(seg, facecolor=color, edgecolor=color)       #将每个省份对应的颜色进行填充
    ax.add_patch(poly)
map.readshapefile('gadm36_TWN_0', 'states', drawbounds=True)
for nshape, seg in enumerate(map.states):
    color = rgb2hex(colors[statenames[nshape]])                 #将RGB色彩转为HEX色彩
    poly = Polygon(seg, facecolor=color, edgecolor=color)       #将每个省份对应的颜色进行填充
    ax.add_patch(poly)
ax.set_title('China SEX heatmap')
plt.savefig('image_name', bbox_inches='tight')
plt.show()

Figure_3.png

图3反映的是中国的人口年龄结构。从图中可以发现2010年中国的人口结构有三个高峰,分别是20岁、40岁以及55岁。

图3代码如下:

import pandas as pd
from matplotlib import pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif']=['SimHei']

data = pd.read_csv('A0301a.csv',encoding='gbk')
frame = [data['年龄'], data['人口合计'], data['男'], data['女']]
sex_compare = pd.concat(frame,axis=1)
sex_compare.columns.name = '人口数量'
sex_compare.drop([0],inplace=True)
sex_compare.set_index('年龄', inplace=True)
#sex_compare.sort_values('人口合计', ascending=False,inplace=True)
print(sex_compare)
sex_compare.plot(kind='bar')
plt.show()
Figure_4.png

图4算是对图3数据的进一步挖掘,表现了各年龄节点男女数量差异。规律很奇怪,在0-24这个区间内,男多女少,而且呈现差距缩减趋势,到了24岁,居然女生还比男生多一些。成年后,18-20这个区间男女差距最大,在18岁这个节点,男女数量之差达到75万。在22-30这个适婚年龄阶段,男女数量总差异在一百万左右,男多女少,也就是说,这个年龄段至少有一百万男光棍。

如果再考虑这个阶段的女生会考虑找30+的黄金单身汉,以及女生基本不考虑比自己小的男生,一百万这个数字绝对还要扩大N倍。

另外一个有趣的结论是,70岁往后女生的数量普遍多于男性,而且多的还不是一点。这与男性寿命普遍低于女性有关。因此70岁之后男性容易达到人生巅峰(哈哈哈哈,22-30的光棍不用伤心,能熬到70岁绝对可以脱单。)

图4代码如下:

import pandas as pd
from matplotlib import pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif']=['SimHei']

data = pd.read_csv('A0301a.csv',encoding='gbk')
gap = data['男'] - data['女']
frame = [data['年龄'], gap]
gap_compare = pd.concat(frame,axis=1)
gap_compare.drop([0],inplace=True)
gap_compare.set_index('年龄', inplace=True)
gap_compare.columns = ['人口数量差距']
gap_compare.plot(kind='bar')
print(gap_compare)
plt.show()

Figure_5.png

图5展示各年龄节点的死亡数量。我国2010年死亡742万人,其中男生429万,女生313万,也就是说该年男生比女生多死了一百万多点。死亡数量基本随着年龄递增,在75-79区间内达到顶峰,这也是由于更高年龄人数量比较少导致的。

图5代码如下所示:

import pandas as pd
from matplotlib import pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif']=['SimHei']

data = pd.read_csv('death1.csv',encoding='gbk')
data.set_index('年龄段',inplace=True)
data.plot(kind='bar')
plt.show()
Figure_6.png

图6算是对图5的归一化,消除了各年龄段数量不一的干扰,直观得体现各年龄段的死亡率,基本是依次提高的。

图6代码如下:

import pandas as pd
from matplotlib import pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif']=['SimHei']

data1 = pd.read_csv('death1.csv',encoding='gbk')
data2 = pd.read_csv('population.csv',encoding='gbk')
frame = [data1['年龄段'],data1['死亡合计']/data2['合计'], data1['死亡男']/data2['男'], data1['死亡女']/data2['女']]
death = pd.concat(frame,axis=1)
death.set_index('年龄段',inplace=True)
death.columns = ['死亡率合计','男死亡率','女死亡率']
death.plot(kind='bar')
plt.show()
Figure_7.png

图7表现了各省的死亡率。图7不够直观。下面画个热力图,与图2的套路一样,不再展示图8的代码,换个文件就行。

图7代码如下:

import pandas as pd
from matplotlib import pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif']=['SimHei']

data1 = pd.read_csv('death2.csv',encoding='gbk')
data2 = pd.read_csv('A0101a.csv',encoding='gbk')
frame = [data1['地区'],data1['合计']/data2['合计'], data1['男']/data2['男'], data1['女']/data2['女']]
death = pd.concat(frame,axis=1)
death.drop([0],inplace=True)
death.set_index('地区',inplace=True)
death.sort_values('合计', ascending=False,inplace=True)
death.plot(kind='bar')
plt.show()
Figure_8.png

从这张图可以看出,华北西南地区死亡率较高,但是华北地区的北京、天津出淤泥而不染,死亡率相当低,尤其是北京,是全国死亡率最低的地方。看来尽管北京的雾霾严重,但是其较好的医疗环境以及完善的居住配套设置还是提高了首都的生存率。

Figure_9.png

图9表现的是我国截止2010年人口受教育情况。可以发现我国的高中以下包括高中教育普及工作不错,但是高等教育仍然有很大发展空间。我国截止到2010年培养的研究生现存413万,数量虽然不少但是相比于我国庞大的人口基数还是不多,而且这个数量是40年高等教育发展积累的人数。

图9代码如下:

import pandas as pd
from matplotlib import pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif']=['SimHei']

data = pd.read_csv('education.csv', encoding='gbk')
data.set_index('受教育程度',inplace=True)
data.plot(kind='bar')
plt.show()
Figure_10.png

图10反映了我国各行各业中婚姻现状比例情况。人数选自16岁以上,目前正在工作的群体,总人数七千多万。也就是说在2010年,全国总人数13亿3千多万人中,去掉年龄不合适的,选入该职业分类的只有七千多万。

因为都是正在工作的壮年,所以无论男女,已婚比例都很高。

但是也可以发现一些有趣的现象。比如,在专业技术人员分类中,女性单身人数居然高于男生。除了商业服务类男女单身人数相等外,其他大类中都是男性人数高于女性。另外,单身女生数量比较多专业技术人员分类中,女性已婚人数同样高于男性。

Figure_11.png

该图以婚姻状况为横坐标,反映了同一婚姻状况下不同工作的比例。

可以发现一些信息。在政府工作的已婚男最多,稳定啊。相反在女性中不是这样,在政府工作的女性已婚比例竟然最低!最多的是从事一些农业、渔业等行业的基础生产人员,并且服务业的女性已婚比例也相当高,不过,服务业女性的离婚率也是最高的。

还有一点比较突出的是,从事农、牧、渔等生产行业,比较容易丧偶。

先简单的分析到这里,这是最简单的EDA(探索性数据分析)。通过EDA发现大致规律后就需要深层次的数据挖掘探究可能的影响因子,找到因果关系。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容