数据分析(二)

目录

数据清洗及特征处理

缺失值观察与处理

任务一:缺失值观察

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

重复值观察与处理

任务一:请查看数据中的重复值

 特征观察与处理

任务一:对年龄进行分箱(离散化)处理

 任务二:对文本变量进行转换

任务三(附加):从纯文本Name特征里提取出Titles的特征(所谓的Titles就是Mr,Miss,Mrs等) 


数据清洗及特征处理

缺失值观察与处理

任务一:缺失值观察

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

''' 方法一 '''
df.info()

''' 方法二 '''
df.isnull().sum()
df.isna().sum()


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

''' 方法一 '''
df[['Age','Cabin','Embarked']].head(3)

''' 方法二 '''
df.loc[:2,['Age','Cabin','Embarked']]

''' 方法三 '''
pd.DataFrame(df,columns=['Age','Cabin','Embarked']).head(3)

查询某一列缺失值: 

df = pd.read_csv('train.csv')
df[np.isnan(df['Age'])]

'''易错点
np.nan != np.nan(实际np.nan不等于任何值)
故不能用df[df['Age'] == np.nan] 做判断来判断某列是否有空值!'''

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

dropna()函数

dropna(axis,how,thresh,subset,inplace)

axis:这个参数默认为0,当等于0时代表的是删除空值nan所在的行,当等于1时删除空值所在的列。

how:这个参数的值默认为‘any’,表示的是删除空值所在的行或者是列,这个主要看前面的axis参数你设定是0还是1;当参数等于‘all’,表示的是删除一阵行或者是一整列都为空值nan的行或者列,如果你的某一行或某一列,不全为空值的话,则不会删除,即不起作用。

thresh:这个参数是一个整数x,意思是保留空值nan的数量小于x的每一行或者是每一列。比如我设置x=2,那么我每一行或者是每一列的非空值的数量大于等于2的行或者列都会被保存,具体是行还是列,那还是看前面的axis参数的设置。

subset:这个参数的意思是指定删除特定行或列的空值所在的列或行,如果axis=0,表示如果指定行x中有空值,则删除所在的列;如果axis=1,表示如果指定列x有空值,则删除空值所在的行。

inplace:这个参数默认为False,它的意思是你在处理空值nan时,是在原数据上处理还是在先把原数据复制一份,然后在副本上处理,在副本上处理的时候,原数据不受任何影响;如果inplace设置为True,那代表你在原数据上进行处理,原数据直接受影响。
 


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值