如何在Pandas DataFrame中用Python字典实现标签编码(不依赖LabelEncoder)
使用Python字典实现标签编码
当然可以,用Python字典实现标签编码非常直接,完全不需要依赖LabelEncoder或OneHotEncoder这类工具,具体实现可以分两种场景:
1. 处理普通列表数据
如果你的标签是以普通Python列表形式存储的,只需要先定义好标签与编码的映射字典,再通过列表推导式完成转换:
# 原始标签列表 original_labels = ['M', 'B', 'B', 'M'] # 自定义标签映射字典 label_map = {'M': 0, 'B': 1} # 执行编码转换 encoded_labels = [label_map[label] for label in original_labels] print(encoded_labels) # 输出: [0, 1, 1, 0]
2. 处理Pandas DataFrame列数据
如果数据存储在Pandas的DataFrame中,可以直接用map()方法快速完成整列的编码:
import pandas as pd # 构造示例DataFrame df = pd.DataFrame({'Result': ['M', 'B', 'B', 'M']}) # 定义映射字典 label_map = {'M': 0, 'B': 1} # 对Result列进行编码 df['Result'] = df['Result'].map(label_map) print(df)
执行后输出的结果为:
Result 0 0 1 1 2 1 3 0
这种方式的优势在于完全可控,你可以根据需求自定义每个标签对应的编码值,灵活度拉满,不需要依赖额外的机器学习库。
内容的提问来源于stack exchange,提问作者Mahimai Raja J
相关产品推荐
相关产品推荐

