Pandas批量替换字符的六种方法详解

晚来风
晚来风
发布时间:2026-10-16| 4人浏览过
原创

本文总结了在Pandas中批量替换字符的六种常用方法,包括map、replace、apply等函数的具体应用。通过实际代码示例,详细演示了如何将编码列批量转换为特定文本,帮助开发者高效完成数据清洗任务。

一、前言

近期,在Python技术交流群中,一位名为【dcpeng】的开发者提出了一个关于Pandas数据处理的问题。为了帮助更多学习者掌握相关技巧,现将该案例整理分享,供读者共同探讨学习。

具体需求是:处理一列包含1、2、3、4数值的编码数据,要求将数值1批量替换为“开心”,数值2批量替换为“悲伤”,依此类推,实现字符的批量映射替换。

二、解决过程

该问题的核心限制在于必须使用Pandas库进行处理。针对这一需求,存在多种可行的实现路径。以下将逐一介绍这些方法,旨在为读者提供多样化的解决方案参考。

首先,我们需要生成用于演示的源数据。具体的数据生成代码如下:

df = pd.DataFrame({'col1': [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]})
df

方法一

第一种实现方式如下代码所示:

df['col2'] = df['col1'].map({1:"开心", 2:"悲伤", 3:"难过", 4:"泪目"})
df

运行上述代码后的结果如下图所示:

方法二

此方法参考了才哥的文章思路,具体实现代码如下:

def getValue(s):
    if s==1:
        return '开心'
    elif s==2:
        return '悲伤'
    elif s==3:
        return '难过'
    elif s==4:
        return '泪目'
df['col3'] = df['col1'].apply(getValue)
df

运行结果如下图所示:

方法三

【冫马讠成】大佬提供了一种思路,利用replace方法来实现替换操作。

具体代码如下:

df['col4'] = df['col1'].replace(1, '开心').replace(2, '悲伤').replace(3, '难过').replace(4, '泪目')
df

执行后得到的结果如下所示:

方法四

该方法基于apply()函数进行实现,具体代码如下:

def get_value(s):
    dict = {1:"开心", 2:"悲伤", 3:"难过", 4:"泪目"}
    return dict[s]
df['col5'] = df['col1'].apply(get_value)
df

运行结果如下图所示:

方法五

【沈复】大佬提供了另一种思路及对应代码,如下图所示:

此方法基于map()函数进行实现,具体代码如下:

def get_value(s):
    dict = {1:"开心", 2:"悲伤", 3:"难过", 4:"泪目"}
    return dict[s]
df['col5'] = df['col1'].map(get_value)
df

运行结果如下图所示:

方法六

这里【月神】仍然使用replace方法进行实现,但其代码写法更为精简。

具体代码如下:

df['col7'] = df['col1'].replace([1, 2, 3, 4], ['开心', '悲伤', '难过', '泪目'])
df

【月神】特别提醒:此方法为全匹配模式,请勿添加regex=True参数,否则可能导致非预期结果。

运行结果如下图所示:

三、总结

本文基于粉丝提出的具体提问,针对包含1、2、3、4编码的列数据,详细阐述了将其批量替换为“开心”、“悲伤”等字符的六种Pandas处理方法。通过具体的代码说明和运行演示,成功解决了该粉丝遇到的数据替换难题。

以上即为Pandas中批量替换字符的六种方法总结的详细内容。如需了解更多关于Pandas字符替换的资料,请关注本站其他相关文章。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。