结离婚数据分析完整数据代码数据

这里你可以编写代码,文档

关于文件目录

project:project 目录是本项目的工作空间,可以把将项目运行有关的所有文件放在这里,目录中文件的增、删、改操作都会被保留

input:input 目录是数据集的挂载位置,所有挂载进项目的数据集都在这里,未挂载数据集时 input 目录被隐藏

temp:temp 目录是临时磁盘空间,训练或分析过程中产生的不必要文件可以存放在这里,目录中的文件不会保存

In [28]:

import pandas as pd
import numpy as np

In [45]:

df=pd.read_csv('/home/mw/input/marrieddata8411/data.csv')
df.head()

Out[45]:

地区年份结婚登记(万对)内地居民登记结婚(万对)内地居民初婚登记(万对)内地居民再婚登记(万对)涉外及港澳台居民登记结婚(万对)离婚登记(万对)粗离婚率(‰)
0北京市2022年9.139.0911.816.450.044.422.02
1北京市2021年10.3410.2913.637.040.045.042.30
2北京市2020年11.3811.3412.4310.330.048.193.77
3北京市2019年12.9012.8214.1511.640.088.383.89
4北京市2018年13.7813.7016.9210.650.087.413.43

In [46]:

#内地居民登记结婚(万对)比内地居民初婚登记(万对)少?结婚不是包括初婚和再婚嘛?
items = [
    [
        col, 
        df[col].dtype, 
        df[col].isnull().sum(),
    ] for col in df
]

display(pd.DataFrame(data=items, columns=[
    'Attributes',
    'Data Type',
    'Total Missing',
]))
AttributesData TypeTotal Missing
0地区object0
1年份object0
2结婚登记(万对)float640
3内地居民登记结婚(万对)float640
4内地居民初婚登记(万对)float640
5内地居民再婚登记(万对)float641
6涉外及港澳台居民登记结婚(万对)float6450
7离婚登记(万对)float640
8粗离婚率(‰)float64217

In [47]:

#缺失值处理
df['涉外及港澳台居民登记结婚(万对)']=df['涉外及港澳台居民登记结婚(万对)'].fillna(df["结婚登记(万对)"] - df["内地居民登记结婚(万对)"])
df['内地居民再婚登记(万对)']=df['内地居民再婚登记(万对)'].fillna(df["内地居民登记结婚(万对)"] - df["内地居民初婚登记(万对)"])

In [48]:

df.drop_duplicates(inplace=True)
df.reset_index(inplace=True,drop=True)

In [49]:

#分析一下近十年我国结婚离婚情况
data=df.groupby('年份')[['结婚登记(万对)','离婚登记(万对)']].agg({'结婚登记(万对)':np.sum,'离婚登记(万对)':np.sum})

In [52]:

data.index.tolist()[-10:-1]
round(data['结婚登记(万对)'],2).tolist()[-10:-1]
round(data['离婚登记(万对)'],2).tolist()[-10:-1]

Out[52]:

[350.02, 363.65, 384.14, 415.81, 437.35, 446.07, 470.09, 433.89, 283.9]

In [53]:

from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.charts import Line
import matplotlib.pyplot as plt
c=(
        Bar()
    .add_xaxis(data.index.tolist()[-10:])
    .add_yaxis("结婚",round(data['结婚登记(万对)'],2).tolist()[-10:-1])
    .add_yaxis("离婚",round(data['离婚登记(万对)'],2).tolist()[-10:-1])
    .set_global_opts(
        title_opts=opts.TitleOpts(title="近10年我国结婚离婚情况"),
        yaxis_opts=opts.AxisOpts(name="万对"),
        xaxis_opts=opts.AxisOpts(name="年"))
    .render_notebook()
  )  

c

Out[53]:

In [55]:

#分析各地区离结率
df_area=df.groupby("地区")[['结婚登记(万对)','离婚登记(万对)']].agg({'结婚登记(万对)':np.sum,'离婚登记(万对)':np.sum})

In [56]:

df_area.index.tolist()
df_area['离结率']=round(df_area['离婚登记(万对)']/df_area['结婚登记(万对)']*100,2)
df_area['离结率'].tolist()

In [57]:

from pyecharts import options as opts
from pyecharts.charts import Map

c = (
    Map()
    .add("离结率", [list(z) for z in zip(df_area.index.tolist(), df_area['离结率'].tolist())], "china",is_roam=False)
    .set_global_opts(
        title_opts=opts.TitleOpts(title="各地离结率"),
        visualmap_opts=opts.VisualMapOpts(max_=100, is_piecewise=True),
        tooltip_opts=opts.TooltipOpts(formatter='{b}:{c}%')
    )

    .render_notebook()
)
c
#可以看到东北三省“黑吉辽”、天津市、重庆市、上海市的离结率较高,可能东北那边大男子主义居多?其他就是较发达的地区离结率居高

Out[57]:

In [59]:

#分析一下各地区初婚占结婚对数的比率
df_new=df[['地区','年份','内地居民初婚登记(万对)','内地居民再婚登记(万对)']]
data=df_new.groupby('年份')[['内地居民初婚登记(万对)','内地居民再婚登记(万对)']].agg({'内地居民初婚登记(万对)':np.sum,'内地居民再婚登记(万对)':np.sum})

In [61]:

from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.commons.utils import JsCode
from pyecharts.globals import ThemeType

c = (
    Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
    .add_xaxis(data.index.tolist()[-10:])
    .add_yaxis("初婚登记", round(data['内地居民初婚登记(万对)'],2).tolist()[-10:], stack="stack1", category_gap="50%",label_opts=opts.LabelOpts(
            position="inside"))
    .add_yaxis("再婚登记",round(data['内地居民再婚登记(万对)'],2).tolist()[-10:], stack="stack1", category_gap="50%",label_opts=opts.LabelOpts(
            position="top"))
        
    .render_notebook()
)
c

Out[61]:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值