数据清洗及特征处理 —— 泰坦尼克任务

本文详细介绍了在泰坦尼克数据集中进行数据清洗和特征处理的步骤,包括缺失值观察与处理(如Age、Cabin、Embarked列的处理),重复值的检查与删除,以及特征的观察与转换,如年龄的分箱和文本变量如Sex、Cabin、Embarked的数值化。此外,还探讨了数据处理方法,如dropna和fillna函数的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第二章:数据清洗及特征处理

熟悉的开始~

# 导入numpy和pandas
import pandas as pd
import numpy as np

#加载数据train.csv
df = pd.read_csv('train.csv')
df

2.1 缺失值观察与处理

2.1.1 任务一:缺失值观察

(1) 请查看每个特征缺失值个数

# 查看数据内缺失值字段
df.info()
# 查看每个特征缺失值个数
df.isnull().sum()

info()用于打印DataFrame的简要摘要,显示有关DataFrame的信息,包括索引的数据类型dtype和列的数据类型dtype,非空值的数量和内存使用情况。

info()方法最后输出的是每列不为空的数量。也就是说如果有某列数据的数量比实际的索引数量要少,说明该列存在缺少值。

注意info()和describe()的区别:
describe()函数用于生成描述性统计信息。 描述性统计数据:数值类型的包括均值,标准差,最大值,最小值,分位数等;类别的包括个数,类别的数目,最高数量的类别及出现次数等;输出将根据提供的内容而有所不同。

(2) 请查看Age, Cabin, Embarked列的数据

# 查看Age, Cabin, Embarked列的数据 
df[['Age','Cabin','Embarked']] #  ['Age','Cabin','Embarked'] 作为索引标签

2.1.2 任务二:对缺失值进行处理

(1)处理缺失值一般有几种思路

  • 直接使用含有缺失值的特征
  • 删除含有缺失值的特征(该方法在包含缺失值的属性含有大量缺失值而仅仅包含极少量有效值时是有效的时候)
  • 缺失值补全

(2) 请尝试对Age列的数据的缺失值进行处理

  • 均值插补
  • 同类均值插补
  • 建模预测
  • 高维映射
  • 多重插补
  • 极大似然估计
  • 压缩感知和矩阵补全

(3) 请尝试使用不同的方法直接对整张表的缺失值进行处理

处理缺失值的一般思路:

  1. 删除
  2. 插补(重点)
  3. 不处理缺失值
    缺失值处理 —— 传送门
# 缺失值处理(方法一)
df[df['Age']==None]=0  # 空值部分未用“0”填充
# Age这一列的哪一行是空,就在Age那一列给它补上0
df

效果如下:

# 缺失值处理(方法二)
df = pd.read_csv('train.csv')
df[df['Age'].isnull()] = 0 # 可行操作  空值部分用“0”来填充
df

效果如下:
在这里插入图片描述

# 缺失值处理(方法三)
df = pd.read_csv('train.csv')
df[df['Age'] == np.nan] = 0  # 空值部分未用“0”填充
df

效果如下:
在这里插入图片描述

# 缺失值处理(方法四)
df = pd.read_csv('train.csv')
df[df['Age'].isna()] = 0 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值