浅谈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实现清屏的方法
Apr 30 Python
解决pycharm运行时interpreter为空的问题
Oct 29 Python
Python实现查找字符串数组最长公共前缀示例
Mar 27 Python
利用Python模拟登录pastebin.com的实现方法
Jul 12 Python
解决pycharm上的jupyter notebook端口被占用问题
Dec 17 Python
python+selenium+chromedriver实现爬虫示例代码
Apr 10 Python
Pymysql实现往表中插入数据过程解析
Jun 02 Python
python 解决selenium 中的 .clear()方法失效问题
Sep 01 Python
浅谈Python 中的复数问题
May 19 Python
Python使用海龟绘图实现贪吃蛇游戏
Jun 18 Python
Python 数据可视化神器Pyecharts绘制图像练习
Feb 28 Python
python3 字符串str和bytes相互转换
Mar 23 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数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
2011/10/31 PHP
PHP扩展开发入门教程
2015/02/26 PHP
php 问卷调查结果统计
2015/10/08 PHP
PHP获取ttf格式文件字体名的方法示例
2019/03/06 PHP
Thinkphp5 自定义上传文件名的实现方法
2019/07/23 PHP
JQuery UI皮肤定制
2009/07/27 Javascript
jquery的live使用注意事项
2014/02/18 Javascript
js实现3D图片逐张轮播幻灯片特效代码分享
2015/09/09 Javascript
利用css+原生js制作简单的钟表
2020/04/07 Javascript
JavaScript排序算法动画演示效果的实现方法
2016/10/18 Javascript
JS常用加密编码与算法实例总结
2016/12/22 Javascript
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
node.js中fs.stat与fs.fstat的区别详解
2017/06/01 Javascript
关于vue中watch检测到不到对象属性的变化的解决方法
2018/02/08 Javascript
AngularJS监听ng-repeat渲染完成的方法
2018/03/20 Javascript
一个Vue视频媒体多段裁剪组件的实现示例
2018/08/09 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
2019/04/02 Javascript
[14:19]2018年度COSER大赛-完美盛典
2018/12/16 DOTA
详解Python编程中基本的数学计算使用
2016/02/04 Python
Python中 map()函数的用法详解
2018/07/10 Python
python实现控制COM口的示例
2019/07/03 Python
Python中socket网络通信是干嘛的
2020/05/27 Python
Python脚本实现监听服务器的思路代码详解
2020/05/28 Python
python3检查字典传入函数键是否齐全的实例
2020/06/05 Python
使用OpenCV去除面积较小的连通域
2020/07/05 Python
python解压zip包中文乱码解决方法
2020/11/27 Python
如何在vscode中安装python库的方法步骤
2021/01/06 Python
python实现马丁策略的实例详解
2021/01/15 Python
美国珠宝店:Helzberg Diamonds
2018/10/24 全球购物
计算s=f(f(-1.4))的值
2014/05/06 面试题
GWebs公司笔试题
2012/05/04 面试题
幼儿园园长新年寄语2015
2014/12/08 职场文书
综合素质评价思想道德自我评价
2015/03/09 职场文书
2015年小学数学教研组工作总结
2015/05/21 职场文书
微信小程序实现录音Record功能
2021/05/09 Javascript
MySQL数据库表约束讲解
2022/06/21 MySQL