泰坦尼克号数据分析

本文通过对泰坦尼克号数据的分析,探讨了舱位、性别、年龄、票价等因素对乘客生还率的影响。结果显示,头等舱生还率最高,女性生还率远超男性,0~15岁少年生还率最高,票价500-550的人群存活比例为100%。此外,S港口登船人数最多,但C港口生还率最高。
摘要由CSDN通过智能技术生成

这是一个很经典的案例,很多博主都写过,对,就是它:泰坦尼克号生存率的分析,它是kaggle上的一道题,通过船上乘客的信息分析和建模,预测哪些乘客得以生还。

我们就非常粗暴地拿这个数据集做一个简单的分析好了。

使用工具:Excel
(对,就是这么简单粗暴)

数据源的获取可后台回复:泰坦尼克

一、明确目的

1912年泰坦尼克号撞上冰山沉没,船上2224名乘客和机组人员中有1502人遇难,幸存下来的人是出于运气还是存在一定的规律?这是我们比较关心的,所以就要提出问题:

那些人士生还的可能性大?

其次了解数据,数据集总共有以下的字段,其中name、sex、cabin、embarked、ticket是字符串类型,pclass和survived虽然是数值型,但其含义是标签,我们分别从舱位、乘客、船票和地域的维度出发来分析。

二、数据处理

通过查看,发现Age、fare、embarked、cabin字段都是有缺失的,下面我们一个一个来看。

1、age缺失值处理

筛选age一列为空的有263条数据,缺失率为20%,可以全部填充为年龄的均值或众数,也可以进一步地分析,发现年龄缺失的数据里三等舱的最多,占总缺失值的79%,而三等舱里的未生还的男性占比最多,因此也可以用三等舱年龄的平均值来填充。

这里为了保持数据的真实性,就不做填充处理了。

2、fare缺失值处理

筛选发现fare(票价)只缺失了一个值,我们把它找出来,发现可以用同类型的均值填充掉。


因此我们筛选三等舱、年龄大于60岁的,登船港口为S的男性的均值票价7来填充这个缺失值。

3、embarked缺失值处理

embarked登船港口字段也有2个缺失值,筛选出来看下。


进一步观察到,这两个旅客都是单独出行,没有家人(从sibsp和parch列均为0得知),延续对fare缺失值处理的思路,寻找同类型的进行填充。对第一个旅客,筛选出头等舱的年龄在35~40岁的女性中,港口最多的值填充进去,结果是S。

同样的方法,对第二个旅客,筛选头等舱年龄在60~65岁的女性中,登陆港口最多的值,结果也为S。

4、cabin缺失值处理

对于cabin(客舱)字段缺失值达到了77%,缺失太多了,就不做填充处理了,直接保留或删除,这里先保留着吧。

三、数据分析

1、舱位维度

pclass
对舱位和生还情况分析,插入数据透视表


生还的人里,头等舱的占比达到了40%。
  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 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
发出的红包

打赏作者

进击的可乐!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值