pandas DataFrame map方法的实现

 更新时间:2025年05月06日 10:18:26   作者: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

返回值

  • 返回一个新的 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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • python如何为被装饰的函数保留元数据

    python如何为被装饰的函数保留元数据

    这篇文章主要为大家详细介绍了python如何为被装饰的函数保留元数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • 解决Pycharm 导入其他文件夹源码的2种方法

    解决Pycharm 导入其他文件夹源码的2种方法

    今天小编就为大家分享一篇解决Pycharm 导入其他文件夹源码的2种方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • TensorFLow用Saver保存和恢复变量

    TensorFLow用Saver保存和恢复变量

    这篇文章主要为大家详细介绍了TensorFLow用Saver保存和恢复变量,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • python读取mat文件中的struct问题

    python读取mat文件中的struct问题

    这篇文章主要介绍了python读取mat文件中的struct问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • numpy.bincount用于复数权重的方法

    numpy.bincount用于复数权重的方法

    numpy.bincount是NumPy库中的一个函数,它用于计算整数数组中每个值的出现次数,numpy.bincount函数在统计整数数组中每个值的出现次数或权重和时非常有用,本文给大家介绍numpy.bincount如何用于复数权重,感兴趣的朋友跟随小编一起看看吧
    2023-11-11
  • Python+Pygame实现怀旧游戏飞机大战

    Python+Pygame实现怀旧游戏飞机大战

    第一次见到飞机大战是在小学五年级下半学期的时候,这个游戏中可以说包含了几乎所有我目前可接触到的pygame知识。本文就来利用Pygame实现飞机大战游戏,需要的可以参考一下
    2022-11-11
  • Python存储List数据到文件(text/csv/excel)几种常见方法

    Python存储List数据到文件(text/csv/excel)几种常见方法

    在数据分析中经常需要从csv格式的文件中存取数据以及将数据写书到csv文件中,下面这篇文章主要给大家介绍了关于Python存储List数据到文件(text/csv/excel)的几种常见方法,需要的朋友可以参考下
    2024-02-02
  • 详解python中sort排序使用

    详解python中sort排序使用

    这篇文章主要介绍了python中sort排序使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Python之plt.bar绘制柱状图参数解读

    Python之plt.bar绘制柱状图参数解读

    这篇文章主要介绍了Python之plt.bar绘制柱状图参数,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Python执行ping操作的简单方法

    Python执行ping操作的简单方法

    本文主要介绍了Python执行ping操作的简单方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02

最新评论