python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > pandas DataFrame map

pandas DataFrame map方法的实现

作者:liuweidong0802

pandas.DataFrame.map()方法用于对 DataFrame 的每个元素应用一个函数,返回一个新的 DataFrame,其形状与原 DataFrame 相同,下面就来介绍一下,感兴趣的可以了解一下

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)

参数说明

参数类型描述
funcfunction应用在 DataFrame 每个元素上的函数。
na_action{None, ‘ignore’}, default: None若为 'ignore',则跳过 NaN 值,不对其应用 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

总结

到此这篇关于pandas DataFrame map方法的实现的文章就介绍到这了,更多相关pandas DataFrame map内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

您可能感兴趣的文章:
阅读全文