当前位置: 首页 > article >正文

数据分析-33-我国各地区近年来结婚离婚情况分析

文章目录

    • 0、项目介绍
    • 1、字段说明
    • 2、数据初步整理
    • 3、2013年至2022年全国平均"粗离婚率(‰)"
    • 4、近10年"粗离婚率(‰)"高于全国平均的地区
    • 5、全国各地近5年的结婚登记量-Timeline时间组件
    • 6、全国各地近5年的离婚率分布-Timeline时间组件
    • 7、动态展示20年来每年离婚率排名前5的地区

算法学习4对1辅导论文辅导核心期刊可以通过公众号滴滴我

0、项目介绍

《中华人民共和国民法典》将于2021年1月1日起施行,因此2021年开始后,有要离婚的夫妻就受到30天冷静期的限制。《中华人民共和国民法典》家庭婚姻编规定了一个月的离婚冷静期,在此期间,任何一方可以向登记机关撤回离婚申请,离婚冷静期将于2021年1月1日起正式执行,针对20年(2003-2022年)我国各地区结婚离婚数据进行分析,到底有哪些地区的离婚率一直高于全国呢

1、字段说明

数据一共621条。包含字段有

字段名称示范值
地区北京市
年份2022年
结婚登记(万对)9.13
内地居民登记结婚(万对)9.09
内地居民初婚登记(万对)11.81
内地居民再婚登记(万对)6.45
涉外及港澳台居民登记结婚(万对)0.04
离婚登记(万对)4.42
粗离婚率(‰)2.02

数据浏览
在这里插入图片描述

2、数据初步整理

# 加载库
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
from pyecharts.charts import Bar,Line,Scatter,Grid,Map,Pie
from pyecharts import options as opts
from pyecharts.commons.utils import JsCode
from pyecharts.charts import Map, Timeline
import bar_chart_race as bcr

from warnings import filterwarnings
filterwarnings('ignore')
pd.set_option('display.max_columns',60)
data = pd.read_csv(r'data.csv')
data.shape

在这里插入图片描述

data.head()

在这里插入图片描述

输出“地区”和“年份”查看是否存在异常的文本数据

for c_list in ['地区','年份']:
    print(c_list,':')
    print(data[c_list].unique().tolist())
    print()  # 作用是换行

在这里插入图片描述

data.info()

在这里插入图片描述

data.describe()

在这里插入图片描述

data['year'] = data['年份'].str.replace('年','').astype('int')

3、2013年至2022年全国平均"粗离婚率(‰)"

# 统计全国平均粗离婚率(‰)
data2 = data[data['year']>2012]
data2.sort_values('year',inplace = True)
result0 = data2.groupby('年份')['粗离婚率(‰)'].mean().reset_index(name = '全国平均粗离婚率(‰)')

c = (
    Line()
    .add_xaxis(data2['年份'].unique().tolist())
    .add_yaxis('',data2[data2['地区']=='内蒙古自治区']['粗离婚率(‰)'].tolist())
    .set_global_opts(title_opts = opts.TitleOpts(title = '2013至2022年全国平均"粗离婚率(‰)"'),
                     legend_opts = opts.LegendOpts(is_show = False)
))
c.render_notebook()

在这里插入图片描述

全国平均的“粗离婚率(‰)”从2020年开始是下降的,下降尤为明显的是2021年,是数据有疑点呢还是因为21年正式实行离婚冷静期的效果呢,各位同学可自信核实一下

4、近10年"粗离婚率(‰)"高于全国平均的地区

data2 = data2.merge(right = result0,how = 'left',left_on = '年份',right_on = '年份')
data2['粗离婚率(‰)是否高于平均'] = data2['粗离婚率(‰)']>data2['全国平均粗离婚率(‰)']

r1 = data2.groupby('地区')['粗离婚率(‰)是否高于平均'].sum().reset_index(name = '高于全国平均的次数')

# 筛选次数等于10的地区
r1 = r1[r1['高于全国平均的次数']==10]
print("近10年来均高于全国平均的地区:",r1['地区'].tolist())

近10年来均高于全国平均的地区: [‘内蒙古自治区’, ‘吉林省’, ‘四川省’, ‘天津市’, ‘辽宁省’, ‘重庆市’, ‘黑龙江省’]

data2.sort_values('year',inplace = True)


c = (
    Line()
    .add_xaxis(data2['年份'].unique().tolist())
    .add_yaxis('内蒙古自治区',data2[data2['地区']=='内蒙古自治区']['粗离婚率(‰)'].tolist())
    .add_yaxis('吉林省',data2[data2['地区']=='吉林省']['粗离婚率(‰)'].tolist())
    .add_yaxis('四川省',data2[data2['地区']=='四川省']['粗离婚率(‰)'].tolist())
    .add_yaxis('天津市',data2[data2['地区']=='天津市']['粗离婚率(‰)'].tolist())
    .add_yaxis('辽宁省',data2[data2['地区']=='辽宁省']['粗离婚率(‰)'].tolist())
    .add_yaxis('重庆市',data2[data2['地区']=='重庆市']['粗离婚率(‰)'].tolist())
    .add_yaxis('黑龙江省',data2[data2['地区']=='黑龙江省']['粗离婚率(‰)'].tolist())
    .set_global_opts(title_opts = opts.TitleOpts(title = '连续10年粗离婚率(‰)高于全国平均水平的地区'),
                    legend_opts = opts.LegendOpts(is_show = True,pos_top = "95%") 
))
c.render_notebook()

