数据清洗及特征管理
#加载所需的库
import numpy as np
import pandas as pd
#加载数据train.csv
df = pd.read_csv('train.csv')
df.head(3)
**数据清洗简述 **
我们拿到的数据通常是不干净的,所谓的不干净,就是数据中有缺失值,有一些异常点等,需要经过一定的处理才能继续做后面的分析或建模,所以拿到数据的第一步是进行数据清洗,本章我们将学习缺失值、重复值、字符串和数据转换等操作,将数据清洗成可以分析或建模的样子。
缺失值观察与处理
我们拿到的数据经常会有很多缺失值,比如我们可以看到Cabin列存在NaN,那其他列还有没有缺失值,这些缺失值要怎么处理呢
(1) 请查看每个特征缺失值个数
(2) 请查看Age, Cabin, Embarked列的数据
#方法一
df.info()
#方法二
df.isnull().sum()
df[['Age','Cabin','Embarked']].head(3)
对缺失值进行处理
(1)处理缺失值一般有几种思路
(2) 请尝试对Age列的数据的缺失值进行处理(3) 请尝试使用不同的方法直接对整张表的缺失值进行处理
df[df['Age']==None]=0
df.head(3)
df[df['Age'].isnull()] = 0 # 还好
df.head(3)
df[df['Age'] == np.nan] = 0
df.head()
【思考】检索空缺值用np.nan要比用None好,这是为什么?
【回答】