浅谈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模拟登录百度代码分享(获取百度贴吧等级)
Dec 27 Python
Python中的类与对象之描述符详解
Mar 27 Python
python连接字符串的方法小结
Jul 13 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
Dec 12 Python
python3实现TCP协议的简单服务器和客户端案例(分享)
Jun 14 Python
numpy.linspace 生成等差数组的方法
Jul 02 Python
Python绘制二维曲线的日常应用详解
Dec 04 Python
音频处理 windows10下python三方库librosa安装教程
Jun 20 Python
python使用建议与技巧分享(二)
Aug 17 Python
Python getsizeof()和getsize()区分详解
Nov 20 Python
Python之qq自动发消息的示例代码
Feb 18 Python
Python-typing: 类型标注与支持 Any类型详解
May 10 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
PHP5 面向对象(学习记录)
2009/12/02 PHP
介绍一些PHP判断变量的函数
2012/04/24 PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
2013/06/18 PHP
php导出excel格式数据问题
2014/03/11 PHP
thinkphp分页实现效果
2016/10/13 PHP
php session的应用详细介绍
2017/03/22 PHP
JavaScript中实现PHP的打乱数组函数shuffle实例
2014/10/11 Javascript
javascript使用call调用微信API
2014/12/15 Javascript
JavaScript知识点总结(十)之this关键字
2016/05/31 Javascript
浅析使用BootStrap TreeView插件实现灵活配置快递模板
2016/11/28 Javascript
js 判断数据类型的几种方法
2017/01/13 Javascript
Angular.js实现动态加载组件详解
2017/05/28 Javascript
Node 自动化部署的方法
2017/10/17 Javascript
详解vue 项目白屏解决方案
2018/10/31 Javascript
JavaScript实现轮播图特效
2020/04/10 Javascript
python计数排序和基数排序算法实例
2014/04/25 Python
Python中输出ASCII大文字、艺术字、字符字小技巧
2015/04/28 Python
python中将字典形式的数据循环插入Excel
2018/01/16 Python
详解flask入门模板引擎
2018/07/18 Python
Windows下Anaconda2安装NLTK教程
2018/09/19 Python
在Pycharm中对代码进行注释和缩进的方法详解
2019/01/20 Python
Django之模板层的实现代码
2019/09/09 Python
python3的pip路径在哪
2020/06/23 Python
用python对oracle进行简单性能测试
2020/12/05 Python
pycharm配置python 设置pip安装源为豆瓣源
2021/02/05 Python
Eyeko美国:屡获殊荣的睫毛膏、眼线笔和眉妆
2018/07/05 全球购物
Dr.Jart+美国官网:韩国药妆品牌
2019/01/18 全球购物
巴西24小时在线药房:Droga Raia
2020/05/12 全球购物
瑞典在互联网上最大的宠物商店:Animail
2020/10/31 全球购物
英文导游欢迎词
2014/01/11 职场文书
班子四风对照检查材料
2014/08/21 职场文书
学校拾金不昧表扬信
2015/01/16 职场文书
公司承诺函范文
2015/01/21 职场文书
建筑工程材料员岗位职责
2015/04/11 职场文书
MySQL索引篇之千万级数据实战测试
2021/04/05 MySQL
利用JavaScript写一个简单计算器
2021/11/27 Javascript