Python——泰坦尼克号数据分析

目录

🧾1.数据集(部分数据)

 ✏️ 2、导入数据集与必要模块

⌨️ 3.数据预处理

1️⃣ isnull函数查看有无缺失值

2️⃣fillna函数填充缺失值

📍 Age字段使用平均值填充缺失值

📍 Embarked字段填充缺失值

3️⃣ 删除缺失值较多的字段

📊 4.数据可视化

1️⃣ distplot函数结合了直方图和核密度估计图来展示数据的分布特征

2️⃣  countplot函数绘制条形图,显示分类变量的观察计数

3️⃣ boxenplot函数绘制箱线图

4️⃣ violinplot函数绘制小提琴图

5️⃣  对年龄进行分级,分开小孩和老人的数据

 📍 对分级后的年龄进行可视化

 📍 分析乘客年龄与生还乘客之间的关系


🧾1.数据集(部分数据)

字段名称 含义说明
Survived 乘客是否获救,Key:0=没获救,1=已获救
Pclass 乘客船舱等级(1/2/3三个等级舱位)
Name 乘客姓名
Sex 性别
Age 年龄
SibSp 乘客在船上的兄弟姐妹/配偶数量
Parch 乘客在船上的父母/孩子数量
Ticket 船票号
Fare 船票价
Cabin 客舱号码
Embarked 登船的港口

 ✏️ 2、导入数据集与必要模块

# 1.导入必要的模块
import numpy as np
import pandas as pd 
import seaborn as sns
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']    # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False   # 用来正常显示负号
%matplotlib inline

# 2.导入数据
titanic = pd.read_csv(r"C:/XXX/xxx/Documents/mycrawlers/数据分析与可视化/实验六——泰坦尼克号/titanic.csv")

# 3.查看前5行数据
titanic.head()

⌨️ 3.数据预处理

1️⃣ isnull函数查看有无缺失值

# 查看有无缺失值
titanic.isnull().sum()   

  这里结合了sum方法,对字段的缺失值的个数进行求和

 从上述结果可见,Cabin(客舱号码)、Embarked(登船的港口)、Fare(船票价)、Age(年龄)、Survived(乘客是否获救)字段中均有缺失值,而Cabin和Survived是需要考虑实际的情况,从而没有办法对缺失值进行填充,因此我们对Age字段按照平均值的方式对其进行填充,作为一个参考

2️⃣fillna函数填充缺失值

fillna(value,method,axis,inplace,limit,downcast)

字段 数据类型 含义
value dict or series or dataframe

用于填充缺失值的值。如果传递的是标量,那么整个对象中的所有缺失值都会被这个标量替换。如果传递的是字典,那么字典的键应该是列名,值则是用于替换该列缺失值的值。如果传递的是 Series 或 DataFrame,则它们的索引必须和原对象的索引对齐,以便进行按位置的替换

method

str

用于填充缺失值的方法。

'backfill' 或 'bfill':使用下一个有效值进行填充(向后填充)

'pad' 或 'ffill':使用前一个有效值进行填充(向前填充)

None:不进行任何填充,仅返回原始对象

axis

int or str

确定沿着哪个轴进行填充。0 或 'index' 表示按行(即沿着水平轴),1 或 'columns' 表示按列(即沿着垂直轴)

inplace

bool

默认为 False,如果为 True,则直接修改原始对象而不返回新的对象

limit

int

如果 method 不是 None,则此参数用于限制连续填充的最大数量。例如,如果 limit=1,则最多只填充一个缺失值

downcast

dict or str

将可能更大的数据类型向下转换为可能更小的数据类型,以节省内存。例如,如果某个列是 float64 类型,但所有值都是整数,那么可以将其转换为 int64 类型

📍 Age字段使用平均值填充缺失值
# 1.求age这一列的平均值
mean = titanic['Age'].mean()  

# 2.查看平均值
print(mean)

# 3.用均值进行缺失值的填充
titanic['Age'] = titanic['Age'].fillna(mean)

