泰坦尼克号幸存者数据分析

泰坦尼克号幸存者数据分析

      • 1、泰坦尼克号数据集
      • 2、数据集加载与概览
      • 3、泰坦尼克号幸存者数据分析
      • 4、哪些人可能成为幸存者?



1、泰坦尼克号数据集


泰坦尼克号的沉没是世界上最严重的海难事故之一,造成了大量的人员伤亡。这是一艘号称当时世界上最大的邮轮,船上的人年龄各异,背景不同,有贵族豪门,也有平民旅人,邮轮撞击冰山后,船上的人马上采取措施安排救生艇转移人员,从本次海难中存活下来的,也就是幸存者

泰坦尼克号数据集为1912年泰坦尼克号沉船事件中相关人员的个人信息以及存活状况。包含了2224名乘客和船员的姓名、性别、年龄、船票等级、船票价格、船舱号、登船港口、生存情况等信息。这些历史数据已经被分为训练集和测试集,我们可以根据训练集训练出合适的模型并预测测试集中的存活状况

数据集来源:https://www.kaggle.com/c/titanic

数据集下载:传送门

数据集各文件介绍:

  • gender_submission.csv:乘客编号与是否幸存记录
  • train.csv:训练集
  • test.csv:测试集

数据集(训练集和测试集)的属性信息(11特征+1标签)如下:

特征/标签说明
PassengerId乘客编号
Survived是否幸存,1是0否
Pclass船舱等级,1(一等)、2(二等)、3(三等)
Name乘客姓名
Sex乘客性别
Age乘客年龄
SibSp与乘客同行的兄弟姐妹及配偶人数
Parch与乘客同行的父母及子女人数
Ticket船票编号
Fare船票价格
Cabin乘客座位号
Embarked乘客登船码头,C(Cherbourg)、Q(Queenstown)、S(Southampton)

2、数据集加载与概览


1)加载数据集

import pandas as pd
import numpy as nppath = r"C:\Users\cc\Desktop\titanic_dataset\train.csv"
# 加载数据集
data = pd.read_csv(path, encoding='utf-8')
# 数据集前5行
print(data.head().to_string())
'''PassengerId  Survived  Pclass                                                 Name     Sex   Age  SibSp  Parch            Ticket     Fare Cabin Embarked
0            1         0       3                              Braund, Mr. Owen Harris    male  22.0      1      0         A/5 21171   7.2500   NaN        S
1            2         1       1  Cumings, Mrs. John Bradley (Florence Briggs Thayer)  female  38.0      1      0          PC 17599  71.2833   C85        C
2            3         1       3                               Heikkinen, Miss. Laina  female  26.0      0      0  STON/O2. 3101282   7.9250   NaN        S
3            4         1       1         Futrelle, Mrs. Jacques Heath (Lily May Peel)  female  35.0      1      0            113803  53.1000  C123        S
4            5         0       3                             Allen, Mr. William Henry    male  35.0      0      0            373450   8.0500   NaN        S
'''

2)数据集大小

# 数据集的大小
print(data.shape)    # (891, 12)

泰坦尼克号数据集(训练集)有891个样本,12个特征和标签

3)特征和标签

# 数据集的特征和标签
data.info()

结果如图所示:

在这里插入图片描述
泰坦尼克号数据集的特征和标签及对应数据类型如上图所示

4)数据缺失情况

# 数据集的缺失情况
print(data.isnull().sum())

结果如图所示:

在这里插入图片描述
从结果可见,泰坦尼克号数据集中的乘客年龄和乘客座位号有大量缺失

3、泰坦尼克号幸存者数据分析


问题提出: 哪些人可能成为幸存者?

在回答这个问题之前,我们先来看一下泰坦尼克号全员整体的获救比例

1)获救比例

# 获救人数占比
survive_ratio = data['Survived'].value_counts(normalize=True).reset_index()
print(survive_ratio)
# 幸存者占比:38.4%;遇难者占比:61.6%

结果如图所示:

在这里插入图片描述
结论1:泰坦尼克号幸存者仅占全员人数的38.4%

2)性别特征对获救率的影响

a、 男性乘客与女性乘客占比

# 男性乘客与女性乘客占比
mf_count = data['Sex'].value_counts().reset_index()
print(mf_count)
# 男性乘客:577人,女性乘客:314人

结果如图所示:

在这里插入图片描述
b、 男性乘客与女性乘客的获救率

# 男性乘客与女性乘客的获救率
mf_ratio = data['Survived'].groupby(data['Sex']).value_counts().reset_index()
# 合并
mf_data = pd.merge(mf_ratio, mf_count, how='left', on='Sex')
mf_data['rescue_ratio'] = mf_data['count_x'] / mf_data['count_y']
print(mf_data)
# 男性乘客获救比例:18.9%,女性乘客获救比例:74.2%

