数据清洗及特征处理

4.数据清洗及特征处理

4.1导入numpy、pandas包和数据

import numpy as np
import pandas as pd

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

4.2缺失值观察与处理

4.2.1缺失值观察

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

4.2.2对缺失值进行处理

df.dropna()
df.fillna()
#对Age列的数据缺失值进行处理
df[df['Age']==None]=0

4.3重复值观察与处理

4.3.1查看数据中的重复值

df[df.duplicated()]

4.3.2对重复值进行处理

df.drop_duplicates()

4.4特征观察与处理

4.4.1对年龄进行分箱(离散化)处理

#将连续变量Age平均分箱成5个年龄段,并分别用类别变量12345表示
df['AgeBand']=pd.cut(df['Age'],5,labels=['1','2','3','4','5'])
#将连续变量Age划分为[0,5),[5,15),[15,30),[30,50),[50,80)五个年龄段,并分别用类别变量12345表示
df['AgeBand']=pd.cut(df['Age'],[0,5,15,30,50,80],labels=['1','2','3','4','5'])
#将连续变量Age按10%,30%,50%,70%,90%五个年龄段,并用分类变量12345表示
df['AgeBand']=pd.qcut(df['Age'],[0,0.1,0.3,0.5,0.7,0.9],labels=['1','2','3','4','5'])

4.4.2对文本变量进行转换

#查看类别文本变量名及种类
df['Sex'].value_counts()
df['Sex'].unique()
df['Sex'].nunique()
#将类别文本转换为12345
df['Sex_num']=df['Sex'].replace(['male','female'],[1,2])
df['Sex_num']=df['Sex'].map({'male':1,'female':2})

4.4.3从纯文本Name特征里提取出Title的特征

df['Title']=df.Name.str.extract('([A-Za-z]+)\.',expand=False)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值