# 4.统计缺失值
titanic.isnull().sum()

从上图的结果可知,Age字段没有缺失值,因此缺失值填充成功,而Embarked字段也可以进行填充

📍 Embarked字段填充缺失值
  • 使用value_counts来统计登船地点(S,C,Q)的人数
# 1.统计登船地点(S,C,Q)的人数
titanic['Embarked'].value_counts()

# 2.得到的结果为
S    914
C    270
Q    123
Name: Embarked, dtype: int64
  • 对登船地点进行缺失值的填充(填充为S)
# 1.对登船地点进行缺失值的填充(填充为S)
titanic['Embarked'] = titanic['Embarked'].fillna("S")

# 2.统计Embarked字段的缺失值
titanic['Embarked'].isnull().sum()

# 3.得到的结果为
0

3️⃣ 删除缺失值较多的字段

# 1.删除缺失值较多的字段
del titanic['Cabin']

# 2.查看数据的前五行信息
titanic.head()

📊 4.数据可视化

1️⃣ distplot函数结合了直方图和核密度估计图来展示数据的分布特征

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

每日一练 2024.6.7

给你一个仅由 大写 英文字符组成的字符串 s 。 你可以对此字符串执行一些操作,在每一步操作中,你可以从 s 中删除 任一个 "AB" 或 "CD" 子字符串。 通过执行操作,删除所有 "AB" 和 "CD" 子串&#x…

【面试八股总结】死锁:产生条件、预防死锁、处理死锁、避免死锁

一、什么是死锁? 死锁是指两个(或多个)线程互相等待对方数据的过程,死锁的产生导致程序卡死,不解锁程序将永远⽆法进⾏下 去 二、死锁产生条件 死锁只有同时满足以下四个条件才会发生:互斥条件&#xff1b…

笔记-2024视频会议软件技术选型方案

一、背景 视频会议系统是一种现代化的办公系统,它可以使不同会场的实时现场场景和语音互连起来,同时向与会者提供分享听觉和视觉的空间,使各与会方有“面对面”交谈的感觉。随着社会的发展,视频会议的应用越来越广泛,…

【数据分析基础】实验四 matplotlib数据可视化处理

一.实验目的 掌握扩展库matplotlib及其依赖库的安装。了解matplotlib的绘图一般过程。熟练掌握折线图、散点图、柱状图、饼状图、雷达图的绘制与常用属性的设置。掌握绘图区域的切分、绘制不同子图的方法。熟悉坐标轴、图像标题、图例等对象的属性设置操作。 二、实…

新品!和芯星通全系统全频高精度板卡UB9A0首发

6月6日,和芯星通发布了UB9A0全系统全频高精度GNSS板卡,主要应用于CORS站、便携基站、GNSS全球监测跟踪站等。延续了上一代产品高质量原始观测量的特点,UB9A0在性能和稳定性方面均表现出众。 UB9A0基于射频基带及高精度算法一体化的GNSS SoC芯…

Django 开发也在用 React!

你好,我是坚持分享干货的 EarlGrey,翻译出版过《Python编程无师自通》、《Python并行计算手册》等技术书籍。 如果我的分享对你有帮助,请关注我,一起向上进击。 在前天的推文里,我们分享了《Django 2024 年度报告》&am…

一起学大模型 - 一起动笔练习prompt的用法

文章目录 前言一、代码演示二、代码解析1. 导入所需的库和模块:2. 设置日志记录和初始化模型:3. 定义一个函数用于清理GPU内存:4. 定义一个继承自LLM基类的QianWenChatLLM类,并实现对话生成的逻辑:5. 示例代码的主体部…

柏曼护眼台灯值得入手吗?明基、书客实测对比

早期的台灯主要是以白炽灯为主,但随着LED技术的成熟,LED台灯逐渐成为主流。目前,台灯行业已经进入了一个高速发展的阶段,市场竞争也越来越激烈。如何选购护眼台灯也是大家最常问的问题,柏曼护眼台灯值得入手吗&#xf…

