当前位置 博文首页 > 一毛钱的年代:致敬情人节,用数据分析我国5年婚姻状况,且行且

    一毛钱的年代:致敬情人节,用数据分析我国5年婚姻状况,且行且

    作者:[db:作者] 时间:2021-06-02 16:07

    致敬情人节,用数据分析我国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,回复“婚姻状况数据分析”,获取文件脚本地址链接

    ?