结果如图所示:

在这里插入图片描述
结论2:女性乘客总人数比男性少,但是获救人数却比男性乘客要多。性别特征对获救概率影响较大

3)船舱等级特征对获救率的影响

a、 各船舱等级乘客占比

# 各船舱等级乘客占比
pc_count = data['Pclass'].value_counts().reset_index()
print(pc_count)
# 一等:216人,二等:184人,三等:491人

结果如图所示:

在这里插入图片描述
b、 各船舱等级乘客的获救率

# 各船舱等级乘客的获救率
pc_ratio = data['Survived'].groupby(data['Pclass']).value_counts().reset_index()
# 合并
pc_data = pd.merge(pc_ratio, pc_count, how='left', on='Pclass')
pc_data['rescue_ratio'] = pc_data['count_x'] / pc_data['count_y']
print(pc_data)
# 一等获救比例:62.9%,二等获救比例:47.3%,三等获救比例:24.2%

结果如图所示:

在这里插入图片描述
结论3:一等船舱获救比例最高,三等船舱获救比例最低。船舱等级对于乘客的获救率存在较大的影响

4)各船舱等级中的性别特征对获救率的影响

a、 不同船舱等级的男女乘客人数

# 不同船舱等级的男女乘客人数
ps_count = data['Sex'].groupby(data['Pclass']).value_counts().reset_index()
print(ps_count)
# 一等:男122人,女94人,二等:男108人,女76人,三等:男347人,女144人

结果如图所示:

在这里插入图片描述
b、 不同等级船舱的男性乘客与女性乘客的获救率

# 不同等级船舱的男性乘客与女性乘客的获救率
ps_ratio = data['Survived'].groupby([data['Pclass'], data['Sex']]).value_counts().reset_index()
# 合并
ps_data = pd.merge(ps_ratio, ps_count, how='left', on=['Pclass', 'Sex'])
ps_data['rescue_ratio'] = ps_data['count_x'] / ps_data['count_y']
print(ps_data)
# 一等获救比例:男39.9%,女96.8%,二等获救比例:男 15.7%,女92.1%,三等获救比例:男13.5%,女50.0%

结果如图所示:

在这里插入图片描述
结论4:各等级船舱中男性乘客多于女性乘客,但是女性乘客的获救比例都高于男性乘客。不同等级船舱的女性乘客的获救率高于男性,这可能是女士优先的原因

4、哪些人可能成为幸存者?


根据上述分析结果,我们可以得到以下两个关于乘客获救率的结论:

  • 在泰坦尼克号上,女性的获救率高于男性
  • 高等级船舱的乘客获救率高于低等级船舱

另外,我们也可以从年龄等其他角度进行分析,有兴趣的小伙伴可以自行尝试



参考文章:https://zhuanlan.zhihu.com/p/129247887


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/299236.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux基础8:文件系统

linux基础8:文件系统 1.物理存储->逻辑存储:1.从磁盘到分区:1.基本物理结构2.物理存储结构3.逻辑结构4.操作系统的Io需求:5.分区操作and分组操作: 2.文件系统结构:1.基本结构:2.分组区块&…

【cpp】快速排序优化

标题:【cpp】快速排序 水墨不写bug 正文开始: 快速排序的局限性: 虽然快速排序是一种高效的排序算法,但也存在一些局限性: 最坏情况下的时间复杂度:如果选择的基准元素不合适,或者数组中存在大…

插入代码---四

文章目录 在空白节插入代码构造恶意代码计算函数相对地址修改入口地址返回原地址 扩大节新增节 对与一个程序我们需要在里面添加自己的功能,让程序增加一些我们的函数,那么我们就需要了解PE文件结构,然后对其进行修改,这里我们将基…

位运算-191. 位1的个数- 136. 只出现一次的数字

位1的个数 已解答 简单 相关标签 相关企业 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中 设置位 的个数(也被称为汉明重量)。 示例 1: 输入:n 11 输…

SpringBoot+ECharts+Html 地图案例详解

1. 技术点 SpringBoot、MyBatis、thymeleaf、MySQL、ECharts 等 此案例使用的地图是在ECharts社区中查找的:makeapie echarts社区图表可视化案例 2. 准备条件 在mysql中创建数据库echartsdb,数据库中创建表t_location_count表,表中设置两个…

能耗监测管理系统与技术方案

能耗监测管理系统是目前能源管理中重要的技术手段,它通过集成现代监测技术和信息技术,实现对能源消耗的实时监控、数据分析和决策支持,帮助企业或机构实现能源的高效管理和节能降耗。本篇文章将从能耗监测管理系统的组成、关键技术、应用领域…

