python中raw函数_Python apply函数
1、介绍
apply函数是
pandas里面所有函数中自由度最高的函数。该函数如下:
DataFrame.apply(func, axis=0, broadcast=False, raw=False, reduce=None, args=(), **kwds)
该函数最有用的是第一个参数,这个参数是函数,相当于C/C++的函数指针。
这个函数需要自己实现,函数的传入参数根据axis来定,比如axis = 1,就会把一行数据作为Series的数据 结构传入给自己实现的函数中,我们在函数中实现对Series不同属性之间的计算,返回一个结果,则apply函数 会自动遍历每一行DataFrame的数据,最后将所有结果组合成一个Series数据结构并返回。
2、样例
import numpy as npimport pandas as pd
f = lambda x: x.max()-x.min()
df = pd.DataFrame(np.random.randn(4,3),columns=list('bde'),index=['utah', 'ohio', 'texas', 'oregon'])print(df)
t1 = df.apply(f)print(t1)
t2 = df.apply(f, axis=1)print(t2)
输出结果如下所示:
b d e
utah 1.106486 0.101113 -0.494279ohio 0.955676 -1.889499 0.522151texas 1.891144 -0.670588 0.106530oregon -0.062372 0.991231 0.294464b 1.953516d 2.880730e 1.016430dtype: float64
utah 1.600766ohio 2.845175texas 2.561732oregon 1.053603dtype: float64
3、性能比较
df = pd.DataFrame({'a': np.random.randn(6), 'b': ['foo', 'bar'] * 3, 'c': np.random.randn(6)})def my_test(a, b): return a + bprint(df)
df['Value'] = df.apply(lambda row: my_test(row['a'], row['c']), axis=1) # 方法1print(df)
df['Value2'] = df['a'] + df['c'] # 方法2print(df)
输出结果如下:
a b c
0 -1.194841 foo 1.648214
1 -0.377554 bar 0.496678
2 1.524940 foo -1.245333
3 -0.248150 bar 1.526515
4 0.283395 foo 1.282233
5 0.117674 bar -0.094462
a b c Value
0 -1.194841 foo 1.648214 0.453374
1 -0.377554 bar 0.496678 0.119124
2 1.524940 foo -1.245333 0.279607
3 -0.248150 bar 1.526515 1.278365
4 0.283395 foo 1.282233 1.565628
5 0.117674 bar -0.094462 0.023212
a b c Value Value2
0 -1.194841 foo 1.648214 0.453374 0.453374
1 -0.377554 bar 0.496678 0.119124 0.119124
2 1.524940 foo -1.245333 0.279607 0.279607
3 -0.248150 bar 1.526515 1.278365 1.278365
4 0.283395 foo 1.282233 1.565628 1.565628
5 0.117674 bar -0.094462 0.023212 0.023212
注意:当数据量很大时,对于简单的逻辑处理建议方法2(个人处理几百M数据集时,方法1花时200s左右,方法2花时10s)!!!
http://shenzhen.offcn.com/
python中raw函数_Python apply函数相关推荐
- python中dir用法_Python dir() 函数
Python dir() 函数 描述 dir() 函数不带参数时,返回当前范围内的变量.方法和定义的类型列表:带参数时,返回参数的属性.方法列表.如果参数包含方法__dir__(),该方法将被调用.如 ...
- python中dir用法_Python dir()函数
您可以使用内置的dir()函数列出一个定义对象的标识符.例如,对于一个模块,包括在模块中定义的函数,类和变量. 当你给dir()提供一个模块名字时,它返回在那个模块中定义的名字的列表.当没有为其提供参 ...
- python中eps参数_Python minimize函数:向约束字典传递附加参数
我不知道如何通过minimize函数将其他参数传递给约束字典.我可以成功地将其他参数传递给目标函数. constraints参数是一个dict,它有一个字段"args",其中arg ...
- python中factor函数_Python入门-函数
函数 在维基百科上函数式这样描述的: 函数在数学中为两集合间的一种对应关系:输入值集合中的每项元素皆能对应唯一一项输出值集合中的元素. 此处的函数区别于我们数学上的函数,在编程世界中,函数(Funct ...
- Python中常用最神秘的函数! lambda 函数深度总结!
今天我们来学习 Python 中的 lambda 函数,并探讨使用它的优点和局限性 Let's do it! 什么是 Python 中的 Lambda 函数 lambda 函数是一个匿名函数(即,没有 ...
- python中实现延时回调普通函数示例代码
这篇文章主要给大家介绍了关于python中实现延时回调普通函数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧. 回调函 ...
- Python中常用的高阶函数
Python 中常用的高阶函数 ① filter(function,iterable)filter(function, iterable)filter(function,iterable) 过滤器 ...
- Python中的startswith和endswith函数使用实例
Python中的startswith和endswith函数使用实例 在Python中有两个函数分别是startswith()函数与endswith()函数,功能都十分相似,startswith()函数 ...
- python整数转换字符串_使用Python中的str()函数将整数值转换为字符串
python整数转换字符串 Given an integer value and we have to convert the value to the string using str() func ...
最新文章
- 平面法向量,点云法向量估计及可视化
- java_web学习(8)会话与状态管
- Mat转CImage
- STL源码剖析---迭代器失效小结
- RabbitMQ管理(5)——集群管理
- ch341a编程和ttl刷机区别_土豪金CH341a编程器 开箱晒物
- [转载]jquery cookie的用法
- block相对于delegate有哪些优缺点?
- 如何在NVIDIA(英伟达)官网下载老版本Toolkit-SDK---例如下载CUDA Toolkit 8.0
- ORB_SLAM3_一张图说明ORB-SLAM中的ORB特征提取和图像匹配算法流程
- SQL2005下载版本之区别
- java基础代码-实现键盘输入
- 教你如何安装配置Windows7系统 IIS IIS7.5本地浏览测试网站 完整版介绍
- 识别PDF文字的软件,得力OCR文字识别
- 计算2015年4月6日是一年中的第几星期
- 主板usb接口全部失灵_主板usb接口全部失灵
- 微电子电路——反相器延迟时间
- python使用pyecharts绘制地图
- 分布式定时任务原理以及解决方案-指定时间执行定时任务
- yolo3各部分代码(超详细)
热门文章
- Java Spring注解实现分析之@requestMapping工作原理
- SAP CRM呼叫中心toolbar的cancel按钮会导致session清理
- SAP CRM Fiori Simulation pipeline应用功能一览
- 错误消息 parent.relativePath points at wrong local POM的处理方法
- 电大 计算机应用基础 专科 教材,2016年电大计算机应用基础(专科).doc
- 仿 小米运动_小米有品上架“黑科技”床垫,让你睡在“空气”上,改变睡眠体验...
- js 设置password placeholder样式_装机必备!超级详细的BIOS设置图解
- linux如何加设磁盘配额,Linux系统攻略:如何为添加的硬盘做配额
- 复制出来的文本都是大写_vi或vim怎么复制粘贴
- go 语言 mysql_Go语言基础之操作MySQL