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编码