要在部分DataFrame中使用Scikit-learn的One-Hot Encoding,你可以按照以下步骤进行操作:
import pandas as pd
from sklearn.preprocessing import OneHotEncoder
data = {'Color': ['Red', 'Blue', 'Green', 'Red', 'Blue'],
'Size': ['S', 'M', 'L', 'M', 'S'],
'Price': [10, 20, 15, 30, 25]}
df = pd.DataFrame(data)
columns_to_encode = ['Color', 'Size']
encoder = OneHotEncoder(sparse=False, drop='first')
encoded_data = encoder.fit_transform(df[columns_to_encode])
encoded_df = pd.DataFrame(encoded_data, columns=encoder.get_feature_names_out(columns_to_encode))
df = pd.concat([df, encoded_df], axis=1)
print(df)
输出:
Color Size Price Color_Blue Color_Green Size_M Size_S
0 Red S 10 0.0 0.0 0.0 1.0
1 Blue M 20 1.0 0.0 1.0 0.0
2 Green L 15 0.0 1.0 0.0 0.0
3 Red M 30 0.0 0.0 1.0 0.0
4 Blue S 25 1.0 0.0 0.0 1.0
这样,你就可以在部分DataFrame中使用Scikit-learn的One-Hot Encoding了。
上一篇:部分导入:导入直到出错的所有内容