浅谈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 13 Python
完美解决Python2操作中文名文件乱码的问题
Jan 04 Python
Python连接Mssql基础教程之Python库pymssql
Sep 16 Python
python中将正则过滤的内容输出写入到文件中的实例
Oct 21 Python
python 在某.py文件中调用其他.py内的函数的方法
Jun 25 Python
python代理工具mitmproxy使用指南
Jul 04 Python
python中的函数递归和迭代原理解析
Nov 14 Python
Django User 模块之 AbstractUser 扩展详解
Mar 11 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
Jun 18 Python
Prometheus开发中间件Exporter过程详解
Nov 30 Python
详解pandas apply 并行处理的几种方法
Feb 24 Python
Python pyecharts案例超市4年数据可视化分析
Aug 14 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
dedecms后台验证码总提示错误的解决方法
2007/03/21 PHP
THINKPHP支持YAML配置文件的设置方法
2015/03/17 PHP
Symfony2之session与cookie用法小结
2016/03/18 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
灵活应用js调试技巧解决样式问题的步骤分享
2012/03/15 Javascript
原生JavaScript生成GUID的实现示例
2014/09/05 Javascript
jQuery实现的网页竖向菜单效果代码
2015/08/26 Javascript
JS+CSS实现自适应选项卡宽度的圆角滑动门效果
2015/09/15 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
2015/12/02 Javascript
javascript单页面手势滑屏切换原理详解
2016/03/21 Javascript
NodeJs form-data格式传输文件的方法
2017/12/13 NodeJs
jQuery实现动态控制页面元素的方法分析
2017/12/20 jQuery
vue删除html内容的标签样式实例
2018/09/13 Javascript
JQuery Ajax跨域调用和非跨域调用问题实例分析
2019/04/16 jQuery
jquery实现上传文件进度条
2020/03/26 jQuery
JS简易计算器实例讲解
2020/06/30 Javascript
Vue 按照创建时间和当前时间显示操作(刚刚,几小时前,几天前)
2020/09/10 Javascript
[01:03:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第一场 1月29日
2021/03/11 DOTA
python实现bitmap数据结构详解
2014/02/17 Python
python TCP Socket的粘包和分包的处理详解
2018/02/09 Python
Python如何实现转换URL详解
2019/07/02 Python
Python简易版停车管理系统
2019/08/12 Python
python3.6生成器yield用法实例分析
2019/08/23 Python
python根据用户需求输入想爬取的内容及页数爬取图片方法详解
2020/08/03 Python
webView加载html图片遇到的问题解决
2019/10/08 HTML / CSS
雅诗兰黛香港官网:Estee Lauder香港
2017/09/26 全球购物
意大利火车票和铁路通行证专家:ItaliaRail
2019/01/22 全球购物
英国最大的在线亚洲杂货店:Red Rickshaw
2020/03/22 全球购物
什么是抽象
2015/12/13 面试题
工商管理专业应届生求职信
2013/11/04 职场文书
关于毕业的广播稿
2014/01/10 职场文书
2014年药品销售工作总结
2014/12/16 职场文书
2015年安全生产月活动总结
2015/03/26 职场文书
田径运动会通讯稿
2015/07/18 职场文书
python中tkinter复选框使用操作
2021/11/11 Python
Python中requests库的用法详解
2022/06/05 Python