1 用法
map()主要用于对 Series 或 DataFrame 中的元素进行映射转换。
- 对 Series 调用
map()
方法,传入一个字典或函数作为参数,可以实现将原 Series 中的每个值根据字典或函数映射为新的值,并返回一个新的 Series 对象。 - 对 DataFrame 中的某一列使用
map()
方法,可以实现针对该列的映射转换,并将转换后的结果赋值回原 DataFrame 或保存到新的列中。
2 应用场景
- 值替换:当需要将一列中的某些特定值替换成另外的值时,可以使用
map()
函数。比如将性别编码 ‘M’ 和 ‘F’ 映射为 ‘男’ 和 ‘女’。 - 分类数据的转换:当需要将某些分类的数据进行转换为可读性更好的表达时,可以使用
map()
函数。比如将订单状态代码 ‘0’、‘1’、‘2’ 映射为 ‘未处理’、‘处理中’、‘已完成’。 - 创建新列:在进行数据转换时,有时需要在 DataFrame 中增加新的列来存放转换后的数据,可以通过
map()
函数生成新列。 - 数据清洗:在数据清洗过程中,经常需要对数据进行规范化处理,
map()
函数可以用于将一些非标准数据转换为统一的格式。 - 数据合并:在合并两个 DataFrame 时,有时需要根据某一列的值将两个 DataFrame 连接起来,可以使用
map()
函数进行映射匹配。
3 代码例子
# 邮件类型中英文对照字典
mail_type_dict = {110: '专递', 112: '包裹'}
# 将邮件类型的代码转换为中文
df1['邮件类型'] = df1['邮件类型'].map(mail_type_dict)