Python数据分析apply(),map(),applymap()用法对比与实操

陈默
陈默
发布时间:2026-10-12| 3人浏览过
原创

在Python数据分析中,pandas库提供了apply()、map()和applymap()三个核心函数,分别用于DataFrame的行列级操作、Series的逐元素处理以及DataFrame的逐元素清洗。本文通过实际代码示例与运行结果对比,明确三者的作用范围、参数配置及典型应用场景,帮助开发者快速掌握批量数据处理技巧。

Pandas批量处理函数对比

在使用pandas进行数据预处理时,根据数据结构选择正确的函数可大幅提升效率。三者核心差异如下:

函数适用对象操作维度
apply()DataFrame按行或按列聚合/转换
map()Series逐个元素映射/转换
applymap()DataFrame逐个单元格映射/转换

第一步:使用 apply() 对 DataFrame 进行行列计算

apply() 专门用于 DataFrame,支持通过 axis 参数灵活切换运算方向。设置为 1 表示沿行操作(将每一行视为一个Series),设置为 0 表示沿列操作。

import pandas as pd
data = [[110, 120, 110], [130, 130, 130], [130, 120, 130]]
columns = ['语文', '数学', '英语']
df = pd.DataFrame(data=data, columns=columns)
print(df)
print("=============================")
print(df.apply(lambda x: x.sum(), axis=1))
apply轴参数为1时的逐行求和运行结果截图
查看终端输出,确认每行总成绩已正确累加

执行后控制台会依次打印原始成绩表与计算后的行总和向量。若需改为总分统计,仅需将 axis=1 调整为 axis=0 即可。

第二步:使用 map() 处理 Series 单个数据

当数据以一维数组形式存在时,应直接使用 map()。该函数会对索引对应的每一个值调用传入的匿名函数,非常适合类型转换或规则过滤。

import pandas as pd
s1 = pd.Series([11, 22, 33, 44, 55])
print(s1)
print("================================")
print(s1.map(lambda x: str(x)))

运行后将把原始整数列表转换为字符串格式返回,保持索引结构不变。

第三步:使用 applymap() 清洗 DataFrame 每个单元格

若需要统一修改整个二维表格内所有单元格的精度或文本格式,applymap() 是最佳选择。它会将自定义逻辑作用于底层所有独立数值。

import pandas as pd
data = [[110, 120, 110], [130, 130, 130], [130, 120, 130]]
columns = ['语文', '数学', '英语']
df = pd.DataFrame(data=data, columns=columns)
print(df)
print("=============================")
print(df.applymap(lambda x: '%.2f'%x))
applymap格式化保留两位小数的输出结果截图
核对输出内容,所有原始整数已成功转为带两位小数格式的字符串

以上代码演示了如何通过字符串格式化占位符统一调整数值显示样式。实际业务中,也可结合 round() 或自定义校验函数完成缺失值标记与异常值拦截。

以上就是 Python数据分析apply(),map(),applymap()用法 的详细内容,更多关于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 算法库。