泰坦尼克号数据分析报告

泰坦尼克号数据分析报告

数据链接:https://www.kaggle.com/c/titanic/data

  1. 观察数据在这里插入图片描述

                         图(1)
    

由图可知,在age/cabin/Embark 字段中有缺失,在之后的分析中会做相应的处理。

  1. 基本特征

由图2.3.4可知,共有人数891人,男性577人,女性314 人,生还人数有342人占总人数的38%,其中男性占109人,女性占233人。死亡人数有549人占总人数的62%,其中男性 468人,女性81人,根据上图提供数据可知女性生还比例大于男性生还比例。
在这里插入图片描述

               图(2)

在这里插入图片描述

                           图(3)

在这里插入图片描述

                            图(4)

3.女性生还概率与外部因素(舱位,年龄,港口)之间的关系。

  1. 舱位

不同舱位间女性生还数量如5,6图所示,生还概率依次为97%,92%,50%。初步发现随着舱位的优先级上升存活概率随之增加,结合实际考虑,第三舱位更接近水平面首先浸入水中,第一舱位最慢,则留给第一舱位的反应时间是最多的。所以可以解释为何舱位等级越高,存活概率越大的问题。
在这里插入图片描述

                            图(5)

在这里插入图片描述

                           图(6)
  1. 年龄

年龄字段有缺失,分别用各个舱位的女性平均数数进行填充。如图7.8.9。

df1=df[(df['Sex']=='female') & (df['Age']!='NaN')]        
age=round(df1.groupby(by='Pclass')['Age'].mean(),1)        
df1.set_index('Pclass',inplace=True)        
df1['Age'].fillna(age,inplace=True)

在这里插入图片描述在这里插入图片描述

         图(7)                  图(8)

填充完毕,先来看一个在此次事故中所有女性的年龄分布图,由图可知,16岁到32岁之间人数最多,占到了所有女性的50%,中年人33岁到44次之,然后是0岁到16岁的小孩子,最后是48岁到63岁的老年人。
在这里插入图片描述

                         图(10)

2.1根据官方声明:
在这里插入图片描述

2.2我们假设此次事故中妇女和儿童先走的情况成立,验证如下
在这里插入图片描述

                          图(11)
 younger=df[(df['Age']>16)&(df['Age']<=34)]        
 younger=younger.groupby('Survived')['Survived'].count()
 plt.subplot(142)
 plt.pie(younger,labels=younger.index,autopct='%1.0f%%',shadow=True)        
 plt.title('younger survive')       
  #2图        
 middle_age_people=df[(df['Age']>34)&(df['Age']<50)]        
 middle_age_people=middle_age_people.groupby('Survived')['Survived'].count()
plt.subplot(143)
plt.pie(middle_age_people,labels=middle_age_people.index,autopct='%1.0f%%',shadow=True)        
plt.title('middle people survive')        
#3图        
old_people=df[(df['Age']>56)&(df['Age']<=72)]        
old_people=old_people.groupby('Survived')['Survived'].count()
plt.subplot(144)        
plt.pie(old_people,labels=old_people.index,autopct='%1.0f%%',shadow=True)        
plt.title('old_people survive')        
#4图        
plt.show()

如图11.12所示,儿童的逃生概率是大于其他年龄分组的,尽管对于儿童的年龄限定可能存在歧义,但仍旧可以看出儿童的逃生率是大于其他年龄段的人的。且根据之前的图我们得到女性的逃生率也是远大于男性。因此。假设成立。

  1. 港口
    在这里插入图片描述

                           图(12)
    

由图13可知,Embarked存在两个缺失值,港口为[Q,S,C],采用numpy 库随机数选择的方法进行对缺失值进行填充如图14

print(df[df['Embarked'].isnull()])        
a=['Q','S','C']        
n=np.random.randint(0,len(a))        
df['Embarked'].fillna(a[n],inplace=True)        
#设置随机数

在这里插入图片描述

                         图(13)

