技术问询:如何将DataFrame的字符列转换为多个二进制列?
将DataFrame的分类列转换为二进制独热编码列
要实现把DataFrame中的字符列转为多个二进制列,用pandas的get_dummies()函数就能快速搞定,以下是具体步骤:
示例代码
首先导入pandas并创建示例DataFrame:
import pandas as pd df = pd.DataFrame({'id': [1, 2], 'name': ['A', 'B']})
然后使用get_dummies处理name列,并与原DataFrame的id列合并:
# 生成独热编码列 dummies = pd.get_dummies(df['name']) # 合并原id列和编码后的列 result_df = pd.concat([df['id'], dummies], axis=1)
执行后得到的result_df就是目标结果:
id A B 0 1 1 0 1 2 0 1
补充说明
- 如果原DataFrame包含多个分类列,直接把整个DataFrame传入
get_dummies,它会自动识别所有分类列完成编码 - 若想给编码列添加统一前缀(比如
name_A、name_B),可以用pd.get_dummies(df['name'], prefix='name')
内容的提问来源于stack exchange,提问作者monotonic
相关产品推荐
相关产品推荐

