【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('男性死亡人数(对数)的直方图') # 添加标题
大家好,我是[爱做梦的子浩](https://blog.csdn.net/weixin_43124279),我是东北大学大数据实验班大三的小菜鸡,非常向往优秀,羡慕优秀的人,已拿两个暑假offer,欢迎大家找我进行交流😂😂😂
这是我的博客地址:[子浩的博客https://blog.csdn.net/weixin_43124279]
——
版权声明:本文为CSDN博主「爱做梦的子浩」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。