致敬情人节,用数据分析我国5年婚姻状况,且行且珍惜

2023-11-21 04:30

本文主要是介绍致敬情人节,用数据分析我国5年婚姻状况,且行且珍惜,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

致敬情人节,用数据分析我国5年婚姻状况,且行且珍惜

今年回老家过年,姑妈一直催刚刚大学毕业的表弟找女朋友。被催婚的表弟说“养活自己都不容易了,哪有钱找女朋友,我不结婚的”。姑妈无奈说,“你不结婚早说啊,不用我那么辛苦供你上大学”。虽然我们都知道表弟不是真的不想找对象结婚,姑妈也知道表弟他只是气话,但是确实说出了我们年轻人的无奈。估计姑妈做梦都想不到,他们那年代的人结婚就是三两天的事情,两人通过媒人婆介绍坐在一起,当场立断定姻缘,合适就发个大红包,不合适就回礼个小红包。

无独有偶,我堂哥87年的仍未结婚。中专毕业一直在城市打拼,前几年回村务农种植点三华李,相亲数十场,仍未遇到良缘 。现在农村结婚也那么难的了吗?还是我们年轻人想法多了?越多想法越难凑合?

我也想一探究竟,用数据说话,看看结婚是不是很难,看看我国目前婚姻年龄分布情况,分地区农村婚姻状况分布等信息。

让我的杠精表弟且行且珍惜,遇到了就不要错过,错过了可能就是永远。不信?数据是不会骗人的。

本过程采用Anaconda-Jupyter-notebook开发环境,用到pandas、plotly等库,所有脚本及数据请点击下载,谢谢!

目录

致敬情人节,用数据分析我国5年婚姻状况,且行且珍惜

一 数据准备清洗

1 数据导入

2 样本数据清理转换

二 全国整体婚姻状况分析

1 未婚情况

2 配偶情况

3 离婚情况

4 丧偶情况

三 2019年各省婚姻状况分析

1 省未婚情况

2 配偶情况分布

3 离婚情况分布

4 丧偶情况分布

四 且行且珍惜

五 最后请支持


一 数据准备清洗

为此,我找了两份数据,一份是2015-2019年各省农村性别婚姻状况,一份是2018-2019年按年龄层性别分布婚姻状况。数据均取自于国家统计局http://www.stats.gov.cn/tjsj./ndsj/

 

各省农村性别婚姻状况取自于《中国人口和就业统计年鉴》-2-39《全国1人口省略各地区乡村分性别婚姻状况的人口》,2015-2019年五年的数据,数据均是取全国1%人口抽样调查数据样本。一般《中国人口和就业统计年鉴》是次年才发布,所有没有找到2020年的数据,需要2021年发布才有。虽然不能代表最新数据,但是2015-2019年五年发数据,均可以反应我国农村目前婚姻状况。部分数据样本如下:

年份地区15岁及以上男_15岁及以上女_15岁及以上未婚男_未婚女_未婚有配偶男_有配偶女_有配偶离婚男_离婚女_离婚丧偶男_丧偶女_丧偶
2019全国34715417538817176661300391962210525391112396812994364864622186525456760217854
2019北京206311199453922341581546842703442321811962
2019天津17488938553211921291304647657462818772651
2019河北201261018499423015195710581554675907957308241671256397859
2019山西10113518849251979125072973453638370816312537625175450

按年龄层性别分布婚姻状况,数据为《中国人口和就业统计年鉴_第二部分年人口变动情况省略及以上人口分年龄_性别的婚姻状况》,及根据年龄层分布的婚姻状况数据,数据均是取全国1%人口抽样调查数据样本。本次分析取2018-2019年数据,2017年的数据没找到,所以只分析两年数据。部分数据样本如下:

年份年龄层15岁及以上口男_15岁及以上女_15岁及以上未婚男_未婚女_未婚有配偶男_有配偶女_有配偶离婚男_离婚女_离婚丧偶男_丧偶
2019总计9086094592354493741637149899264721672419334602337817205301154689845194714095
201915-1955822302612556055038300482499077721256561521
201915115866284530211556626752882917121 1  
2019161042156554767103765639473743142921111
20191711229609451351115560695086742549     
20191811136603251041091859724946217601571 1  
20191911449619752531103461014932414953181 11 
201920-246151932854286655029228817214751103639447092183919291
20192011121599851241038357684615731225506743  
20192112030646955621077860884690123637486214772 
2019221189163675525995057254225191162812842914151 
20192312411660058119424548839372918107718416836321 
201924140657421664497565749400842391641259965313541
201925-298174142186395553250220651118514801020885271251182641541479
2019251425874206838843150853346570022753426118576082
2019261494177267215744245892853733230614271159738682
2019271543980007439619739642233901539075108223129953 

