Python中的数据清理泰坦尼克号数据集

Python中的数据清理泰坦尼克号数据集

Photo by 卡洛斯·穆萨on 不飞溅

数据清理是数据管道中的重要组成部分,因为您产生的见解和结果与您拥有的数据一样好。脏数据会导致错误的预测。大多数机器学习算法仅在您的数据经过适当清理并适合建模时才起作用。

在本文中,我将研究泰坦尼克号数据集。我们将首先使用 pandas 函数探索数据集及其列。然后我们将应用清理技术来处理空值。

我希望您发现这篇文章在您的学习或工作中实用且有用。

现在让我们开始吧!

导入库

**进口** 熊猫 **作为** PD

加载数据

 数据 **=** PD **.** read_csv('titanic-data.csv')

探索性数据分析

给我们数据集的前几行。

 数据 **.** 头()

数据类型 返回 DataFrame 中的 dtypes。

 数据 **.** 数据类型

返回我们数据集中所有列的名称

 数据 **.**

信息() 将告诉我们关于数据框的大量信息,例如形状(行、列)、特征的数据类型和内存使用情况。

 数据 **.** 信息()

现在我们对数据集有了一些了解,我们可以继续挖掘列及其包含的数据

探索列

幸存者与未幸存者

 数据['幸存'] **.** 价值计数()

价值计数 返回一个包含唯一值计数的系列。结果将按降序排列,因此第一个元素是最常出现的元素。 默认情况下排除 NA 值。

 print('训练数据中的乘客总数...', len(data)) print('幸存的乘客人数...', len(data[data['Survived'] **==** 1])) print("未幸存的乘客数量...", len(data[data['Survived'] **==** 0]))

幸存下来的男性和女性的百分比是多少?

 打印(数据['性别'] **.** 价值计数()) print('存活的男性百分比', 100 ***** np **.** 平均(数据['幸存的'][数据['性别'] **==** '男性']))  
 print('幸存的女性百分比', 100 ***** np **.** 平均(数据['幸存的'][数据['性别'] **==** '女性']))

按等级和年龄列的幸存乘客

 打印(数据['Pclass'] **.** 价值计数()) print('头等舱幸存乘客的百分比', 100 ***** np **.** 平均(数据['幸存的'][数据['Pclass'] **==** 1])) print('在二等舱幸存的乘客百分比', 100 ***** np **.** 平均(数据['幸存的'][数据['Pclass'] **==** 2])) print('在三等舱幸存的乘客百分比', 100 ***** np **.** 平均(数据['幸存的'][数据['Pclass'] **==** 3])) 打印(数据[[“Pclass”,“幸存”]] **.** groupby(['Pclass']) **.** 意思是())

处理缺失值

 df2 **=** 数据 **.** 复制() _#数据帧复制_  
  
 df2 **.** 一片空白() **.** 和()

使用复制我们的数据框 复制 ,以便我们的原始数据保持原样。

isnull().sum() 将告诉我们每列中空值的数量。

我们可以清楚地看到哪些列包含空值,因此我们将一一挑选并更新这些列。

 int(数据['年龄'] **.** 意思是())  
 #使用这个我们可以用年龄列的平均值替换空值

要替换值, 感觉 使用功能。您在键中定义要替换的值,并在值中定义替换
{列名:replacement_for_NA}

 df2['年龄'] **=** df2['年龄'] **.** 填充(np **.** 平均(df2 ['年龄'])) df2 **.** 一片空白() **.** 和()。  
 #Age 列的所有空值替换为该列的平均值

我们现在将处理 Embarked 列,因为它只有 2 个空值,我们要么删除这些行,要么可以替换为 模式 的列,因为它的 目的 柱子。

 #解决方案 1  
 伊马巴克 **=** df2['登船'] **.** 降低() 打印(df2 [df2 ['登船'] **.** 一片空白()]) df2['登船'] **.** fillna(df2['登船'] **.** 模式()[0],就地 **=真** )  
 #inplace 将直接对数据框进行更改 打印(df2 **.** 一片空白() **.** 和())

现在最后我们将处理 Cabin 列

 df2['客舱'] **.** 价值计数() df2['客舱'] **.** 模式()

当我们打印 模式 此列将显示 3 个值,我们可以选择任何值并替换为 价值观。

 df2['客舱'] **.** fillna(df2['客舱'] **.** 模式()[0],就地 **=真** )  
 df2 **.** 一片空白() **.** 和()

我们最终清理了我们的数据集,这些数据现在已准备好用于进一步的分析和处理目的。

您可以找到包含我在本文中使用的代码的笔记本,托管在 github 这里。
我建议您下载该笔记本并自己进行试验,以便亲身体验本文。

这就是本文的全部内容,感谢您的阅读,希望您从中学到新的东西!

资源

[

使用 Python 进行数据清理

使用 Airbnb NY 数据集进行数据清理的指南

媒体网

](/bitgrit-data-science-publication/data-cleaning-with-python-f6bc3da64e45)

让我们连接:

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/30252/11271208

posted @   哈哈哈来了啊啊啊  阅读(258)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示