完成填充之后,查看填充的结果
f,ax=plt.subplots(1,2,figsize=(20,10)) data[data['Survived']==0].Age.plot.hist(ax=ax[0],bins=20,edgecolor='black',color='red') ax[0].set_title('Survived= 0') x1=list(range(0,85,5)) ax[0].set_xticks(x1) data[data['Survived']==1].Age.plot.hist(ax=ax[1],color='green',bins=20,edgecolor='black') ax[1].set_title('Survived= 1') x2=list(range(0,85,5)) ax[1].set_xticks(x2) plt.show()
可以发现,幼儿获救数还是比较多的。年级最大的乘客获救了。死亡人数最多的是30-40年龄组
sns.factorplot('Pclass','Survived',col='Initial',data=data) plt.show()
5、Embarked:登船地点
pd.crosstab([data.Embarked,data.Pclass],[data.Sex,data.Survived],margins=True).style.background_gradient(cmap='summer_r')
图形化
sns.factorplot('Embarked','Survived',data=data) fig=plt.gcf() fig.set_size_inches(5,3) plt.show()
可以看出从C港上船的乘客的存活率最高,而从S港上船的乘客存活率最低。
不妨使用柱状图进行展示
f,ax=plt.subplots(2,2,figsize=(20,15)) sns.countplot('Embarked',data=data,ax=ax[0,0]) ax[0,0].set_title('No. Of Passengers Boarded') sns.countplot('Embarked',hue='Sex',data=data,ax=ax[0,1]) ax[0,1].set_title('Male-Female Split for Embarked') sns.countplot('Embarked',hue='Survived',data=data,ax=ax[1,0]) ax[1,0].set_title('Embarked vs Survived') sns.countplot('Embarked',hue='Pclass',data=data,ax=ax[1,1]) ax[1,1].set_title('Embarked vs Pclass') plt.subplots_adjust(wspace=0.2,hspace=0.5) plt.show()
可以发现,大部分人的船舱等级是3。C港的乘客看起来很幸运,他们的存活率最高。
sns.factorplot('Pclass','Survived',hue='Sex',col='Embarked',data=data) plt.show()
继续分析可以得出结论,存活率最高的是PClass1和PClass2的女人。PClass3的乘客中男性与女性的生存率都偏低。港口Q的乘客大部分都是PClass3
【缺失值填充】
港口信息也存在缺失值,此处,我们使用众数进行填充
data['Embarked'].fillna('S',inplace=True) data.Embarked.isnull().any()
6、Sibsip:兄弟姐妹的数量
这个特征表示一个人是独自一人还是与他的家人在一起
pd.crosstab([data.SibSp],data.Survived).style.background_gradient(cmap='summer_r')
图形表示
与PClass的关系
pd.crosstab(data.SibSp,data.Pclass).style.background_gradient(cmap='summer_r')
图形化
sns.barplot('Parch','Survived',data=data) sns.factorplot('Parch','Survived',data=data,ax=ax[1]) plt.show()
这再次表明,大家庭都在PClass3. 这里的结果也很相似。带着父母的乘客有更大的生存机会。然而,它随着数字的增加而减少。在船上的家庭父母人数中有1-3个的人的生存机会是好的。独自一人也证明是致命的,当船上有4个父母时,生存的机会就会减少。
8、Fare:船票的价格
船票的价格也可能是影响存活率的因素
print('Highest Fare was:',data['Fare'].max()) print('Lowest Fare was:',data['Fare'].min()) print('Average Fare was:',data['Fare'].mean())