1.方法的参数解释

官方解释:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.apply.html

DataFrame.apply(self, func, axis=0, broadcast=None, raw=False, reduce=None, result_type=None, args=(), **kwds)[source]
对DataFrame的行或列应用一个方法

传递给该函数的对象是Series对象,对象的索引是DataFrame的索引(axis = 0)或DataFrame的列(axis = 1)。返回类型:默认情况下(result_type = None),则最终的返回类型是根据提供的方法的返回类型来推断的;否则,它取决于result_type参数。

参数:    
func : 方法名称;需要应用在每行或每列的方法名

axis : 行或列
    有两种值:
    整数:0或1,其中0表示列,1表示行;
    字符串:‘index’或‘columns’,其中‘index’表示列;‘columns’表示行

broadcast : 布尔型, 可选
    仅与聚合函数有关:
    如果为False或者None:表示返回一个Series,其长度为index的长度或列数(基于axis参数)
    如果为True : :结果将会被保存到原始数据中,原始的行列会被保留
    从0.23.0版开始不推荐使用:此参数将在以后的版本中删除,由result_type =“ broadcast”代替。

raw : 布尔型, 默认为:False
    如果为False : 将每个行或列作为一个Series传递给函数。
    如果True : 传递的函数将接收一个ndarray对象。如果您仅使用一个NumPy聚合方法,它的性能会非常好。

reduce : 布尔型 或者 None, 默认为: None
    使用聚合方法。如果DataFrame为空,则apply方法将根据reduce来确定结果应为Series还是DataFrame。
    如果reduce = None(默认值),将通过在空的Series上调用func来判断apply的返回值(注意:在判断         时,func引发的异常将被忽略);
    如果reduce = True,apply方法将始终返回一个Series,
    如果reduce = False,则将始终返回一个DataFrame。
    从版本0.23.0开始不推荐使用:在以后的版本中将删除此参数,并替换为result_type ='reduce'。

result_type : 返回值的类型{‘expand’, ‘reduce’, ‘broadcast’, None}, 默认 None
    仅在axis = 1(columns)时起作用::

‘expand’ : 类似与列表这类结果就会被转换成columns.
    ‘reduce’ : 返回一个Series。这与“expand”相反。
    ‘broadcast’ :结果将会被保存到原始数据中,原始的行列会被保留
     None :依赖与调用方法的返回值

New in version 0.23.0.

args : 元组类型,tuple
    需要递给func的除array/series外的其他参数。

**kwds
    传递给func的其他关键字参数。

返回值:    
Series 或者 DataFrame
Result of applying func along the given axis of the DataFrame.

2.例子

# -*- coding:utf-8 -*-
import pandas as pddata = {'card':['11111','11112','11113','11114'],'ship':['22221','22222','22223','22224'],'sold':['32221','32222','32223','32225']}
data = pd.DataFrame(data)df = {'id':['1','2','3','4'],'ship':['22221','22222','22225','22224'],'sold':['32221','32222','32226','32224']}
df = pd.DataFrame(df)
result_dic = df.set_index("ship").to_dict()['sold']
def mapping_check(df,result_dic):if df['ship'] in result_dic.keys() :if df['sold'] == result_dic[df['ship']]:return "correct"else:return "sold_error"else:return "ship_error"data['result'] = data.apply(mapping_check,result_dic=result_dic,axis=1)
print(data)

打印结果为:

card   ship   sold      result
0  11111  22221  32221     correct
1  11112  22222  32222     correct
2  11113  22223  32223  ship_error
3  11114  22224  32225  sold_error

pandas.DataFrame.apply方法详解相关推荐

  1. python的dataframe的groupby_python pandas.DataFrame.groupby()方法详解

    文章目录 DataFrame.groupby()概览应用举例 概览内容参考自官方文档详情应用参考文档 DataFrame.groupby()概览 DataFrame.groupby(self, by= ...

  2. Pandas中resample方法详解

    Pandas中resample方法详解 Pandas中的resample,重新采样,是对原样本重新处理的一个方法,是一个对常规时间序列数据重新采样和频率转换的便捷的方法.重新取样时间序列数据. 方便的 ...

  3. Js中apply方法详解说明

    Js apply 方法 详解 我在一开始看到JavaScript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了, ...

  4. EXT.apply方法详解

    EXT.apply EXT.apply方法详解 EXT.apply方法详解 apply的用法: Ext中apply及applyIf方法的应用 apply及applyIf方法都是用于实现把一个对象中的属 ...

  5. Js apply 方法 详解

    Js apply方法详解 我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这 ...

  6. Js apply方法详解

    Js apply方法详解 主要解决一下几个问题: apply和call的区别在哪里 什么情况下用apply,什么情况下用call apply的其他巧妙用法(一般在什么情况下可以使用apply) 首先从 ...

  7. 深入学习JavaScript: apply 方法 详解

    我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这里我做如下笔记,希望和大家 ...

  8. Js apply()使用详解

    Js apply方法详解 我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这 ...

  9. python移动平均线绘图_对python pandas 画移动平均线的方法详解

    数据文件 66001_.txt 内容格式: date,jz0,jz1,jz2,jz3,jz4,jz5 2012-12-28,0.9326,0.8835,1.0289,1.0027,1.1067,1.0 ...

最新文章

  1. 安装了低版本Jdk后eclipse无法打开的终极解决方法
  2. 新手制作bom表格教程_抖音短视频怎么制作?这里有全部最新教程+指导,新手0基础上手!...
  3. php多线程安装pthreads步骤详解
  4. mysql 聚合函数内比较运算符_关于常用 MYSQL 聚合函数,其他函数 ,类型转换,运算符 总结...
  5. 计算机网络实验数据链路层分析,计算机网络第三次实验-数据链路层
  6. mkenvimage
  7. SCCM2012 R2集成WSUS服务器-4:部署软件更新组
  8. 用c语言怎样将swf转化为pdf,利用ABCpdf.NET将网页转换成PDF的方法小结
  9. python网络爬虫系列教程——PhantomJS包应用全解
  10. Image Upload based on jQuery
  11. java基于ssm的学校教务管理系统的设计与实现论文
  12. 基于MATLAB的有源三相滤波器的设计,基于MATLAB的有源滤波器的设计与仿真
  13. 【学术】论文返修时,能否增加作者或变更作者顺序?
  14. Springboot毕设项目乐器乐曲交易系统tw5iy(java+VUE+Mybatis+Maven+Mysql)
  15. php只取时间的下士_闲来无聊,用python抓取天气信息,简单就是美啊
  16. AIRCHECK G2 v5 新版本-AirMapper APP发布
  17. 命运交响曲计算机弹奏,贝多芬命运交响曲弹奏方法和介绍-雅马哈电子琴排行榜...
  18. AndroidStudio问题XML格式化
  19. LCD显示屏 字模 俄文字体显示8*16
  20. intra_op_parallelism_threads参数设置

热门文章

  1. confer安装与计算
  2. SSM毕设项目大学校园宿舍零食便利店8o8u4(java+VUE+Mybatis+Maven+Mysql)
  3. mysql nvl nvl2_nvl 与 nvl2
  4. 只看这一篇就够:快速了解联邦学习技术及应用实践
  5. JAVA 断言——assert
  6. zeppelin安装和配置(保姆级教程)
  7. 虚拟现实技术在影视领域的应用与拓展
  8. 可靠消息苹果手机iOS17支持微信分身双开多开了?你不会不知道吧
  9. 微信小程序云开发之云存储(实现图片上传和下载)
  10. Vue 基础学习 1.0