sklearn/pands one-hot 编码

import pandas as pd
df = pd.DataFrame([['red', 'M', 10.1, 'type1'],
                   ['blue', 'L', 12.5, 'type1'],
                   ['white', 'XL', 13.3, 'type2']])

df.columns = ['color', 'size', 'price', 'type']

from sklearn.preprocessing import OneHotEncoder

X = df[['color', 'size', 'price']].values
color_ohe = OneHotEncoder()
# first to know about the X
print(X[:, 0],"X[:, 0]")
#reshape it
print(X[:, 0].reshape(-1, 1),"X[:, 0].reshape(-1, 1)")
# fit_transform it
print(color_ohe.fit_transform(X[:, 0].reshape(-1, 1)).toarray())
print("fit transform")
)

sklearn resut
在这里插入图片描述

# create a pandas dump method to make one hot
df = df[['color', 'size', 'price']]
df_dump = pd.get_dummies(df, columns=['color'])
print(df_dump)
#remove the rebundant method
df_dump = pd.get_dummies(df, columns=['color'],drop_first=True)
print(df_dump)

result:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值