浅谈Pandas中map, applymap and apply的区别


Posted in Python onApril 10, 2018

1.apply()

当想让方程作用在一维的向量上时,可以使用apply来完成,如下所示

In [116]: frame = DataFrame(np.random.randn(4, 3), columns=list('bde'), index=['Utah', 'Ohio', 'Texas', 'Oregon'])
In [117]: frame
Out[117]: 
        b     d     e
Utah  -0.029638 1.081563 1.280300
Ohio  0.647747 0.831136 -1.549481
Texas  0.513416 -0.884417 0.195343
Oregon -0.485454 -0.477388 -0.309548
In [118]: f = lambda x: x.max() - x.min()
In [119]: frame.apply(f)
Out[119]: 
b  1.133201
d  1.965980
e  2.829781
dtype: float64

但是因为大多数的列表统计方程 (比如 sum 和 mean)是DataFrame的函数,所以apply很多时候不是必须的

2.applymap()

如果想让方程作用于DataFrame中的每一个元素,可以使用applymap().用法如下所示

In [120]: format = lambda x: '%.2f' % x
In [121]: frame.applymap(format)
Out[121]: 
      b   d   e
Utah  -0.03  1.08  1.28
Ohio   0.65  0.83 -1.55
Texas  0.51 -0.88  0.20
Oregon -0.49 -0.48 -0.31

3.map()

map()只要是作用将函数作用于一个Series的每一个元素,用法如下所示

In [122]: frame['e'].map(format)
Out[122]: 
Utah    1.28
Ohio   -1.55
Texas   0.20
Oregon  -0.31
Name: e, dtype: object

总的来说就是apply()是一种让函数作用于列或者行操作,applymap()是一种让函数作用于DataFrame每一个元素的操作,而map是一种让函数作用于Series每一个元素的操作。

以上这篇浅谈Pandas中map, applymap and apply的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
理解Python垃圾回收机制
Feb 12 Python
Python内置模块ConfigParser实现配置读写功能的方法
Feb 12 Python
Python装饰器的执行过程实例分析
Jun 04 Python
Python中的元组介绍
Jan 28 Python
python 发送和接收ActiveMQ消息的实例
Jan 30 Python
python 图片去噪的方法示例
Jul 09 Python
基于Tensorflow使用CPU而不用GPU问题的解决
Feb 07 Python
浅谈Python爬虫原理与数据抓取
Jul 21 Python
python爬虫构建代理ip池抓取数据库的示例代码
Sep 22 Python
Python Serial串口基本操作(收发数据)
Nov 06 Python
利用Python发送邮件或发带附件的邮件
Nov 12 Python
python中pop()函数的语法与实例
Dec 01 Python
对pandas中apply函数的用法详解
Apr 10 #Python
Python 25行代码实现的RSA算法详解
Apr 10 #Python
使用pandas中的DataFrame数据绘制柱状图的方法
Apr 10 #Python
Python基于socket模块实现UDP通信功能示例
Apr 10 #Python
pandas把dataframe转成Series,改变列中值的类型方法
Apr 10 #Python
在pandas中一次性删除dataframe的多个列方法
Apr 10 #Python
pandas将DataFrame的列变成行索引的方法
Apr 10 #Python
You might like
PHP对MongoDB[NoSQL]数据库的操作
2013/03/01 PHP
php缓冲 output_buffering的使用详解
2013/06/13 PHP
PHP注释语法规范与命名规范详解篇
2018/01/21 PHP
js触发asp.net的Button的Onclick事件应用
2013/02/02 Javascript
form表单中去掉默认的enter键提交并绑定js方法实现代码
2013/04/01 Javascript
『JavaScript』限制Input只能输入数字实现思路及代码
2013/04/22 Javascript
js闭包实例汇总
2014/11/09 Javascript
超炫的jquery仿flash导航栏特效
2014/11/11 Javascript
jQuery插件实现控制网页元素动态居中显示
2015/03/24 Javascript
深入浅析AngularJS中的module(模块)
2016/01/04 Javascript
JS中取二维数组中最大值的方法汇总
2016/04/17 Javascript
Bootstrap Table使用方法详解
2016/08/01 Javascript
基于MVC方式实现三级联动(JavaScript)
2017/01/23 Javascript
详解webpack 多页面/入口支持&公共组件单独打包
2017/06/29 Javascript
vue loadmore组件上拉加载更多功能示例代码
2017/07/19 Javascript
Angularjs使用过滤器完成排序功能
2017/09/20 Javascript
Angular项目从新建、打包到nginx部署全过程记录
2017/12/09 Javascript
JS实现数组去重,显示重复元素及个数的方法示例
2019/01/21 Javascript
jquery 验证用户名是否重复代码实例
2019/05/14 jQuery
Vue项目环境搭建详细总结
2019/09/26 Javascript
jQuery实现简单全选框
2020/09/13 jQuery
Webpack5正式发布,有哪些新特性
2020/10/12 Javascript
python3实现TCP协议的简单服务器和客户端案例(分享)
2017/06/14 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
2018/04/05 Python
python抓取网站的图片并下载到本地的方法
2018/05/22 Python
Python实现打砖块小游戏代码实例
2019/05/18 Python
对python中的装包与解包实例详解
2019/08/24 Python
无需压缩软件,用python帮你操作压缩包
2020/08/17 Python
教你如何一步一步用Canvas写一个贪吃蛇
2018/10/22 HTML / CSS
伦敦鲜花递送:Flower Station
2021/02/03 全球购物
阿迪达斯越南官网:adidas越南
2020/07/19 全球购物
存储过程的优缺点是什么
2015/01/10 面试题
行政专员岗位职责
2014/01/02 职场文书
节能标语大全
2014/06/21 职场文书
2016春季校长开学典礼致辞
2015/11/26 职场文书
Pygame Draw绘图函数的具体使用
2021/11/17 Python