OneHotEncoder和get_dummies()的区别

df
age sex
0 22 male
1 33 male
2 44 female
3 55 male

enc = OneHotEncoder()
arr_enc = enc.fit_transform(df)
arr_enc
<4x6 sparse matrix of type ‘<class ‘numpy.float64’>’
with 8 stored elements in Compressed Sparse Row format>

arr_enc.toarray()
array([[1., 0., 0., 0., 0., 1.],
[0., 1., 0., 0., 0., 1.],
[0., 0., 1., 0., 1., 0.],
[0., 0., 0., 1., 0., 1.]])

enc.get_feature_names
<bound method OneHotEncoder.get_feature_names of OneHotEncoder()>

enc.get_feature_names([‘age’,‘sex’])
array([‘age_22’, ‘age_33’, ‘age_44’, ‘age_55’, ‘sex_female’, ‘sex_male’],
dtype=object)
onehotEncoder是会将数值列(如age)也进行onehot编码

pd.get_dummies(df)
age sex_female sex_male
0 22 0 1
1 33 0 1
2 44 1 0
3 55 0 1
get_dummies()是不会将数值列(如age)进行onehot编码

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值