1 数据导入

# 1-读取数据
import pandas as pd
​
CSV_FILE_PATH_01 = './01_各省农村婚姻状况数据.csv'
CSV_FILE_PATH_02 = './02_全国年龄层婚姻状况数据.csv'
​
df01 = pd.read_csv(CSV_FILE_PATH_01,sep=',',encoding="gbk")
df02 = pd.read_csv(CSV_FILE_PATH_02,sep=',',encoding="gbk")
​
print(df01.head(5))
print(df02.head(5))

 

2 样本数据清理转换

# 2 历年统计样本总数据情况
df01_total = df01[df01.地区 =='全国']
print(df01_total)
 年份地区15岁及以上男_15岁及以上女_15岁及以上未婚男_未婚女_未婚有配偶男_有配偶女_有配偶离婚男_离婚女_离婚丧偶男_丧偶女_丧偶
02019全国34715417538817176661300391962210525391112396812994364864622186525456760217854
312018全国37248718828018420766272416592461327283913392513891465684605196426807809118716
632017全国38293119348418944667993421542584028096713814714282164604615184627510856918941
952016全国39869220140119729271988444662752329177014317514859562244374185028709938519324
1272015全国75422183808334373388513618108438485179625544921271878228261401027167370129014532772172003360769

五年数据,15年的抽样数据样本最大有700万多,其他年份基本是30万份。总体样本数量不一样,我们将它转换成比例,方便历年数据作对比。清理转换数据为比率:​

## 男女比率
df01['占比_男_15岁及以上'],df01['占比_女_15岁及以上'] = [df01['男_15岁及以上'] / df01['15岁及以上'],df01['女_15岁及以上'] / df01['15岁及以上']]
## 未婚比率
df01['占比_未婚'],df01['占比_未婚_男'] ,df01['占比_未婚_女']= [df01['未婚'] / df01['15岁及以上'],df01['男_未婚'] / df01['未婚'],df01['女_未婚'] / df01['未婚']]
## 有配偶比率
df01['占比_有配偶'],df01['占比_有配偶_男'] ,df01['占比_有配偶_女']= [df01['有配偶'] / df01['15岁及以上'],df01['男_有配偶'] / df01['有配偶'],df01['女_有配偶'] / df01['有配偶']]
## 离婚比率
df01['占比_离婚'],df01['占比_离婚_男'] ,df01['占比_离婚_女']= [df01['离婚'] / df01['15岁及以上'],df01['男_离婚'] / df01['离婚'],df01['女_离婚'] / df01['离婚']]
## 丧偶比率
df01['占比_丧偶'],df01['占比_丧偶_男'] ,df01['占比_丧偶_女']= [df01['丧偶'] / df01['15岁及以上'],df01['男_丧偶'] / df01['丧偶'],df01['女_丧偶'] / df01['丧偶']]
​
​
## 占比的列
type(df01)
cl_list = list(df01.filter(regex='占比'))
##放大100倍
df01_ratio = df01[cl_list] *100
​
cl_list.insert(0,'地区')
cl_list.insert(0,'年份')
df01_ratio =df01_ratio.reindex(columns=cl_list)
​
df01_ratio['地区'] = df01['地区']
df01_ratio['年份'] = df01['年份']
​
print(df01_ratio.head())

部分数据显示如下

 

 

二 全国整体婚姻状况分析

基本数据已经准备完毕,我们开始看看这些数据都有带来给我们什么信息。先看看全国整体数据情况:

 

部分代码:

df =df01_ratio[df01_ratio.地区 =='全国']
x = df['年份']
fig = go.Figure()
for c in list(df.columns.drop(['年份','地区'])):fig.add_trace(go.Scatter(x=x, y=df[c],mode='lines+markers',name=c))​
fig.show()

基本符合我们的预期,数据项比较多,我们逐一缕一缕,看看都有些什么信息。

1 未婚情况

 

发现,2015年-2019年未婚人数占比率逐年下降,由18%降到17.6%。女生未婚人数由38%降到36%,看样子大家都结婚啦 ,而且估计步入15岁的年轻人人口逐步减少,所以未婚率下降,比较符合我国国情。再看看男生未婚的,却是由61%上升到63%。 未婚人群中,63%都是男的打光棍,女生占比不到40%。

