浅谈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 http长连接客户端
Jun 12 Python
Python实现的十进制小数与二进制小数相互转换功能
Oct 12 Python
python使用matplotlib绘制热图
Nov 07 Python
浅谈Python爬虫基本套路
Mar 25 Python
详解Python3序列赋值、序列解包
May 14 Python
python:批量统计xml中各类目标的数量案例
Mar 10 Python
python opencv进行图像拼接
Mar 27 Python
python 给图像添加透明度(alpha通道)
Apr 09 Python
python爬虫基础知识点整理
Jun 02 Python
Python selenium实现断言3种方法解析
Sep 08 Python
如何基于Python pygame实现动画跑马灯
Nov 18 Python
五种Python转义表示法
Nov 27 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中的正规表达式(二)
2006/10/09 PHP
php xml留言板 xml存储数据的简单例子
2009/08/24 PHP
PHP取整数函数常用的四种方法小结
2012/07/05 PHP
分享5个非常有用的Laravel Blade指令
2018/05/30 PHP
再次分享18个非常棒的jQuery表格插件
2011/04/10 Javascript
javascript中RegExp保留小数点后几位数的方法分享
2013/08/13 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
2014/03/18 Javascript
jquery实现页面关键词高亮显示的方法
2015/03/12 Javascript
js+canvas绘制五角星的方法
2016/01/28 Javascript
JavaScript ES5标准中新增的Array方法
2016/06/28 Javascript
将json转换成struts参数的方法
2016/11/08 Javascript
微信小程序 input输入框详解及简单实例
2017/01/10 Javascript
jq给页面添加覆盖层遮罩的实例
2017/02/16 Javascript
bootstrap轮播图示例代码分享
2017/05/17 Javascript
JavaScript运动框架 链式运动到完美运动(五)
2017/05/18 Javascript
基于AngularJS实现的工资计算器实例
2017/06/16 Javascript
Angular4如何自定义首屏的加载动画详解
2017/07/26 Javascript
web前端vue之CSS过渡效果示例
2018/01/10 Javascript
详解关于vue-area-linkage走过的坑
2018/06/27 Javascript
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
2019/09/01 Javascript
浅谈vuex为什么不建议在action中修改state
2020/02/02 Javascript
Python中import导入上一级目录模块及循环import问题的解决
2016/06/04 Python
Python SQLite3简介
2018/02/22 Python
python如何获取当前文件夹下所有文件名详解
2019/01/25 Python
波兰电子产品购物网站:Vobis
2019/05/26 全球购物
Pop In A Box英国:Funko POP搪胶公仔
2019/05/27 全球购物
美国环保妈妈、儿童和婴儿用品购物网站:The Tot
2019/11/24 全球购物
致铅球运动员加油稿
2014/02/13 职场文书
课程改革实施方案
2014/03/16 职场文书
建筑学专业自荐书
2014/07/09 职场文书
2014医学院领导干部四风对照检查材料思想汇报
2014/09/16 职场文书
2014最新党员违纪检讨书
2014/10/12 职场文书
2015年建筑工程工作总结
2015/05/13 职场文书
MySQL 角色(role)功能介绍
2021/04/24 MySQL
深入理解pytorch库的dockerfile
2022/06/10 Python
pytest实现多进程与多线程运行超好用的插件
2022/07/15 Python