HTML静态网页成品作业(HTML+CSS)—— 电影泰坦尼克号介绍网页(4个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有4个页面。 二、作品演示 三、代…

2024年G3锅炉水处理证考试题库及G3锅炉水处理试题解析

题库来源:安全生产模拟考试一点通公众号小程序 2024年G3锅炉水处理证考试题库及G3锅炉水处理试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(质检局)特种设备作业人员上岗证考试大纲随机…

咖啡机器人如何精准控制液位流量

在如今快节奏的生活中,精确控制液位流量的需求愈发迫切,特别是在咖啡机器人等精密设备中。为了满足这一需求,工程师们不断研发出各种先进的技术,以确保液体流量的精准控制。其中,霍尔式流量计和光电式流量计就是两种常…

如何用Postman做接口自动化测试?5个步骤带你轻松实现!

什么是自动化测试 把人对软件的测试行为转化为由机器执行测试行为的一种实践。例如GUI自动化测试,模拟人去操作软件界面,把人从简单重复的劳动中解放出来本质是用代码去测试另一段代码,属于一种软件开发工作,已经开发完成的用例还…

基于函数计算部署GPT-Sovits语音生成模型实现AI克隆声音

GPT-Sovits是一个热门的文本生成语音的大模型,只需要少量样本的声音数据源,就可以实现高度相似的仿真效果。通过函数计算部署GPT-Sovits模型,您无需关心GPU服务器维护和环境配置,即可快速部署和体验模型,同时&#xff…

基于ensp的园区网络搭建综合实验

核心技术介绍 1、虚拟局域网(VLAN) 2、链路聚合(E-trunk) 3、多生成树协议(MSTP) 4、VLANIF三层逻辑接口 5、虚拟路由冗余协议(VRRP) 6、开放式最短路径优先(OSPF&…

【C++历练之路】C++11中的列表初始化声明新方法深入标准模板库的变革

W...Y的主页 😊 代码仓库分享💕 目录 1. C11简介 2. 统一的列表初始化 2.1 {}初始化 2.2 std::initializer_list 3. 声明 3.1 auto 3.2 decltype 4.STL中一些变化 1. C11简介 在2003年C标准委员会曾经提交了一份技术勘误…

响应式流规范解析

在互联网应用构建过程中,我们知道可以采用异步非阻塞的编程模型来提高服务的响应能力。而为了实现异步非阻塞,我们可以引入数据流,并对数据的流量进行控制。我们来考虑一个场景,如果数据消费的速度跟不上数据发出的速度&#xff0…

腺苷调节合成高密度脂蛋白用于三阴性乳腺癌的化学免疫治疗

引用信息 文 章:Adenosine-modulating synthetic high-density lipoprotein for chemoimmunotherapy of triple-negative breast cancer 期 刊:Journal of Controlled Release(影响因子:10.8) 发表时间&am…

webgl_effects_stereo

ThreeJS 官方案例学习&#xff08;webgl_effects_stereo&#xff09; 1.效果图 2.源码 <template><div><div id"container"></div></div> </template> <script> import * as THREE from three; // 导入控制器 import { …

【乐吾乐2D可视化组态编辑器】实时数据,数据绑定

什么是绑定变量&#xff1f; 绑定变量是指把图元的一个属性与设备数据点关联的一个过程。【注意】只是建立一个数据模型的关联&#xff0c;数据源后面设置。 乐吾乐2D可视化组态编辑器地址&#xff1a;https://2d.le5le.com/ 为什么不直接设置数据源&#xff1f; 方便批量…

AWS-生产级微服务部署架构分享

使用AWS搭建云上应用 名词解释 AWS ECR&#xff1a;AWS ECR 容器存储库&#xff0c;按项目名创建容器仓库&#xff0c;一个项目对应一个仓库&#xff0c;目前是由Jenkins构建镜像远程push到AWS ECR。 **AWS ECS&#xff1a;Amazon Elastic Container Service (ECS) &#xf…