如何在Pandas DataFrame中用职业名称替换数字编码?
Pandas数字职业编码替换为名称的方法
你已经创建了正确的映射字典,以下是两种高效的替换方法:
方法1:使用map()函数
这是最常用的方式,直接将字典传入map(),会把列中的每个数字替换为对应的职业名称:
# 假设你的DataFrame名为df,职业列名为'occupation' df['occupation'] = df['occupation'].map(occupation)
如果存在字典中未定义的数字,替换后会变成NaN,可以用fillna()处理:
df['occupation'] = df['occupation'].map(occupation).fillna('unknown')
方法2:使用replace()函数
replace()同样支持字典映射,适合需要批量替换的场景:
df['occupation'] = df['occupation'].replace(occupation)
和map()不同,replace()会保留未匹配的原始值,不会转为NaN。
补充说明
- 确保你的职业列是数值类型(int/float),如果是字符串类型,需要先转换:
df['occupation'] = df['occupation'].astype(int) - 你的映射字典已经完全覆盖了元数据中的所有编码,可以直接使用。
内容的提问来源于stack exchange,提问作者SHOGANAI
相关产品推荐
相关产品推荐

