pandas2.2 dataframe
function application, groupby & window
方法 | 描述 |
---|---|
dataframe.apply(func[, axis, raw, …]) | 用于沿 dataframe 的轴(行或列)应用一个函数 |
dataframe.map(func[, na_action]) | 用于对 dataframe 的每个元素应用一个函数 |
pandas.dataframe.map()
pandas.dataframe.map()
方法用于对 dataframe 的每个元素应用一个函数。它是最简单的逐元素操作方法,常用于数据转换或清洗。
方法签名
dataframe.map(func, na_action=none)
参数说明
参数 | 类型 | 描述 |
---|---|---|
func | function | 应用在 dataframe 每个元素上的函数。 |
na_action | {none, ‘ignore’}, default: none | 若为 'ignore' ,则跳过 nan 值,不对其应用 func 。 |
返回值
- 返回一个新的 dataframe,其形状与原 dataframe 相同,每个元素是
func
应用后的结果。
示例
示例1:简单映射(如将每个元素转为字符串)
import pandas as pd df = pd.dataframe({ 'a': [1, 2, 3], 'b': [4, 5, 6] }) # 将每个元素转换为字符串 result = df.map(str) print(result)
输出:
a b
0 1 4
1 2 5
2 3 6
示例2:自定义函数映射(如加10)
# 对每个元素加10 result = df.map(lambda x: x + 10) print(result)
输出:
a b
0 11 14
1 12 15
2 13 16
示例3:使用 na_action='ignore' 忽略 nan 值
import numpy as np df_with_nan = pd.dataframe({ 'a': [1, np.nan, 3], 'b': [np.nan, 5, 6] }) # 只对非 nan 元素加1 result = df_with_nan.map(lambda x: x + 1, na_action='ignore') print(result)
输出:
a b
0 2.0 nan
1 nan 6.0
2 4.0 7.0
总结
map()
是对 dataframe 中的每个元素进行一对一变换的理想工具。- 支持跳过
nan
值进行映射。 - 常用于格式转换、数值变换等场景。
到此这篇关于pandas dataframe map方法的实现的文章就介绍到这了,更多相关pandas dataframe map内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论