Task02:数据清洗及特征处理
导入numpy、pandas包和数据
import numpy as np
import pandas as pd
print(pd.__version__) # 1.0.3
载入数据
df=pd.read_csv('train.csv')
df.head()
1、缺失值观察与处理
缺失值的处理方法
函数名 | 描述 |
---|---|
dropna | 根据每个标签的值是否缺失数据来筛选轴标签,并根据允许丢失的数据来确定阈值 |
fillna | 用某些值填充缺失的数据或使用插值的方法(‘ffill’,‘bfill’) |
isnull | 返回表明那些是确实值的布尔值 |
notnull | isnull的反函数 |
查看重复值:DataFrame的duplicated方法返回的是一个布尔值Series,默认保留第一个观测到的值。传入参数keep='last’将会返回最后一个。
df.duplicated().head() # 查看是否有行重复
df.duplicated(['Name']).head() # 查看Name列是否有重复值
# 0 False
# 1 False
# 2 False
# 3 False
# 4 False
# dtype: bool
删除重复值:drop_duplicates返回的是DataFrame,内容是 duplicated返回数组中为False的部分
df.drop_duplicates().head() # 删除重复行默认保留第一个观测到的值。
df.drop_duplicates(['Name']).head() # 删除名字相同的行
2、特征观察与处理
数值型特征:Survived ,Pclass, Age ,SibSp, Parch, Fare,其中Survived, Pclass为离散型数值特征,Age,SibSp, Parch, Fare为连续型数值特征。
文本型特征:Name, Sex, Cabin,Embarked, Ticket,其中Sex, Cabin, Embarked, Ticket为类别型文本特征,数值型特征一般可以直接用于模型的训练,但有时候为了模型的稳定性及鲁棒性会对连续变量进行离散化。文本型特征往往需要转换成数值型特征才能用于建模分析。