我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Pandas中map(),applymap(),apply()函数如何使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Pandas中map(),applymap(),apply()函数如何使用

本文小编为大家详细介绍“Pandas中map(),applymap(),apply()函数如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Pandas中map(),applymap(),apply()函数如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

将函数应用于pandas对象(pandas.DataFrame,pandas.Series)时,根据所应用的函数类型以及是否将其应用于元素,行或列,使用的方法会有所不同。

指定pandas对象作为NumPy函数的参数

  • 将Pandas对象指定为函数参数

  • 是否将其应用于元素,行或列取决于函数的类型和参数的设置而有所不同

  • Pandas对象中的一些方法

Pandas对象方法的函数应用
元素功能(标量值)

  • 适用于Series的每个元素:map(),apply()

  • 应用于DataFrame的每个元素:applymap()

行和列的功能(一维数组)

  • 应用于DataFrame的每行和每列:apply()

用以下csv文件作为示例进行说明。

a,b,c,d
11,12,13,14
21,22,23,24
31,32,33,34

import pandas as pdimport numpy as npdf = pd.read_csv('./data/06/sample_header.csv')print(df)#     a   b   c   d# 0  11  12  13  14# 1  21  22  23  24# 2  31  32  33  34

指定pandas对象作为NumPy函数的参数

可以将Pandas对象指定为NumPy函数的参数。

元素的应用

NumPy的通用函数(ufunc:应用于数组元素的函数)适用于pandas对象的每个元素。

绝对值(fabs()),平方根(sqrt()),log(log())等。

print(np.sqrt(df))#           a         b         c         d# 0  3.316625  3.464102  3.605551  3.741657# 1  4.582576  4.690416  4.795832  4.898979# 2  5.567764  5.656854  5.744563  5.830952

行/列的应用

如果将pandas对象指定为从NumPy数组的所有元素计算值的函数的参数,则默认情况下它将应用于pandas对象的每列。如果参数轴= 1,则将其应用于每行。

最大值(amax()),最小值(amin()),平均值(mean())等。

print(np.amax(df))# a    31# b    32# c    33# d    34# dtype: int64print(np.mean(df, axis=1))# 0    12.5# 1    22.5# 2    32.5# dtype: float64

pandas.DataFrame,pandas.Series方法

最大值,最小值,平均值,方差等也被准备为Pandas对象的方法,因此也可以直接使用它们。

同样,在这种情况下,默认情况下也会将其应用于每一列,并且如果参数axis = 1,则会将其应用于每一行。

print(df.max())# a    31# b    32# c    33# d    34# dtype: int64print(df.max(axis=1))# 0    14# 1    24# 2    34# dtype: int64

Pandas对象方法的函数应用

可以使用pandas对象方法将函数应用于元素,行和列。您可以应用Python内置函数或您定义的函数。

  • 应用于Series的每个元素:map(),apply()

  • 应用于DataFrame的每个元素:applymap()

  • 应用于DataFrame的每行和每列:apply()

  • 应用于DataFrame的特定行/列元素

以上方法都返回一个新的已处理的对象,而原始对象则保持不变。没有像dropna()或fillna()那样的参数,因此,如果想更改原始对象本身时,

df = df.applymap(function)

如上,用原始对象替换新对象并覆盖它。

适用于Series的每个元素:map(),apply()

将Python内置函数,匿名函数(lambda)或def定义的函数传递给map()或apply()的参数。

s = df['a']print(s)# 0    11# 1    21# 2    31# Name: a, dtype: int64f_brackets = lambda x: '[{}]'.format(x)print(s.map(f_brackets))# 0    [11]# 1    [21]# 2    [31]# Name: a, dtype: objectdef f_str(x):    return str(x).replace('1', 'One').replace('2', 'Two').replace('3', 'Three').replace('4', 'Four')print(s.map(f_str))# 0      OneOne# 1      TwoOne# 2    ThreeOne# Name: a, dtype: object

对于map(),如果将字典dict指定为参数,它将替换为元素。

应用于DataFrame的每个元素:applymap()

将Python的内置函数,匿名函数(lambda)或def定义的函数传递为applymap()的参数。

