浅谈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 urlopen()函数 示例分享
Jun 12 Python
Python实现遍历windows所有窗口并输出窗口标题的方法
Mar 13 Python
Python编写百度贴吧的简单爬虫
Apr 02 Python
让Python代码更快运行的5种方法
Jun 21 Python
Python使用PIL模块生成随机验证码
Nov 21 Python
Python第三方Window模块文件的几种安装方法
Nov 22 Python
Python3实现的回文数判断及罗马数字转整数算法示例
Mar 27 Python
Python全面分析系统的时域特性和频率域特性
Feb 26 Python
Python模块相关知识点小结
Mar 09 Python
python怎么判断模块安装完成
Jun 19 Python
使用numpy实现矩阵的翻转(flip)与旋转
Jun 03 Python
Python软件包安装的三种常见方法
Jul 07 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重定向与伪静态区别
2017/02/19 PHP
.net,js捕捉文本框回车键事件的小例子(兼容多浏览器)
2013/03/11 Javascript
Javascript倒计时页面跳转实例小结
2013/09/11 Javascript
js中的push和join方法使用介绍
2013/10/08 Javascript
js中如何复制一个对象并获取其所有属性和属性对应的值
2013/10/24 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
2014/07/30 Javascript
JS中的Replace方法使用经验分享
2015/05/20 Javascript
javascript实现对表格元素进行排序操作
2015/11/18 Javascript
jquery仿QQ登录账号选择下拉框效果
2016/03/22 Javascript
Bootstrap前端开发案例一
2016/06/17 Javascript
js验证真实姓名与身份证号,手机号的简单实例
2016/07/18 Javascript
AngularJS入门教程之路由与多视图详解
2016/08/19 Javascript
HTML5基于Tomcat 7.0实现WebSocket连接并实现简单的实时聊天
2016/10/31 Javascript
源码分析Vue.js的监听实现教程
2017/04/23 Javascript
详解基于Bootstrap+angular的一个豆瓣电影app
2017/06/26 Javascript
vue 实现 tomato timer(蕃茄钟)实例讲解
2017/07/24 Javascript
el-input 标签中密码的显示和隐藏功能的实例代码
2019/07/19 Javascript
Vue的编码技巧与规范使用详解
2019/08/28 Javascript
Vue发布订阅模式实现过程图解
2020/04/30 Javascript
vue+element实现图片上传及裁剪功能
2020/06/29 Javascript
通过实例了解Render Props回调地狱解决方案
2020/11/04 Javascript
Javascript节流函数throttle和防抖函数debounce
2020/12/03 Javascript
[03:03]DOTA2 2017国际邀请赛开幕战队入场仪式
2017/08/09 DOTA
Python解析Excle文件中的数据方法
2018/10/23 Python
Python进程Multiprocessing模块原理解析
2020/02/28 Python
浅析python标准库中的glob
2020/03/13 Python
如何将PySpark导入Python的放实现(2种)
2020/04/26 Python
Python 操作 MySQL数据库
2020/09/18 Python
python爬虫分布式获取数据的实例方法
2020/11/26 Python
想学画画?python满足你!
2020/12/24 Python
CSS3移动端vw+rem不依赖JS实现响应式布局的方法
2019/01/23 HTML / CSS
CSS3中引入多种自定义字体font-face
2020/06/12 HTML / CSS
印度网上购物首选目的地:Flipkart
2016/08/01 全球购物
2016年党支部公开承诺书
2016/03/25 职场文书
2019最新版火锅店的创业计划书 !
2019/07/12 职场文书
oracle索引总结
2021/09/25 Oracle