python-pandas/sklearn中进行的编码方法
1、进行将字符串一个或多个特征属性下的多个类别进行转化为1,2,3 …
1)、进行导入的库
from sklearn.preprocessing import LabelEncoder
2)、举例说明
data[object_data]=data[object_data].apply(LabelEncoder().fit_transform)
2、使用字符串独热进行转换
1)、方法一:使用pandas中进行独热编码
(1)、进行导入的库
import pandas as pd
(2)、举例说明
pd.get_dummies(df['key'],prefix='key')
参数一:需要转化的数据
参数二:进行独热后加的前缀
2)、方法二:使用sklearn的库进行编码()
(1)、对类别进行编码
from sklearn.preprocessing import LabelEncoder
class_le = LabelEncoder()
y = class_le.fit_transform(类别(标签).values)
(2)、对离散特征进行独热编码
X = df[['需要转换的特征属性']].values
le = LabelEncoder()
'特征属性的value' = le.fit_transform('特征属性的value')
from sklearn.preprocessing import OneHotEncoder
oh = OneHotEncoder(categorical_features=[0])
oh.fit_transform(X).toarray() # 从稀疏矩阵转换为一般矩阵
- 不加.toarray()时结果的显示:
例题: