下面是一个示例代码,演示如何使用标签编码对多个分类列进行编码:
import pandas as pd
from sklearn.preprocessing import LabelEncoder
# 创建一个示例数据集
data = {'color': ['红', '蓝', '绿', '黄', '红', '蓝', '绿', '黄'],
'size': ['大', '小', '中', '中', '大', '小', '中', '中'],
'shape': ['圆', '方', '三角', '圆', '方', '三角', '圆', '方'],
'label': ['是', '否', '是', '否', '否', '是', '是', '否']}
# 创建一个DataFrame
df = pd.DataFrame(data)
# 对多个分类列进行标签编码
le = LabelEncoder()
df['color_encoded'] = le.fit_transform(df['color'])
df['size_encoded'] = le.fit_transform(df['size'])
df['shape_encoded'] = le.fit_transform(df['shape'])
df['label_encoded'] = le.fit_transform(df['label'])
# 打印编码后的结果
print(df)
输出结果为:
color size shape label color_encoded size_encoded shape_encoded label_encoded
0 红 大 圆 是 2 0 2 1
1 蓝 小 方 否 3 2 0 0
2 绿 中 三角 是 1 1 1 1
3 黄 中 圆 否 0 1 2 0
4 红 大 方 否 2 0 0 0
5 蓝 小 三角 是 3 2 1 1
6 绿 中 圆 是 1 1 2 1
7 黄 中 方 否 0 1 0 0
在这个示例中,我们使用pandas库创建了一个包含多个分类列的DataFrame。然后,我们使用sklearn库的LabelEncoder类对每个分类列进行标签编码,并将编码结果添加到DataFrame中的新列中。最后,我们打印了编码后的结果。