平时在处理df series格式的时候并没有注意 map和apply的差异

总感觉没啥却别。不过还是有区别的。下面总结一下:

import pandas as pd
df1= pd.DataFrame({
"sales1":[-,,],
"sales2":[,-,],
})

1.apply

1、当我们要对数据框(DataFrame)的数据进行按行或按列操作时用apply()

note:操作的原子是行和列 ,可以用行列统计描述符 min max mean ......

当axis=0的时候是对“列”进行操作

df2=df1.apply(lambda x: x.max()-x.min(),axis=0)
print(type(df2),"\n",df2)

axis=1的时候是对“行”进行操作

df3=df1.apply(lambda x: x.max()-x.min(),axis=1)
print(type(df3),"\n",df3)

2.也可以直接选定一列series,或者df直接操作

2.applymap

1.applymap函数之后,自动对DataFrame每一个元素进行处理,判断之后输出结果

df4=df1.applymap(lambda x: x>0)
print(type(df4),"\n",df4)

2.applymap是对 DataFrame 进行每个元素的单独操作

ie:不能添加列统计函数,因为是只针对单个元素的操作

df5=df1.applymap(lambda x: x.min())
print(type(df5),"\n",df5)

3.'Series' object has no attribute 'applymap'

df4=df1["sales1"].applymap(lambda x: x>0)
print(type(df4),"\n",df4)

3.map

1.'DataFrame' object has no attribute 'map'

df4=df1.map(lambda x: x**2)
print(type(df4),"\n",df4)

2.map其实是对 列,series 等 进行每个元素的单独操作

ie:不能添加列统计函数,因为是只针对单个元素的操作

df3=df1["sales1"].map(lambda x: x.max()-x.min())
print(type(df3),"\n",df3)

3.正常

df4=df1["sales1"].map(lambda x: x**2)
print(type(df4),"\n",df4)

python中的apply(),applymap(),map() 的用法和区别的更多相关文章

  1. python中的filter、map、reduce、apply用法

    1. filter 功能: filter的功能是过滤掉序列中不符合函数条件的元素,当序列中要删减的元素可以用某些函数描述时,就应该想起filter函数. 调用: filter(function,seq ...

  2. apply(), applymap(), map()

    Pandas 中map, applymap and apply的区别  https://blog.csdn.net/u010814042/article/details/76401133/ Panda ...

  3. python中urllib, urllib2,urllib3, httplib,httplib2, request的区别

    permike原文python中urllib, urllib2,urllib3, httplib,httplib2, request的区别 若只使用python3.X, 下面可以不看了, 记住有个ur ...

  4. Java中集合List,Map和Set的区别

    Java中集合List,Map和Set的区别 1.List和Set的父接口是Collection,而Map不是 2.List中的元素是有序的,可以重复的 3.Map是Key-Value映射关系,且Ke ...

  5. python中生成器对象和return 还有循环的区别

    python中生成器对象和return 还有循环的区别 在python中存在这么一个关键字yield,这个关键字在项目中经常被用到,比如我写一个函数不想它只返回一次就结束那我们就不能用return,因 ...

  6. Python中%r和%s的详解及区别_python_脚本之家

    Python中%r和%s的详解及区别_python_脚本之家 https://www.jb51.net/article/108589.htm

  7. python中os.path.abspath与os.path.realpath 区别

    python中os.path.abspath与os.path.realpath 区别cd /homemkdir amkdir btouch a/1.txtln -s /home/a/1.txt /ho ...

  8. 脚本引用中的defer和async的用法和区别

    之前的博客漫谈前端优化中的引用资源优化曾经提到过脚本引用异步设置defer.async,没有细说,这里展开一下,谈谈它们的作用和区别,先上张图来个针对没用过的小伙伴有个初始印象: 是的,就是在页面脚本 ...

  9. 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂

    浅谈JS中的!=.== .!==.===的用法和区别   var num = 1;     var str = '1';     var test = 1;     test == num  //tr ...

随机推荐

  1. rocketMq消息的发送和消息消费

    rocketMq消息的发送和消息消费 一.消息推送 public void pushMessage() { String message = "推送消息内容!"; try { De ...

  2. c++面向对象程序设计第四章课后习题

    这是书上的习题,我使用的是VS2010运行编译的 原习题: 4.有两个矩阵a和b,均为两行三列.求两个矩阵之和.重载运算符“+”,使之能用于矩阵相加.如c=a+b. #include<iostr ...

  3. Min swaps to sort array

    Given an array with distinct numbers, return an integer indicating the minimum number of swap operat ...

  4. js,bom,dom(相信我,你看不懂我写的)

    js dom bom 2种结合方式: 1.在body中加入script标签,<script type="text/javascript" >alert(" 向 ...

  5. django 模块创建 同步数据表 使用方法

    1 配置数据库   100行左右 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 'NAME': 'student ...

  6. html homework27

    1. 使用框架完成如下功能 将框架先上下分割成两部分(上半部分的为TopFrame).再将下半部分垂直分割为两部分(左侧为BottomLeftFrame,右侧为BottomRightFrame),为T ...

  7. bat 将war文件转换成ear文件

    1.无需拷贝war文件,自动获取war set path=%path%;D:\jdk\jdk1.6.0_31\bin;C:\Program Files\7-Zip del **0001-control ...

  8. BZOJ2659算不出的算式不正经题解

    题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=2659 分析 难得做到此类打表题目,不觉回想到NOIp2017考场上的SB经历 这道题看到 ...

  9. 【opencv源码解析】 二、 cvtColor

    这里以CV_BGR2YUV_I420来讲 1. opencv244 core.cpp void cv::cvtColor( InputArray _src, OutputArray _dst, int ...

  10. 使用原生node.js搭建HTTP服务器,支持MP4视频、图片传输,支持下载rar文件

    前言 如何安装node.js,如何搭建一个简易的http服务器我这里就不再赘述了,不懂的同学可以先去学习一下.当然了,我写的也就属于简易版的增强版,大家有什么高见的欢迎提出,然后进入正题. 目录结构 ...