结论1:男人成年后,60%+是要打光棍,而且逐年上升。

 

2 配偶情况

 

再看看配偶情况,5年内有配偶占比情况均73%,而男女分布情况基本为两级分化。男生有配有占比49%左右徘徊.找不到对象的基本都是男的。很符合我们的认知。

结论2:男人成年后,60%+是要打光棍,而且逐年上升。

3 离婚情况

离婚情况,很明显,逐年上升,而且涨得非常快。

 

看看离婚性比分别,基本男的占70%,女的30%左右。杠精表弟说,男女离婚不是应该是五五分吗?为什么男的占比70%?很显然就是人家女生离婚后还可以找到好人家呗,离婚男还想轻易有人要?(⊙﹏⊙),所以,结婚的哥们,好好珍惜老婆,别想着你还可以找到更好的,离婚后70%*52%概率你还是没有配偶的离婚状态。

 

结论3:男人离婚后更难结婚

4 丧偶情况

15岁丧偶情况,整体小幅度上升趋势。估计是老龄化导致,比较年轻人占比逐步减小。而比较有意思的是,男女的上丧偶占比三七分,应该是女生丧偶后更多选择坚守曾经那份爱情吧,或是男人们工作压力大,而且从事危险工作多。程序员等996人群不容易,且包容您的丈夫吧,他为了这个家也不容易。爱情,婚姻,始终都是两个人的。

结论4:男人女人都不易,既然选择在一起就风雨兼程

杠精表弟说,这只是全国的状况,不代表我们大广东实际情况啊,可能我们广东女多男少呢,可能我们广东有钱就不一样呢?

也是,那我们看看全国各地的婚姻状况吧

三 2019年各省婚姻状况分析

1 省未婚情况

df =df01_ratio[(df01_ratio.地区 !='全国') & (df01_ratio.年份 == 2019 )]
#print(df.head())
TYPE_NAME = '占比_未婚_男'
fig = px.pie(df, values=df[TYPE_NAME], names='地区', title='2019年各省'+TYPE_NAME+'情况')
fig.show()

 

 

 

未婚女西藏、北京、天津多,未婚男福建、湖北、海南多。2019年整体未婚情况,西藏、海南广东最多。单独分析下广东情况:基本也是男的多。不容易啊,找个对象!

 

2 配偶情况分布

上海大哥有对象无疑,福建大哥未婚有对象?

 

3 离婚情况分布

黑龙江的爷们娘们反省下?

山东的哥们说两句?数据好像也不能反应什么,只看到分布情况。

 

 

4 丧偶情况分布

 

四 且行且珍惜

杠精表弟还想狡辩说自己年轻,不急。本想把2018/2019两年的我国按年龄层、性别婚姻状况数据分析给他看,让他死心的,不过我也没有这个精力了。表弟你自己分析吧,我相信基本可以反映你在那个年龄层多大概率还是未婚没有配偶。毕竟我们也不是地主人家。

所以,奉劝那些还以为自己有条件、还年轻的年轻的人们,如果找到真爱、遇到对的,请且行且珍惜。

五 最后请支持

本过程脚本及数据,请点击下载:https://download.csdn.net/download/sc_liuliye/15270917,谢谢!或关注wx公众号:freo-studio,回复“婚姻状况数据分析”,获取文件脚本地址链接

 

这篇关于致敬情人节,用数据分析我国5年婚姻状况,且行且珍惜的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/399812

相关文章

Python:豆瓣电影商业数据分析-爬取全数据【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】

**爬取豆瓣电影信息,分析近年电影行业的发展情况** 本文是完整的数据分析展现,代码有完整版,包含豆瓣电影爬取的具体方式【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】   最近MBA在学习《商业数据分析》,大实训作业给了数据要进行数据分析,所以先拿豆瓣电影练练手,网络上爬取豆瓣电影TOP250较多,但对于豆瓣电影全数据的爬取教程很少,所以我自己做一版。 目

win7下安装Canopy(EPD) 及 Pandas进行python数据分析

先安装好canopy,具体安装版本看自己需要那种,我本来是打算安装win764位的,却发现下载总是出现错误,无奈只能下载了32位的! https://store.enthought.com/downloads/#default 安装好之后,参考如下连接,进行检验: 之后再根据下面提供的连接进行操作,一般是没问题的! http://jingyan.baidu.com/article/5d6

