一:数据介绍
数据来源:预期寿命数据集 - Heywhale.com
该数据提供了中国各地区在第七次人口普查(2020年)中的平均预期寿命,包括男性和女性的预期寿命。该表具有93行和3列。以下是关于这个数据表的具体信息:
指标名称
(object 类型):包含93个非空值,这个列描述了不同的预期寿命指标,例如“平均预期寿命(岁)”、“男性(岁)”和“女性(岁)”。地区
(object 类型):包含93个非空值,表示中国各个省份或直辖市。第七次人口普查(2020年)
(float64 类型):包含93个非空值,这个列提供了相应地区和指标名称下的预期寿命数据。
二:数据分析
先读取数据:
import numpy as np
import pandas as pddf = pd.read_excel("中国平均预期寿命.xlsx")
# 显示数据框的前五行
df
演示数据如下:
然后大致查看下数据特征:
df.describe()
结果如下:
可以看出数据无缺失值且平均寿命为78岁。
1:中国各省份平均寿命排名
- 数据集包含三个列:指标名称、地区和第七次人口普查(2020年)的数据。
- 我们可以分析“平均预期寿命(岁)”这一指标,因此可以先筛选出这一指标的数据。
- 接下来,我们可以比较不同地区或不同性别的平均预期寿命。
- 最后,我们可以使用图表来可视化探索结果。
life_expectancy_data = df[df['指标名称'] == '平均预期寿命(岁)']sorted_life_expectancy = life_expectancy_data.sort_values(by='第七次人口普查(2020年)', ascending=False).reset_index(drop=True)import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False plt.figure(figsize=(10, 8))
plt.barh(sorted_life_expectancy['地区'], sorted_life_expectancy['第七次人口普查(2020年)'], color='lightgreen')
plt.xlabel('平均预期寿命(岁)')
plt.ylabel('省份')
plt.title('中国各省份平均预期寿命排名(2020年)')
plt.gca().invert_yaxis()
plt.grid(axis='x')plt.show()
整体来说,这段代码的目的是创建一个条形图,展示中国各省份在2020年的平均预期寿命,并按照寿命的长短进行排序。图表是水平的,省份名称在y轴上,平均预期寿命在x轴上。
可视化图表如下:
平均预期寿命城市排名分别从上到下依次为上海,北京,天津等,符合预期的想法。
2:中国不同省份男性和女性的平均预期寿命
- 要将性别因素纳入分析,我们首先需要从数据集中筛选出男性和女性的平均预期寿命数据。
- 接着,我们可以计算全国男性和女性的平均预期寿命,并进行比较。
- 最后,我们可以使用条形图来可视化不同省份男性和女性的平均预期寿命,以便比较性别差异。
male_life_expectancy = df[df['指标名称'] == '男性(岁)']
female_life_expectancy = df[df['指标名称'] == '女性(岁)']national_avg_male_life_expectancy = male_life_expectancy['第七次人口普查(2020年)'].mean()
national_avg_female_life_expectancy = female_life_expectancy['第七次人口普查(2020年)'].mean()fig, ax = plt.subplots(figsize=(12, 8))
bar_width = 0.35
index = range(len(male_life_expectancy))male_bars = ax.bar(index, male_life_expectancy['第七次人口普查(2020年)'], bar_width, label='男性', color='lightblue')
female_bars = ax.bar([i + bar_width for i in index], female_life_expectancy['第七次人口普查(2020年)'], bar_width, label='女性', color='lightpink')ax.set_xlabel('省份')
ax.set_ylabel('平均预期寿命(岁)')
ax.set_title('中国不同省份男性和女性的平均预期寿命(2020年)')
ax.set_xticks([i + bar_width / 2 for i in index])
ax.set_xticklabels(male_life_expectancy['地区'], rotation=45)
ax.legend()plt.show()
整体来说,这段代码的目的是创建一个条形图,展示中国不同省份男性和女性在2020年的平均预期寿命,并进行比较。图表中男性和女性的条形图并排显示,以便于直观比较。
可视化结果如下:
- 我们成功绘制了展示不同省份男性和女性平均预期寿命的条形图。
- 图表显示,几乎所有省份女性的平均预期寿命高于男性。
# Calculate the national average life expectancy for males and females
national_avg_male_life_expectancy = male_life_expectancy['第七次人口普查(2020年)'].mean()
national_avg_female_life_expectancy = female_life_expectancy['第七次人口普查(2020年)'].mean()national_avg_male_life_expectancy, national_avg_female_life_expectancy
进一步得到全国男性的平均预期寿命为75.50岁,女性的平均预期寿命为80.70岁的结论。
想要探索更多元化的数据分析视角,可以关注之前发布的内容。