泰坦尼克号数据_泰坦尼克号数据分析报告
各等级船舱乘客⼈数
891名乘客中遇难乘客有549⼈,占61.6%,⽣还乘客342⼈,占38.4%.各等级船舱乘客⼈数
Pclass_count=titanic_data['Pclass'].value_counts().sort_index() #⽤Bar_pie()函数作条形图和饼状图 Bar_pie(Pclass_count)
男⼥乘客分布情况
三等船舱乘客最多,占55.1%;⼀等船舱次之占24.2%;⼆级船舱乘客最少,占20.7%.男⼥乘客分布情况
Sex_count=titanic_data['Sex'].value_counts() print(Sex_count) Bar_pie(Sex_count)
male 577
female 314
Name: Sex, dtype: int64
乘客年龄分布情况
男乘客有577⼈,占64.8%;⼥乘客有314⼈,占35.2%.乘客年龄分布情况
In [84]:
#乘客年龄分布直⽅图 #创建figure、subplot,并⽤hist作条形图 fig_Age=plt.figure(figsize=(10,5))
ax_Age=fig_Age.add_subplot(1,2,1) titanic_data['Age'].hist(bins=10,color='g',alpha=0.3,grid=False) #设置x轴刻度标签
ax_Age.set_xticks([0,10,20,30,40,50,60,70,80,90,100]) #添加标题,x轴标签,y轴标签 ax_Age.set_title('Hist plot of Age') ax_Age.set_xlabel('Age') ax_Age.set_ylabel('number of people') #乘客年龄分布箱线图 #作箱线图 plt.subplot(122)
titanic_data.boxplot(column='Age',showfliers=False) #添加y轴标签 plt.ylabel('Age') plt.title('boxplot of Fare')
titanic_data['Age'].describe()
count 891.000000
mean 29.544332
std 13.013778
min 0.000000
25% 22.000000
50% 29.000000
75% 35.000000
max 80.000000
Name: Age, dtype: float64
兄弟妹、配偶在船上的乘客年龄⼤概成正态分布,平均年龄29岁多,最⼤的80岁,最⼩的不到1岁(利⽤int()取整,不到1岁的为0).兄弟妹、配偶在船上的乘客分布情况条形图
#创建figure、subplot,⽤plot()作柱状图 fig_SibSp=plt.figure(figsize=(10,5)) ax_SibSp=fig_SibSp.add_subplot(1,2,1)
SibSp_count=titanic_data['SibSp'].value_counts() SibSp_count.plot(kind='bar') #添加标题,x轴标签,y轴标签
ax_SibSp.set_title('Bar plot of SibSp') ax_SibSp.set_xlabel('number of SibSp') ax_SibSp.set_ylabel('number of people') #拥有各数量的兄弟妹、配偶的乘客⽐例条形图 plt.subplot(122) SibSp_count.div(SibSp_count.sum()).plot(kind='bar') #添加标题,x、y轴标签 plt.title('Ratio of people in SibSp') plt.xlabel('SibSp') plt.ylabel('ratio')
⽗母、孩⼦在船上的乘客分布条形图
在船上没有兄弟妹配偶的乘客较多,占68.2%.⽗母、孩⼦在船上的乘客分布条形图
Parch_count=titanic_data['Parch'].value_counts() #创建figure、subplot,⽤plot()作柱状图 fig_Parch=plt.figure(figsize=(10,5)) ax_Parch=fig_Parch.add_subplot(1,2,1) Parch_count.plot(kind='bar') #添加标题,x、y轴标签 ax_Parch.set_title('Bar plot of Parch') ax_Parch.set_ylabel('number of people') ax_Parch.set_xlabel('number of Parch') #船上有不同数量⽗母孩⼦的乘客⼈数⽐例条形图 plt.subplot(122) Parch_count.div(Parch_count.sum()).plot(kind='bar') #添加标题,x、y轴标签 plt.title('Ratio of people in Parch') plt.xlabel('Parch') plt.ylabel('ratio')
船票价格分布情况
没带⽗母、孩⼦的乘客叫多,占76.1%;带1个的次之,占13.2%;带2个的再次之,占9%;船票价格分布情况
#创建figure、subplot,⽤hist做直⽅图 fig_Fare=plt.figure(figsize=(10,5)) ax_Fare=fig_Fare.add_subplot(1,2,1)
titanic_data['Fare'].hist(bins=10,color='g',grid=False) #添加标题,x、y轴标签 ax_Fare.set_title('Hist plot of Fare')
ax_Fare.set_ylabel('number of people') ax_Fare.set_xlabel('Fare') #票价箱线图 #作箱线图 plt.subplot(122)
titanic_data.boxplot(column='Fare',showfliers=False) #添加标题、y轴标签 plt.title('boxplot of Fare') plt.ylabel('Fare')
titanic_data['Fare'].describe()
count 891.000000
mean 32.204208
std 49.693429
min 0.000000
25% 7.910400
50% 14.454200
75% 31.000000
max 512.329200
Name: Fare, dtype: float64
各港⼝上船乘客⼈数分布条形图
最⾼票价512.3292,最低票价0,平均票价32.2。各港⼝上船乘客⼈数分布条形图
Embarked_count=titanic_data['Embarked'].value_counts() #⽤Bar_pie函数作条形图、饼状图 Bar_pie(Embarked_count)
乘客上船的港⼝共有三个S、C、Q,其中在S港⼝上船的乘客较多,占72.5%;C港⼝次之,占18.9%;Q港⼝再次之,占8.6%。3、各
3、各
各等级船舱中乘客的⽣还情况
因素对乘客⽣还情况的影响各等级船舱中乘客的⽣还情况
因素对乘客⽣还情况的影响
#作各级船舱乘客⽣还情况条形图 Pclass_data_count=upby(['Pclass','Survived'])['Survived'].count().unstack() print(Pclass_data_count) Pclass_data_count.plot(kind='bar',stacked=True) #添加标题,y轴标签 plt.title('Survived & Pclass') plt.ylabel('Number of people')
Survived 0 1
Pclass
1 80 136
2 97 87
3 372 119
upby('Pclass')['Survived'].mean()
Pclass
1 0.629630
2 0.472826
3 0.242363
Name: Survived, dtype: float64
⼀等船舱216⼈,136⼈⽣还,⽣还率63%;
⼆等船舱184⼈,87⼈⽣还,⽣还率47.3%;
性别对⽣还率的影响情况
三等船舱491⼈,119⼈⽣还,⽣还率24.2%性别对⽣还率的影响情况
#利⽤groupby()整理数据 Sex_Survived_data=upby(['Sex','Survived'])['Survived'].count().unstack()
print(Sex_Survived_data) #作条形图 Sex_Survived_data.plot(kind='bar',stacked=True) #添加标题、y轴标签 plt.title('Sex & Survived') plt.ylabel('Number of people')
Survived 0 1
Sex
female 81 233
male 468 109
upby('Sex')['Survived'].mean()
Sex
female 0.742038
用subplot函数male 0.188908
Name: Survived, dtype: float64
船上有⼥乘客314⼈,233⼈⽣还,⽣还率74.2%;
兄弟妹配偶数量对乘客⽣还情况的影响
船上有男乘客577⼈,109⼈⽣还,⽣还率18.9%.兄弟妹配偶数量对乘客⽣还情况的影响
#将数据分为有、⽆兄弟妹配偶 SibSp_Survived_data=upby(['SibSp','Survived'])['Survived'].count().unstack() SibSp_Survived_data_count=SibSp_Survived_data.loc[:1,]
SibSp_Survived_data_count.loc[1]=SibSp_Survived_data.loc[1:].sum() print(SibSp_Survived_data_count) #函数作⼀个堆叠条形图,两个饼状图 def Bar_2pie(SibSp_Survived_data_count): #标签 label=SibSp_Survived_lumns
name1=SibSp_Survived_data_count.index.name #作条形图 SibSp_Survived_data_count.plot(kind='bar',stacked=True) #添加标题,y轴标签 plt.title('%s & Survived'%name1) plt.ylabel('Number of people') #⽆兄弟妹配偶的乘客的⽣存⽐例饼状图
plt.figure(figsize=(10,5)) plt.subplot(121) plt.pie(x=SibSp_Survived_data_count.loc[0],labels=label,autopct='%3.1f %%', shadow=False,labeldistance=1.1,startangle=90,pctdistance=.7) plt.title('%s=0'%name1) #有兄弟妹配偶的乘客的⽣存⽐例饼状图 plt.subplot(122) plt.pie(x=SibSp_Survived_data_count.loc[1],labels=label,autopct='%3.1f %%',
shadow=False,labeldistance=1.1,startangle=90,pctdistance=.7) plt.title('%s>0'%name1) #⽤Bar_2pie()函数作⼀个堆叠条形图,两个饼状图 Bar_2pie(SibSp_Survived_data_count)
Survived 0 1
SibSp
0 398.0 210.0
1 151.0 132.0
⽆兄弟妹配偶的乘客共有608⼈,210⼈⽣还,⽣还率34.5%;
有、⽆⽗母孩⼦的乘客的⽣存情况
有兄弟妹配偶的乘客共有283⼈,132⼈⽣还,⽣还率46.6%.有、⽆⽗母孩⼦的乘客的⽣存情况
#⽤groupby()函数整理数据 Parch_Survived_data=upby(['Parch','Survived'])['Survived'].count().unstack()
Parch_Survived_data_count=Parch_Survived_data.loc[:1,]
Parch_Survived_data_count.loc[1]=Parch_Survived_data.loc[1:].sum() #⽤Bar_2pie()函数作⼀个堆叠条形图,两个饼状图
Bar_2pie(Parch_Survived_data_count)
Survived 0 1
Parch
0 445.0 233.0
1 104.0 109.0

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。