applymap的用法比较简单,会对DataFrame中的每个单元格执行指定函数的操作,虽然用途不如apply广泛,但在某些场合下还是非常有用的。

applymap()是与map()方法相对应的专属于DataFrame对象的方法,类似map()方法传入函数、字典等,传入对应的输出结果。

不同的是applymap()将传入的函数等作用于整个数据框中每一个位置的元素,因此其返回结果的形状与原数据框一致。

关联阅读:

Pandas中的宝藏函数-map

Pandas中的宝藏函数-apply

语 法:

DataFrame.applymap(func, na_action=None, **kwargs)

参 数:

func :Python function, returns a single value from a single value.

na_action{None, ‘ignore’}, default None,If ‘ignore’, propagate NaN values, without passing them to func.

**kwargs:Additional keyword arguments to pass as keywords arguments to func.

返 回:DataFrame Transformed DataFrame.

官 网:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.applymap.html

先构造一个数据集

data = pd.DataFrame(
{"name":['Jack', 'Alice', 'Lily', 'Mshis', 'Gdli', 'Agosh', 'Filu', 'Mack', 'Lucy', 'Pony'],
"gender":['F', 'M', 'F', 'F', 'M', 'F', 'M', 'M', 'F', 'F'],
"age":[25, 34, 49, 42, 28, 23, 45, 21, 34, 29]})
dataname gender  age
0   Jack      F   25
1  Alice      M   34
2   Lily      F   49
3  Mshis      F   42
4   Gdli      M   28
5  Agosh      F   23
6   Filu      M   45
7   Mack      M   21
8   Lucy      F   34
9   Pony      F   29

我们把姓名数据中所有的字符型数据消息小写化处理,对其他类型则原样返回:

def to_lower(x):if isinstance(x,str):return x.lower()else:return x
data.applymap(to_lower)name gender  age
0   jack      f   25
1  alice      m   34
2   lily      f   49
3  mshis      f   42
4   gdli      m   28
5  agosh      f   23
6   filu      m   45
7   mack      m   21
8   lucy      f   34
9   pony      f   29

其形状没有变化,配合applymap(),可以简洁地完成很多数据处理操作,特别是对于全部数据都要进行的统一处理,非常方便。

把一个数组转换成两位数的百分百形式

import numpy as np
da_rn = pd.DataFrame({'A':np.random.randn(4),'B':np.random.randn(4)})
da_rnA         B
0 -0.166162 -0.059824
1  0.530865 -0.930523
2 -1.215844 -0.142273
3  0.347695  0.308077da_rn.applymap(lambda x: "{:.2%}".format(x))A        B
0   -16.62%   -5.98%
1    53.09%  -93.05%
2  -121.58%  -14.23%
3    34.77%   30.81%
···  END  ···

往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑黄海广老师《机器学习课程》课件合集
本站qq群851320808,加入微信群请扫码:

【Python】Pandas中的宝藏函数-applymap相关推荐

  1. 【Python】Pandas中的宝藏函数-apply

    apply()堪称Pandas中最好用的方法,其使用方式跟map()很像,主要传入的主要参数都是接受输入返回输出. 但相较于昨天介绍的map()针对单列Series进行处理,一条apply()语句可以 ...

  2. 【Python】Pandas中的宝藏函数-rank()

    所谓的排名,就是一组数据,我们想要知道每一条数据在整体中的名次,需要的是输出名次,并不改变原数据结构. 排序会改变原来的数据结构,且不会返回名次,这一点区别需要弄明白.初学的时候容易弄混淆. 本文将通 ...

  3. 【Python】Pandas中的宝藏函数-transform()

    Pandas具有很多强大的功能,transform就是其中之一,利用它可以高效地汇总数据且不改变数据行数,transform是一种什么数据操作?如果熟悉SQL的窗口函数,就非常容易理解了,该函数的核心 ...

  4. python时间函数报错_python3中datetime库,time库以及pandas中的时间函数区别与详解...

    1介绍datetime库之前 我们先比较下time库和datetime库的区别 先说下time 在 Python 文档里,time是归类在Generic Operating System Servic ...

  5. python获取系统时间函数_python3中datetime库,time库以及pandas中的时间函数区别与详解...

    1介绍datetime库之前 我们先比较下time库和datetime库的区别 先说下time 在 Python 文档里,time是归类在Generic Operating System Servic ...

  6. Python之pandas:pandas中数据处理常用函数(与空值相关/去重和替代)简介、具体案例、使用方法之详细攻略

    Python之pandas:pandas中数据处理常用函数(与空值相关/去重和替代)简介.具体案例.使用方法之详细攻略 目录 pandas中数据处理常用函数(isnull/dropna/fillna/ ...

  7. python使用pandas中的to_json函数将dataframe数据写入json文件中

    python使用pandas中的to_json函数将dataframe数据写入json文件中 目录 python使用pandas中的to_json函数将dataframe数据写入json文件中 #导入 ...

  8. Python pandas 中loc函数的意思及用法,及跟iloc的区别

    Python pandas 中loc函数的意思及用法,及跟iloc的区别 loc和iloc的意思 loc和iloc的区别及用法展示 参考文献 loc和iloc的意思 首先,loc是location的意 ...

  9. python loc iloc,Python pandas loc用法与iloc区别 聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明...

    想了解聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明的相关内容吗,Rainpages在本文为您仔细讲解Python pandas loc用法与iloc区别的相关知识和一些C ...

最新文章

  1. JAVA实现斐波那契数列问题(《剑指offer》)
  2. HSRP-热备份路由协议
  3. 腾讯V265编码器:给用户以完备的265体验
  4. 黑马程序员---面向对象笔记总结
  5. 解释器模式 Interpreter
  6. visual studio输入法打不了中文_(四)让人纠结的双拼输入法,以及承载它的那些输入法们(下)...
  7. 前端微信小程序开发基础
  8. c语言sqart函数格式,2019-07-29 复习C语言入门知识
  9. 高二上计算机知识点,【高考备考】2017高二数学知识点归纳整理:期中考试必背的知识点...
  10. 图神经网络(10)- knowledge graph(知识图谱)
  11. 算法设计与分析递归概念之Fibonacci数列
  12. CSS中已经定义宽度的样式 英文不执行换行
  13. 潭州学院html学习(day03)
  14. 全新电影社交观影,满足影迷移动巨幕与移动3D体验
  15. PHP开发基于Mirai的QQ机器人(一)
  16. yolov5 训练crowded human 【visible body detection】
  17. CSS水平居中与垂直居中
  18. 2018年第九届蓝桥杯 JavaB组省赛 刷题思路及答案
  19. Matlab群体智能优化算法之基于模拟烹饪培训优化算法(CBOA)
  20. 【方块编码】基于matlab的图像方块编码仿真

热门文章

  1. 《面向对象程序设计》第一次作业
  2. 练习一:GitHub Desktop下载及使用
  3. 判断101-200之间有多少个素数,并输出所有素数(C)
  4. Delphi 2010 新增功能之: 软键盘、触摸键盘(TTouchKeyboard)
  5. 2050 Programming Competition (CCPC)
  6. 剑指offer面试题15:链表中倒数第K个节点
  7. 正则表达式,grep,sed,
  8. linux学习笔记4:linux的任务调度,进程管理,mysql的安装和使用,ssh工具的使用,linux网络编程...
  9. 键盘映射软件_KOMPLETE KONTROL M32 键盘 MIDI 控制器的评测
  10. 用c语言实现对n个进程采用“短进程优先”算法的进程调度_为什么Linux CFS调度器没有带来惊艳的碾压效果?...