浅谈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处理RSS、ATOM模块FEEDPARSER介绍
Feb 18 Python
python写入xml文件的方法
May 08 Python
python生成随机图形验证码详解
Nov 08 Python
Python实现将一个正整数分解质因数的方法分析
Dec 14 Python
用python处理MS Word的实例讲解
May 08 Python
详解python Todo清单实战
Nov 01 Python
Python 通过微信控制实现app定位发送到个人服务器再转发微信服务器接收位置信息
Aug 05 Python
Python3 ID3决策树判断申请贷款是否成功的实现代码
May 21 Python
为什么说python适合写爬虫
Jun 11 Python
浅谈keras2 predict和fit_generator的坑
Jun 17 Python
Scrapy-Redis之RedisSpider与RedisCrawlSpider详解
Nov 18 Python
2021年pycharm的最新安装教程及基本使用图文详解
Apr 03 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 ajax 分页类代码
2008/11/13 PHP
php中动态变量用法实例
2015/06/10 PHP
选择TreeView控件的树状数据节点的JS方法(jquery)
2010/02/06 Javascript
DIY jquery plugin - tabs标签切换实现代码
2010/12/11 Javascript
JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
2012/08/14 Javascript
window.print打印指定div实例代码
2013/12/13 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
nodejs下打包模块archiver详解
2014/12/03 NodeJs
javascript的tab切换原理与效果实现方法
2015/01/10 Javascript
JQUERY简单按钮轮换选中效果实现方法
2015/05/07 Javascript
JS实现光滑展开合拢的菜单效果代码
2015/09/16 Javascript
JavaScript程序设计之JS调试
2015/12/09 Javascript
浏览器检测JS代码(兼容目前各大主流浏览器)
2016/02/21 Javascript
详解Node.js模块间共享数据库连接的方法
2016/05/24 Javascript
微信小程序 教程之引用
2016/10/18 Javascript
详解AngularJS验证、过滤器、指令
2017/01/04 Javascript
JavaScript中 DOM操作方法小结
2017/04/25 Javascript
使用JS location实现搜索框历史记录功能
2019/12/23 Javascript
python编程实现随机生成多个椭圆实例代码
2018/01/03 Python
python2.7到3.x迁移指南
2018/02/01 Python
Pytorch数据拼接与拆分操作实现图解
2020/04/30 Python
用CSS3来实现社交分享按钮
2014/11/11 HTML / CSS
EJB的基本架构
2016/09/22 面试题
师范应届生求职信
2013/11/15 职场文书
基层干部十八大感言
2014/01/19 职场文书
工程招投标邀请书
2014/01/26 职场文书
甜点店创业计划书
2014/01/27 职场文书
毕业生自荐书
2014/02/03 职场文书
幼儿园秋季开学寄语
2014/08/02 职场文书
校外活动方案
2014/08/28 职场文书
电影雷锋观后感
2015/06/10 职场文书
学习委员竞选稿
2015/11/20 职场文书
nginx基于域名,端口,不同IP的虚拟主机设置的实现
2021/03/31 Servers
MySQL查询学习之基础查询操作
2021/05/08 MySQL
恶魔之树最顶端的三颗果实 震震果实上榜,第一可以制造岩浆
2022/03/18 日漫
世界十大评分最高的动漫,CLANNAD上榜,第八赚足人们眼泪
2022/03/18 日漫