f_oddeven = lambda x: 'odd' if x % 2 == 1 else 'even'print(df.applymap(f_oddeven))#      a     b    c     d# 0  odd  even  odd  even# 1  odd  even  odd  even# 2  odd  even  odd  even

应用于DataFrame的每行和每列:apply()

将适用于一维数组的函数传递给apply()的参数。默认情况下,它应用于每列,如果axis = 1,则应用于每行。

f_maxmin = lambda x: max(x) - min(x)print(df.apply(f_maxmin))# a    20# b    20# c    20# d    20# dtype: int64print(df.apply(f_maxmin, axis=1))# 0    3# 1    3# 2    3# dtype: int64

应用于DataFrame的特定行/列元素

由于没有方法仅将功能应用于DataFrame的特定行/列元素,可执行以下方法。

  • 选择行/列并应用带有map()或apply()的功能

  • 覆盖原始行/列

df['b'] = df['b'].map(f_str)print(df)#     a         b   c   d# 0  11    OneTwo  13  14# 1  21    TwoTwo  23  24# 2  31  ThreeTwo  33  34df.iloc[2] = df.iloc[2].map(f_str)print(df)#           a         b           c          d# 0        11    OneTwo          13         14# 1        21    TwoTwo          23         24# 2  ThreeOne  ThreeTwo  ThreeThree  ThreeFour

读到这里,这篇“Pandas中map(),applymap(),apply()函数如何使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Pandas中map(),applymap(),apply()函数如何使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Pandas中map(),applymap(),apply()函数如何使用

本文小编为大家详细介绍“Pandas中map(),applymap(),apply()函数如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Pandas中map(),applymap(),apply()函数如何使用”文章能帮助大家解决
2023-07-05

Pandas中map(),applymap(),apply()函数的使用方法

本文主要介绍了Pandas中map(),applymap(),apply()函数的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-02-22

Pandas的map,apply,applymap怎么使用

这篇文章主要介绍了Pandas的map,apply,applymap怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Pandas的map,apply,applymap怎么使用文章都会有所收获,下面我们一起
2023-06-29

怎么使用pandas apply()函数

这篇文章主要讲解了“怎么使用pandas apply()函数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用pandas apply()函数”吧!理解 pandas 的函数,要对函数式
2023-06-25

Python 中如何使用apply函数

这篇文章给大家介绍Python 中如何使用apply函数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、介绍apply函数是pandas里面所有函数中自由度最高的函数。该函数如下:DataFrame.apply(fu
2023-06-04

Python中如何使用map函数

Python中如何使用map函数,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。用法map(func, seq1[, seq2,…])map接收两个参数,第一个参数是函数名,
2023-06-04

pandas中如何使用join函数

这篇文章主要介绍了pandas中如何使用join函数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。joinjoin就有点想append之于concat,用于数据合并df.jo
2023-06-03

pandas中如何应用apply和lambda

这篇“pandas中如何应用apply和lambda”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“pandas中如何应用ap
2023-06-29

如何在pandas中使用apply使用生成新的列

如何在pandas中使用apply使用生成新的列?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在pandas的apply方法用于对指定列的每个元素进行相同的操作,下面生成一
2023-06-06

Python中的map函数如何使用

在Python中,map() 函数用于将一个函数应用到一个或多个可迭代对象的每个元素上,并返回一个将该函数应用到每个元素后的结果组成的迭代器。其基本语法格式如下:map(function, iterable)其中,function 是要应
Python中的map函数如何使用
2024-04-08

pandas函数如何在python中使用

pandas函数如何在python中使用?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3
2023-06-14

python如何使用map()函数

这篇文章将为大家详细讲解有关python如何使用map()函数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。map()map()是一个内置的Python函数,用于将一个函数应用于元素序列(如列表或字典)。
2023-06-03

merge()函数如何在Pandas中使用

今天就跟大家聊聊有关merge()函数如何在Pandas中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、merge函数用途pandas中的merge()函数类似于SQL中jo
2023-06-14

Pandas div()函数如何使用

这篇“Pandas div()函数如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Pandas div()函数如何使用
2023-07-05

pandas中如何使用combine和combine_first函数

这篇文章将为大家详细讲解有关pandas中如何使用combine和combine_first函数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。combine在数据合并的过程中,我们可能需要对对应位置的值进
2023-06-03

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录