填充完毕,分析如下图所示:
在这里插入图片描述

                            图(15)

在这里插入图片描述

            图(16)

由图15.16可知,C港口的生还女性比例是最多的,达到了88%,接下来分别是Q港口的76%,S港口的69%。

  1. 总结

综上可知,我们结合了三个方面来对泰坦尼克号事件对女性生还率进行分析,分别是港口,舱位,年龄。根据初步分析,可以得知,女性的生还率是远远大于男性生还率,并且知道,舱位等级越高,则生还的可能性越大。通过数据分析,我们验证了在此次事件中,让妇女和儿童先走的情况是真实存在的。虽然对儿童的年龄定义存在歧义,但对儿童生还的概率影响较小,在女性年龄的分布图中得知年龄处于[16,32]的女性更容易生还。1除此之外,在C港口登船的女性生还率是大于在其他舱口。因此我们可以简单的断定:在C港口登船,并且上船后在第一舱位的在[16,32]年龄段的女性存活率比其他更高。

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
泰坦尼克号数据_泰坦尼克号数据分析报告 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
### 回答1: Jupyter是一个常用的交互式编程环境,可以用于进行数据分析和可视化。泰坦尼克号是一艘著名的沉船,其数据集包含了船上乘客的信息。通过对泰坦尼克号数据的分析,我们可以了解和预测乘客的生存情况和其他相关因素。 在进行泰坦尼克号数据分析时,我们可以首先导入数据集,并对数据进行初步的展示和观察。我们可以查看数据集的各个列名和数据类型,以及了解数据集中是否有缺失值等问题。 接下来,我们可以对数据集进行清洗和预处理。这可能包括处理缺失值,删除不需要的列或行,以及对数据进行转换或编码等操作。例如,我们可以通过填充或删除缺失值来处理数据集的缺失信息问题。我们还可以将分类变量进行独热编码,以便后续的分析和建模。 在数据预处理完成后,我们可以进行进一步的分析。我们可以使用统计方法和可视化工具来了解各个变量之间的关系,并探索生存率与其他因素(如性别、年龄等)之间的关系。我们可以绘制柱状图、饼图、箱图等图表来直观地展示数据集的特征和趋势。 此外,我们还可以使用机器学习算法对泰坦尼克号数据进行建模和预测。我们可以使用分类算法(如逻辑回归、决策树等)来预测乘客的生存情况。通过训练模型并对其进行评估,我们可以了解不同因素对生存率的影响,并预测新乘客的生存情况。 总而言之,通过对泰坦尼克号数据的分析,我们可以更深入地了解这个历史事件,并通过数据分析和建模方法来预测乘客的生存情况和其他相关因素。Jupyter提供了一个交互式的环境,使得数据分析和可视化更加方便和直观。 ### 回答2: 泰坦尼克号数据分析是基于Jupyter Notebook进行的一项分析工作。Jupyter Notebook是一个开源的交互式编程环境,可以用于数据分析、可视化和机器学习等任务。 在泰坦尼克号数据分析中,我们可以通过使用Jupyter Notebook来加载和处理数据,并进行各种统计和可视化操作。首先,我们需要导入所需的Python库,如pandas和matplotlib等。然后,我们可以使用pandas库读取泰坦尼克号数据集,并对数据进行初步的观察和清理,如查看数据的列名、样本值、缺失值等。 接下来,我们可以进行一些基本的统计分析,如计算乘客的生存率、船上不同等级舱位的人数和生存率等。这些分析结果可以通过使用matplotlib库进行可视化,如柱状图、饼图等。 此外,我们还可以使用Jupyter Notebook来进行更深入的数据分析,如特征工程、机器学习模型的构建和评估等。通过选择适当的特征和模型,我们可以预测乘客的生存情况,并对模型进行评估和优化。 总之,Jupyter Notebook提供了一个便捷的环境,可以对泰坦尼克号数据进行分析和可视化。通过使用各种Python库和机器学习算法,我们可以深入了解数据,并得出有关乘客生存情况的结论。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值