「大数据分析」图形可视化,如何选择大数据可视化图形?

​图形可视化技术,在大数据分析中,是一个非常重要的关键部分。我们前期通过数据获取,数据处理,数据分析,得出结果,这些过程都是比较抽象的。如果是非数据分析专业人员,很难清楚我们这些工作,到底做了些什么事情。即使是专业人员,在不清楚项目,不了解业务规则,不熟悉技术细节的情况下。要搞清楚我们的大数据分析,这一系列过程,也是比较困难的。 我们在数据处理和分析完成后,一般来说,都需要形成结论报告。怎样让大

结合Python与GUI实现比赛预测与游戏数据分析

在现代软件开发中,用户界面设计和数据处理紧密结合,以提升用户体验和功能性。本篇博客将基于Python代码和相关数据分析进行讨论,尤其是如何通过PyQt5等图形界面库实现交互式功能。同时,我们将探讨如何通过嵌入式预测模型为用户提供赛果预测服务。 本文的主要内容包括: 基于PyQt5的图形用户界面设计。结合数据进行比赛预测。文件处理和数据分析流程。 1. PyQt5 图形用户界面设计

使用AI大模型进行企业数据分析与决策支持

使用AI大模型进行企业数据分析与决策支持已成为现代企业管理的重要趋势。AI大模型凭借其强大的数据处理能力和智能分析功能,能够为企业提供精准、高效的数据分析服务,进而支持企业的决策过程。以下是使用AI大模型进行企业数据分析与决策支持的具体方式和优势: 一、AI大模型在数据分析中的应用 超级数据处理能力 海量数据处理:AI大模型能够同时处理海量数据,包括结构化数据、非结构化数据等,满足企业大规模

AIGC与数据分析融合,引领商业智能新变革(TOP企业实践)

AIGC与数据分析融合,引领商业智能新变革(TOP企业实践) 前言AIGC与数据分析融合 前言 在当今数字化时代,数据已成为企业发展的核心资产,而如何从海量数据中挖掘出有价值的信息,成为了企业面临的重要挑战。随着人工智能技术的飞速发展,AIGC(人工智能生成内容)与数据分析的融合为企业提供了新的解决方案。 阿里巴巴作为全球领先的科技公司,一直致力于探索和应用前沿技术,以提升企业

技术培训 | 大数据分析处理与用户画像实践|预告

主题: 大数据分析处理与用户画像实践 时间: 5 月 11 日 20:00 —— 21:30 地点: QingCloud 技术分享群,文末有二维码。 讲师: 孔淼 诸葛io 创始人 & CEO 90 后连续创业者,曾任 37degree CTO ,在任 37degree CTO 期间,孔淼曾带领团队服务 CCTV 、海尔、聚美优品、宝马等知名企业,对大数据分析的技术与行业有深厚的理解

用ACF和PACF计算出一堆数据的周期个数以及周期时长,数据分析python

具体步骤 1使用ACF和PACF:可以通过查看ACF图中的周期性峰值,找到数据中的周期性。如果ACF图在某个滞后期处出现显著的正相关峰值,并且这种模式在多个滞后周期中重复出现,这就是周期性信号的特征。而PACF则可以帮助确定延迟的直接影响。 2找周期数和周期长度:周期的时长可以通过ACF中第一个显著的峰值(排除滞后期为0时的峰值)来确定,而周期的个数则可以通过分析整个序列中的周期性重复次数来估计

python 数据分析 高效的学习路径

一、数据分析师应该具备哪些技能 数据分析人才热度也是高居不下,一方面企业的数据量在大规模的增长,对于数据分析的需求与日俱增;另一方面,相比起其他的技术职位,数据分析师的候选者要少得多。 要明确学习的路径,最有效的方式就是看具体的职业、工作岗位对于技能的具体需求。 我们从拉勾上找了一些最具有代表性的数据分析师职位信息,来看看薪资不菲的数据分析师,到底需要哪些技能。 其实企业对数据

HDU 2191 珍惜现在,感恩生活(多重背包)

OJ题目 : click here ~~ 题目分析:就一个多重背包,在输入的时候进行二进制拆分,接下来就与01背包一样处理了。关于二进制拆分,这里讲解的不错~ AC_CODE int v[1002] , c[1002];int dp[1002];int main(){int t;cin >> t;while(t--){int n ,m , i , j , a , b , d ,k