直方统计图:

代码如下:

#年龄的处理

#画图,面板处理
fig,(axis1,axis2)=plt.subplots(1,2,figsize=(15,4))
axis1.set_title("original age values-Titanic")
axis2.set_title("New Age values -tatanic")

#提取年龄的均值,方差和缺失值个数
averager_age_train=train_data["Age"].mean()
std_age_trian=train_data["Age"].std()
count_nan_age_train=train_data["Age"].isnull().sum()

averager_age_test=test_data["Age"].mean()
std_age_test=test_data["Age"].std()
count_nan_age_test=test_data["Age"].isnull().sum()

#产生和原数据一样的分布,和缺失值个数相同的数据
rand1=np.random.randint(averager_age_train-std_age_trian,averager_age_train+std_age_trian,size=count_nan_age_train)
rand2=np.random.randint(averager_age_test-std_age_test,averager_age_test+std_age_test,size=count_nan_age_test)

#画原图
train_data["Age"].dropna().astype(int).hist(bins=70,ax=axis1)

#把缺失值补上
train_data["Age"][np.isnan(train_data["Age"])]=rand1
test_data["Age"][np.isnan(test_data["Age"])]=rand2

train_data["Age"]=train_data["Age"].astype(int)
test_data["Age"]=test_data["Age"].astype(int)

#画补上之后的年龄分布
train_data["Age"].hist(bins=70,ax=axis2)

#结论
#1.年龄以25左右的这个段的最多
#2.婴儿也有,呈递减的规律
#3.次高峰是35,后面随着年龄增加,人数变得小

在这里插入图片描述

发布了46 篇原创文章 · 获赞 0 · 访问量 830

猜你喜欢

转载自blog.csdn.net/github_38148039/article/details/103916813