数据分析:Task2-数据清洗及特征处理

1.重复值,df.duplicated()

drop_duplicates,删除整行重复值

2.连续型变量离散化(分箱)

1.将连续变量Age平均分箱成5个年龄段,并分别用类别变量12345表示

df["box"] = pd.cut(df["年龄"],5,labels=["1","2","3","4","5"])

2.#将连续变量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'])
df.head(3)
3.查看文本类变量类别及替换

查看

1.df['Sex'].value_counts()
2.df['Sex'].unique()

替换
#方法一: replace

df['Sex_num'] = df['Sex'].replace(['male','female'],[1,2])

#方法二: map

df['Sex_num'] = df['Sex'].map({'male': 1, 'female': 2})

#方法三: 使用sklearn.preprocessing的LabelEncoder

from sklearn.preprocessing import LabelEncoder
for feat in ['Cabin', 'Ticket']:
	lbl = LabelEncoder()
	label_dict = dict(zip(df[feat].unique(), range(df[feat].nunique())))
	df[feat + "_labelEncode"] = df[feat].map(label_dict)
	df[feat + "_labelEncode"] = lbl.fit_transform(df[feat].astype(str))
4.extract函数

提取函数:返回数组中满足某个条件的元素

Series.str.extract(pat, flags=0, expand=None)

参数:
pat : 字符串或正则表达式
flags : 整型,
expand : 布尔型,是否返回数据框
Returns:
数据框dataframe/索引index

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值