【Python】数据探索分析——东北大学软件学院大数据班数据挖掘实训一(1)

在这里插入图片描述

(1)获取数据并进行数据预处理,将含有缺失值的样本去掉,取出死亡率在 0<q<=1范围内的数据。

import pandas as pd
df=pd.read_csv("C:\\Users\\zzh\\Desktop\\dataMiningExperment\\第一次数据挖掘实训\\death rate.csv")
df.head()
Year Age Female_Exp Male_Exp q_female q_male Female_death Male_death L_female_exp L_male_exp
0 1951 0.0 53684.67 57059.14 0.018497 0.024273 993.005341 1384.996505 10.890883 10.951844
1 1951 1.0 56056.20 59379.55 0.001944 0.002021 108.973253 120.006071 10.934110 10.991705
2 1951 2.0 59026.83 61855.13 0.001186 0.001455 70.005820 89.999214 10.985747 11.032550
3 1951 3.0 60794.23 63620.28 0.000888 0.000959 53.985276 61.011849 11.015250 11.060688
4 1951 4.0 61980.55 65167.32 0.000484 0.001013 29.998586 66.014495 11.034576 11.084713
df.shape
(6105, 10)
df.isna().sum() #每列有多少个缺失值
Year              0
Age              55
Female_Exp        0
Male_Exp          0
q_female        129
q_male          235
Female_death    129
Male_death      235
L_female_exp      0
L_male_exp        0
dtype: int64
df=df.dropna()
df.shape
(5865, 10)
df.isna().sum() #每列有多少个缺失值
Year            0
Age             0
Female_Exp      0
Male_Exp        0
q_female        0
q_male          0
Female_death    0
Male_death      0
L_female_exp    0
L_male_exp      0
dtype: int64
df=df[(df.q_male>0) & (df.q_male<=1)]         #取出死亡率在0<q<=1范围内的数据
df.shape
(5732, 10)

(2)完成数据的描述和研究对象的分布类型中的分析过程,利用python绘制相关的散点图等。

import matplotlib.pyplot as plt
import numpy as np
plt.rc('font', family='SimHei', size=15) #绘图中的中文显示问题,图表字体为SimHei,字号为15
#plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
plt.figure(figsize=(9,8))  
plt.title('年龄与男性死亡率(对数)的关系')  #有标题
plt.xlabel('年龄') #横坐标的标题
plt.ylabel('男性死亡率(对数)') #纵坐标的标题
plt.scatter(df.Age,np.log(df.q_male),c='',marker = 'o',edgecolors='k')  #空心圆
# plt.plot(df.Age,log_q_male,'o')# 实心圆
plt.savefig('年龄与男性死亡率(对数)的关系') #保存图片文件命名为

在这里插入图片描述

plt.figure(figsize=(10,4))  
plt.title('年份与男性死亡率(对数)的关系')  #有标题
plt.xlabel('年份') #横坐标的标题
plt.ylabel('男性死亡率(对数)') #纵坐标的标题
plt.scatter(df.Year,np.log(df.q_male),c='',marker = 'o',edgecolors='k')  #空心圆
# plt.plot(df.Year,log_q_male,'o')#实心圆
plt.savefig('年份与男性死亡率(对数)的关系') #保存图片文件命名为

在这里插入图片描述

plt.figure(figsize=(9,8))  
plt.title('年龄与对数男性生存人口数的关系')  #有标题
plt.xlabel('年龄') #横坐标的标题
plt.ylabel('对数男性生存人口数') #纵坐标的标题
plt.scatter(df.Age,df.L_male_exp,c='',marker = 'o',edgecolors='k')  #空心圆
# plt.plot(df.Age,df.L_male_exp,'ob') # 实心圆
plt.savefig('年龄与对数男性生存人口数的关系') #保存图片文件命名为

在这里插入图片描述

plt.figure ( figsize=(10, 4) )
plt.hist ( df.Male_death, bins=100,
           normed=True,   # normed:是否将直方图的频数转换成频率。
           color='white',  # 指定直方图的填充色
           edgecolor='black' ,# 指定直方图的边框色
         )
plt.xlabel('男性死亡人数')# 添加x轴和y轴标签
plt.ylabel('频数')
plt.title('男性死亡人数的直方图') # 添加标题

在这里插入图片描述

plt.figure ( figsize=(10, 4) )
plt.hist (np.log(df.Male_death), bins=100,
           normed=True,   # normed:是否将直方图的频数转换成频率。
           color='white',  # 指定直方图的填充色
           edgecolor='black' ,# 指定直方图的边框色
         )
plt.xlabel('男性死亡人数(对数)')# 添加x轴和y轴标签
plt.ylabel('频数')
plt.title('男性死亡人数(对数)的直方图') # 添加标题

在这里插入图片描述

posted @ 2019-12-25 20:38  爱做梦的子浩  阅读(425)  评论(0编辑  收藏  举报