Pandas 实战 Kaggle titanic 幸存预测之 7 步数据清洗

数据清洗 (data cleaning) 是机器学习和深度学习进入算法步前的一项重要任务,总结为下面几个步骤。

步骤 1:读入 csv 数据;

步骤 2:预览数据;

步骤 3:统计每一列的空值;

步骤 4:填充空值

步骤 5:特征工程,子步骤包括:删除一些特征列;创建新的特征列;创建数据分箱;

步骤 6:对分类列编码,常用的包括,调用 Sklearn 中 LabelEncode 编码 ;Pandas 中哑编码;

步骤 7:再验证核实

今天使用泰坦尼克数据集,完整介绍以上步骤的具体操作过程。

1 读入数据

使用 Pandas, 读入 csv 训练数据,然后了解每个字段的含义,数据有多少行和多少列等。

import pandas as pd

data_raw = pd.read_csv('train.csv')
data_raw

结果如下,一共训练集有 891 行数据,12 列

image-20200322171417658

PassengerId: 乘客的 Id;

Survived:乘客生还情况,取值 1,2;

Pclass:乘客等级,取值:1,2,3;

SibSp:乘客的兄弟姐妹和配偶在船上的人数;

Parch:乘客的父母和孩子在船上的人数;

Fare:乘船的费用;

Cabin:舱的编号;

Embarked:分类变量,取值 S, C, Q;

其他几个特征比较好辨别,不再解释。

2 数据预览

Pandas 提供 2 个好用的方法:infodescribe

info 统计出数据的每一列类型、是否为 null 和个数;

describe 统计出数据每一列的统计学属性信息,平均值,方差,中位数,分位数等。

data_raw.info()
data_raw.describe(include='all')

结果:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 12 columns):
PassengerId    891 non-null int64
Survived       891 non-null int64
Pclass         891 non-null int64
Name           891 non-null object
Sex            891 non-null object
Age            714 non-null float64
SibSp          891 non-null int64
Parch          891 non-null int64
Ticket         891 non-null object
Fare           891 non-null float64
Cabin          204 non-null object
Embarked       889 non-null object
dtypes: float64(2), int64(5), object(5)
memory usage: 83.7+ KB

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值