ubuntu-server部署hive-part1-安装jdk

参照 https://blog.csdn.net/qq_41946216/article/details/134345137 操作系统版本:ubuntu-server-22.04.3 虚拟机:virtualbox7.0 安装jdk 上传解压 以root用户,将jdk上传至/opt目录下 tar zxvf jdk-8u271-linux-x64.tar.gz 配置环境变量…

嵌入式Qt QGridLayout网格布局管理器

一.QGridLayout网格布局管理器 //以行为单位 设置比例系数 void QGridLayout::setRowStretch ( int row, int stretch ) //以列为单位 设置比例系数 void QGridLayout::setColumnStretch ( int column, int stretch ) 实验: Widget.h: #ifndef _WIDGE…

Redis安装说明

Redis安装说明 大多数企业都是基于Linux服务器来部署项目,而且Redis官方也没有提供Windows版本的安装包。因此课程中我们会基于Linux系统来安装Redis. 此处选择的Linux版本为CentOS 7. Redis的官方网站地址:https://redis.io/ 1.单机安装Redis 1.1.…

2024.4.3-[作业记录]-day08-CSS 盒子模型(溢出显示、伪元素)

个人主页:学习前端的小z 个人专栏:HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 作业 2024.4.3-学习笔记css溢出显示单行文本溢出显示省略号多行文本溢出显示省…

【css】使用display:inline-block后,元素间存在4px的间隔

问题:在本地项目中使用【display: inline-block】,元素间存在4px间隔。打包后发布到外网又不存在这个问题了。 归根结底这是一个西文排版的问题,英文有空格作为词分界,而中文则没有。 此时的元素具有文本属性,只要标签…

电商技术揭秘七:搜索引擎中的SEO关键词策略与内容优化技术

文章目录 引言一、关键词策略1.1 关键词研究与选择1. 确定目标受众2. 使用关键词研究工具3. 分析搜索量和竞争程度4. 考虑长尾关键词5. 关键词的商业意图6. 创建关键词列表7. 持续监控和调整 1.2 关键词布局与密度1. 关键词自然分布2. 标题标签的使用3. 首次段落的重要性4. 关键…

Linux第4课 Linux的基本操作

文章目录 Linux第4课 Linux的基本操作一、图形界面介绍二、终端界面介绍 Linux第4课 Linux的基本操作 一、图形界面介绍 本节以Ubuntu系统的GUI为例进行说明,Linux其他版本可自行网搜。 图形系统进入后,左侧黄框内为菜单栏,右侧为桌面&…

C++进阶--C++11(2)

C11第一篇 C11是C编程语言的一个版本,于2011年发布。C11引入了许多新特性,为C语言提供了更强大和更现代化的编程能力。 可变参数模板 在C11中,可变参数模板可以定义接受任意数量和类型参数的函数模板或类模板。它可以表示0到任意个数&…

C++之类和对象(上)

目录 1.面向过程和面向对象初步认识 2.类的引入 3.类的定义 4.类的访问限定符及封装 4.1访问限定符 4.2 类的两种定义方式 第一种: 第二种: 4.3封装 5.类的实例化 6.类对象模型 1.面向过程和面向对象初步认识 C语言是面向过程的,…

【Claude 3】This organization has been disabled.此组织已被禁用。(Claude无法对话的原因和解决办法)

Claude对话提示 This organization has been disabled.此组织已被禁用。 This organization has been disabled.此组织已被禁用。 This organization has been disabled.此组织已被禁用。 问题截图 问题原因 出现该页面,表示您的账户已经无法使用,可能…

SQL语言

一、DDL数据库定义语言 1、登录mySQL mysql -u"用户名" -p"密码" -h"登录地址 -h:默认为本机 示例: 2、查看当前存在的数据库 show databases; 示例: 3、创建数据库database create…

约数与倍数-第12届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第45讲。 约数与倍数&#…

非关系型数据库——Redis基本操作

目录 一、Redis数据库常用命令 1.Set——存放数据 2.Get——获取数据 3.Keys——获取符合条件的键值 4.Exists——判断键值是否存在 5.Del——删除指定键值 6.Type——获取键值对应的类型 7.Rename——对已有键值重命名(覆盖) 8.Renamenx——对…

更高效、更简洁的 SQL 语句编写丨DolphinDB 基于宏变量的元编程模式详解

元编程(Metaprogramming)指在程序运行时操作或者创建程序的一种编程技术,简而言之就是使用代码编写代码。通过元编程将原本静态的代码通过动态的脚本生成,使程序员可以创建更加灵活的代码以提升编程效率。 在 DolphinDB 中&#…