算法学习
、4对1辅导
、论文辅导
、核心期刊
项目的代码和数据下载
可以通过公众号
滴滴我
一、项目背景
人类预期寿命是指在特定年龄出生的人群,按照当前的死亡率水平,预期平均能够存活的年数。预期寿命衡量一个国家和地区卫生健康状况、社会经济发展水平和生活条件的重要参数
本次分享的数据为世界各国(1960-2022年)、中国省域(历次人口普查)的历史平均预期寿命数据,数据来源为世界银行、第四-七次全国人口普查数据
二、数据说明
本数据共两份,分别是:人类预期寿命数据(中国省域)第四-七次人口普查
和人类预期寿命数据(世界各国)1960-2022年
。
-
表
人类预期寿命数据(中国省域)第四-七次人口普查
共93
条。表字段共6
个,分别是:指标名称
、地区
、第四次人口普查(1990年)
、第五次人口普查(2000年)
、第六次人口普查(2010年)
、第七次人口普查(2020年)
。
以下是表的部分数据:
-
表
人类预期寿命数据(世界各国)1960-2022年
共16960
条。表字段共5
个,分别是:国家名称
、年份
、平均预期寿命(年)
、女性预期寿命(年)
、男性预期寿命(年)
。
以下是表的部分数据:
三、数据处理
1、读取数据
import pandas as pd
import plotly.graph_objs as go
import plotly.express as px
file_path = '人类预期寿命数据(世界各国)1960-2022年.xlsx'
data = pd.read_excel(file_path)
data.head()
2、时间趋势分析
分析每个国家或地区预期寿命随时间的变化趋势。
为了简化分析,我计划选择以下几个国家:中国、美国、印度和巴西。这些国家具有不同的人口规模、经济发展水平和地理分布,因此可以提供多样化的视角。
# 选择的国家
selected_countries = ['中国', '美国', '印度', '巴西']
# 过滤数据
filtered_data = data[data['国家名称'].isin(selected_countries)]
# 创建 Plotly 图表
fig = go.Figure()
for country in selected_countries:
country_data = filtered_data[filtered_data['国家名称'] == country]
fig.add_trace(go.Scatter(
x=country_data['年份'],
y=country_data['平均预期寿命(年)'],
mode='lines+markers',
name=country
))
fig.update_layout(
title='1960-2022年选定国家平均预期寿命变化趋势',
xaxis_title='年份',
yaxis_title='平均预期寿命(年)',
legend_title='国家',
template='plotly_white'
)
fig.add_annotation(
text="",
xref="paper", yref="paper",
x=0.5, y=0.5,
showarrow=False,
font=dict(
family="Arial",
size=20,
color="lightgrey"
),
opacity=0.5,
xanchor='center'
)
fig.show()
从上图中,我们可以看到1960年至2022年间,中国、美国、印度和巴西的平均预期寿命都呈现出上升趋势。这反映了全球范围内医疗保健、生活条件和公共卫生的改善。
- 中国:预期寿命显著增长,从1960年的约60岁增长到2022年的约76岁。这一增长可能与中国经济发展、医疗保健改革和公共卫生政策的改善有关。
- 美国:预期寿命也有所增长,从1960年的约70岁增长到2022年的约79岁。美国的增长可能与其先进的医疗技术和较高的生活标准有关。
- 印度:预期寿命从1960年的约45岁增长到2022年的约69岁。这一显著增长可能与近年来印度经济的快速发展、医疗保健的改善和营养状况的提高有关。
- 巴西:预期寿命从1960年的约54岁增长到2022年的约76岁。巴西的增长可能与医疗保健系统的改善和经济发展的加速有关。
这些趋势表明,全球范围内的人类预期寿命普遍提高,特别是在经济发展较快和医疗保健系统较为完善的国家。
3、性别差异分析
分析不同国家或地区男性和女性预期寿命的差异。
# 选择的国家
selected_countries = ['中国', '美国', '印度', '巴西']
# 过滤数据
filtered_data = data[data['国家名称'].isin(selected_countries)]
# 创建 Plotly 图表
fig = go.Figure()
for country in selected_countries:
country_data = filtered_data[filtered_data['国家名称'] == country]
fig.add_trace(go.Scatter(
x=country_data['年份'],
y=country_data['女性预期寿命(年)'],
mode='lines+markers',
name=f"{country} 女性",
marker=dict(symbol='circle')
))
fig.add_trace(go.Scatter(
x=country_data['年份'],
y=country_data['男性预期寿命(年)'],
mode='lines+markers',
name=f"{country} 男性",
line=dict(dash='dash'),
marker=dict(symbol='x')
))
fig.update_layout(
title='1960-2022年选定国家男性和女性预期寿命变化趋势',
xaxis_title='年份',
yaxis_title='预期寿命(年)',
legend_title='性别',
template='plotly_white'
)
fig.add_annotation(
text="",
xref="paper", yref="paper",
x=0.5, y=0.5,
showarrow=False,
font=dict(
family="Arial",
size=20,
color="lightgrey"
),
opacity=0.5,
xanchor='center'
)
fig.show()
从上图中,我们可以看到1960年至2022年间,中国、美国、印度和巴西的男性和女性预期寿命都呈现出上升趋势。然而,值得注意的是,在这四个国家中,女性的预期寿命普遍高于男性。
- 中国:女性的预期寿命始终高于男性,且两者之间的差距在逐渐增大。
- 美国:女性的预期寿命也始终高于男性,但差距相对稳定。
- 印度:女性的预期寿命高于男性,且差距在逐渐增大。
- 巴西:女性的预期寿命同样高于男性,且差距在逐渐增大。
这些趋势反映了全球范围内普遍存在的性别差异,其中女性通常比男性寿命更长。这种差异可能与生物学因素、生活方式差异、以及男性和女性在社会中的不同角色和压力有关。
4、全球趋势分析
分析全球平均预期寿命的趋势及其变化。
注意:因为数据集中没有提供各国的人口数据,我将使用简单的未加权平均来估算全球平均预期寿命。这意味着每个国家的预期寿命将被平等考虑。这种方法可能不会非常精确,但它可以提供一个大致的趋势。
# 计算每年的全球平均预期寿命
global_avg_life_expectancy = data.groupby('年份')['平均预期寿命(年)'].mean().reset_index()
# 创建 Plotly 图表
fig = go.Figure()
fig.add_trace(go.Scatter(
x=global_avg_life_expectancy['年份'],
y=global_avg_life_expectancy['平均预期寿命(年)'],
mode='lines+markers',
marker=dict(color='blue', symbol='circle'),
line=dict(color='blue'),
name='全球平均预期寿命'
))
fig.update_layout(
title='1960-2022年全球平均预期寿命变化趋势',
xaxis_title='年份',
yaxis_title='平均预期寿命(年)',
template='plotly_white'
)
fig.add_annotation(
text="",
xref="paper", yref="paper",
x=0.5, y=0.5,
showarrow=False,
font=dict(
family="Arial",
size=20,
color="lightgrey"
),
opacity=0.5,
xanchor='center'
)
fig.show()
从上图中,我们可以看到1960年至2022年间,全球平均预期寿命呈现出稳定的上升趋势。这表明在全球范围内,人们的平均寿命在逐渐增加。
- 在1960年,全球平均预期寿命约为53岁左右。
- 到了2022年,全球平均预期寿命增加到了约72岁左右。
这种趋势反映了全球范围内医疗保健、生活条件和公共卫生的普遍改善。虽然不同国家和地区的预期寿命存在差异,但整体上,全球人口的平均预期寿命在增加.
5、中国1960至2022年的中国平均预期寿命变化趋势
# 过滤数据
china_data = data[data['国家名称'] == '中国']
china_data.head(4)
# 创建 Plotly 图表
fig = go.Figure()
fig.add_trace(go.Scatter(
x=china_data['年份'],
y=china_data['平均预期寿命(年)'],
mode='lines+markers',
name='平均预期寿命',
marker=dict(symbol='circle')
))
fig.add_trace(go.Scatter(
x=china_data['年份'],
y=china_data['女性预期寿命(年)'],
mode='lines+markers',
name='女性预期寿命',
marker=dict(symbol='square')
))
fig.add_trace(go.Scatter(
x=china_data['年份'],
y=china_data['男性预期寿命(年)'],
mode='lines+markers',
name='男性预期寿命',
marker=dict(symbol='triangle-up')
))
fig.update_layout(
title='1960-2022年中国预期寿命变化趋势',
xaxis_title='年份',
yaxis_title='预期寿命(年)',
legend_title='类别',
template='plotly_white'
)
fig.add_annotation(
text="",
xref="paper", yref="paper",
x=0.5, y=0.5,
showarrow=False,
font=dict(
family="Arial",
size=20,
color="lightgrey"
),
opacity=0.5,
xanchor='center'
)
fig.show()
从上图中,我们可以看到1960年至2022年间,中国的平均预期寿命显著增长。具体来看:
- 平均预期寿命:从1960年的约60岁增长到2022年的约76岁。这一显著增长反映了医疗保健、生活条件和公共卫生的改善。
- 女性预期寿命:女性的预期寿命始终高于男性,且两者之间的差距在逐渐增大。这可能与女性在健康行为、社会角色和生物学方面的优势有关。
- 男性预期寿命:男性的预期寿命也有所增长,但增长速度不及女性。
china_provinces_data = pd.read_excel('人类预期寿命数据(中国省域)第四-七次人口普查.xlsx')
china_provinces_data.head(6)
china_provinces_data.info()
average_life_expectancy_data = china_provinces_data[china_provinces_data['指标名称'] == '平均预期寿命(岁)']
average_life_expectancy_data.head()
average_life_expectancy_long = average_life_expectancy_data.melt(
id_vars=['地区', '指标名称'],
var_name='人口普查年份',
value_name='平均预期寿命'
)
# 使用 Plotly Express 创建折线图
fig = px.line(
average_life_expectancy_long,
x='人口普查年份',
y='平均预期寿命',
color='地区',
markers=True,
title='中国各省平均预期寿命变化趋势(1990-2020年)',
labels={'人口普查年份': '人口普查年份', '平均预期寿命': '平均预期寿命(岁)'}
)
# 更新布局
fig.update_layout(
legend_title_text='地区',
xaxis_title='人口普查年份',
yaxis_title='平均预期寿命(岁)',
template='plotly_white'
)
fig.add_annotation(
text="",
xref="paper", yref="paper",
x=0.5, y=0.5,
showarrow=False,
font=dict(
family="Arial",
size=20,
color="lightgrey"
),
opacity=0.5,
xanchor='center'
)
# 显示图表
fig.show()
从上面的分析结果中,我们可以得出以下几点结论:
- 整体增长趋势:在1990年至2020年期间,中国各省的平均预期寿命普遍呈现增长趋势。这表明随着时间的推移,中国人民的生活质量得到了提高,医疗保健水平也有所提升。
- 地区差异:不同省份之间的平均预期寿命存在差异。一些经济发达和医疗资源丰富的省份,如北京、上海等,其平均预期寿命普遍较高。而一些经济较落后或地理位置较偏远的省份,其平均预期寿命相对较低。
- 增长速度:虽然所有省份的平均预期寿命都有所增长,但增长速度在不同省份之间有所不同。一些省份的增长速度较快,而其他省份的增长速度较慢。
- 性别差异:虽然本分析未专门针对性别差异进行详细探讨,但根据常识和已有数据,我们知道在大多数地区,女性的平均预期寿命通常高于男性。
总的来说,这些数据反映了中国在过去几十年里在提高人民生活水平和健康状况方面取得的进步,同时也揭示了地区间在健康和医疗资源方面的差异。这些差异可能受到多种因素的影响,包括经济发展水平、医疗保健体系的完善程度、生活方式和环境因素等。
average_life_expectancy_growth = average_life_expectancy_data[['地区', '第四次人口普查(1990年)', '第七次人口普查(2020年)']]
average_life_expectancy_growth['增长量'] = average_life_expectancy_growth['第七次人口普查(2020年)'] - average_life_expectancy_growth['第四次人口普查(1990年)']
top_growth_provinces = average_life_expectancy_growth.sort_values(by='增长量', ascending=False).reset_index(drop=True)
top_growth_provinces.head()
# 使用 Plotly Express 创建条形图
fig = px.bar(
top_growth_provinces,
x='地区',
y='增长量',
color='增长量',
color_continuous_scale='viridis',
title='中国各省1990-2020年平均预期寿命增长量',
labels={'地区': '省份', '增长量': '平均预期寿命增长量(岁)'}
)
# 更新布局
fig.update_layout(
xaxis_title='省份',
yaxis_title='平均预期寿命增长量(岁)',
xaxis_tickangle=-45, # 旋转x轴标签
template='plotly_white'
)
fig.add_annotation(
text="",
xref="paper", yref="paper",
x=0.5, y=0.5,
showarrow=False,
font=dict(
family="Arial",
size=20,
color="lightgrey"
),
opacity=0.5,
xanchor='center'
)
# 显示图表
fig.show()