在这里插入图片描述

5、全国各地近5年的结婚登记量-Timeline时间组件

可看出河南省、四川省、广东省是婚姻登记量较高的省份,建议用谷歌浏览器查看

result = data2[['地区','年份','结婚登记(万对)']]
result.fillna(0,inplace = True)
result = result[result['年份'].isin(['2018年', '2019年', '2020年', '2021年', '2022年'])]
year_list = result['年份'].unique().tolist()

t2 = Timeline()
t2.add_schema(
        is_auto_play=True, #设置自动播放
        play_interval=1000, #设置间间隔,毫秒
    )
for i in year_list:
    map0 = (
        Map()
        .add("结婚登记(万对)", [list(z) for z in zip(result.loc[result['年份'].str.contains(i)]['地区'].tolist(), 
                                          result.loc[result['年份'].str.contains(i)]['结婚登记(万对)'].tolist())], "china",
            is_map_symbol_show = True
            )
        .set_global_opts(
            title_opts=opts.TitleOpts(title="{}全国结婚登记量(万对)".format(i)),
            visualmap_opts=opts.VisualMapOpts(max_=result.loc[result['年份'].str.contains(i)]['结婚登记(万对)'].max(),
                                             range_color = ['#FFFFFF','#FF3342']),legend_opts = opts.LegendOpts(is_show = False)
        )
        .set_series_opts(label_opts = opts.LabelOpts(is_show = False))
    )
    t2.add(map0, "{}".format(i))
t2.render_notebook()

在这里插入图片描述

6、全国各地近5年的离婚率分布-Timeline时间组件

result1 = data2[['地区','年份','粗离婚率(‰)']]
result1.fillna(0,inplace = True)
result1 = result1[result1['年份'].isin(['2018年', '2019年', '2020年', '2021年', '2022年'])]
year_list1 = result1['年份'].unique().tolist()


tl = Timeline()
tl.add_schema(
        is_auto_play=True, #设置自动播放
        play_interval=1000, #设置间间隔,毫秒
    )
for i in year_list1:
    map0 = (
        Map()
        .add("粗离婚率(‰)", [list(z) for z in zip(result1.loc[result1['年份'].str.contains(i)]['地区'].tolist(), 
                                          result1.loc[result1['年份'].str.contains(i)]['粗离婚率(‰)'].tolist())], "china",
            is_map_symbol_show = True
            )
        .set_global_opts(
            title_opts=opts.TitleOpts(title="{}全国粗离婚率(‰)分布图".format(i)),
            visualmap_opts=opts.VisualMapOpts(max_=result1.loc[result1['年份'].str.contains(i)]['粗离婚率(‰)'].max(),
                                             range_color = ['#FFFFFF','#43c6ac']),legend_opts = opts.LegendOpts(is_show = False)
        )
        .set_series_opts(label_opts = opts.LabelOpts(is_show = False))
    )
    tl.add(map0, "{}".format(i))
tl.render_notebook()

在这里插入图片描述

7、动态展示20年来每年离婚率排名前5的地区

data['year'] = data['年份'].str.replace('年','').astype('int')
result2 = pd.pivot_table(data,index = 'year',columns = '地区',values = '粗离婚率(‰)')
result2.columns.name = ''
result2.fillna(0,inplace = True)

bcr.bar_chart_race(result2,
                   filename = None,
#                    steps_per_period= 10,
#                    period_length=200,
                   fixed_order = False,
                   n_bars = 5,
                   bar_size = 0.6,
                   perpendicular_bar_func ='median',
                   title = '粗离婚率(‰)前五的地区',
#                    cmap="set3",
                   filter_column_colors = True
                  )

在这里插入图片描述


http://www.kler.cn/news/359115.html

相关文章:

  • Codeforces Round 979 (Div. 2) A-C 题解
  • 【Qt】详细Qt基础 (包括自定义控件)
  • 说说ConcurrentLinkedQueue的HOPS(延迟更新的策略)的设计?
  • 第二十六:TCP/IP的知识回顾
  • SpringCloudStream使用StreamBridge实现延时队列
  • 【C++打怪之路Lv9】-- vector
  • CMake变量:CMAKE_FIND_LIBRARY_SUFFIXES
  • 开关柜触头中的无线测温
  • DORA 机器人中间件学习教程(5)——3D激光雷达数据可视化
  • ATTCK 框架讲解
  • 线性代数 向量
  • 行业标准丨《变电站智能巡检导则:图像识别》(征求意见稿)
  • Scrapy | 使用Scrapy进行数据建模和请求
  • 在日本生活压力大吗?
  • 手动把idea里面的services项目删除了,如何恢复
  • cefsharp79.1.360(Chromium 79.0.3945.130)支持H264视频播放-PDF预览 老版本回顾系列体验
  • 基于vue框架的的宠物救助系统l07q0(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
  • Node-RED开源项目的modbus通信(TCP)
  • scrapy 爬虫学习之【中医方剂】爬虫
  • 本地装了个pytorch cuda