python中apply函数详情
更新时间:2022年01月26日 14:24:26 作者:sorrythanku
这篇文章主要介绍了python中apply函数详情,该函数最有用的是第一个参数,这个参数是函数,相当于C/C++的函数指针,更多详细内容,需要的小伙伴可以参考下面文章内容
函数原型:
DataFrame.apply(func, axis=0, broadcast=False, raw=False, reduce=None, args=(), **kwds)
- 1.该函数最有用的是第一个参数,这个参数是函数,相当于C/C++的函数指针。
- 2.这个函数需要自己实现,函数的传入参数根据axis来定,比如axis = 1,就会把一行数据作为Series的数据
- 结构传入给自己实现的函数中,我们在函数中实现对
Series
不同属性之间的计算,返回一个结果,则apply函数 - 会自动遍历每一行
DataFrame
的数据,最后将所有结果组合成一个Series
数据结构 - 并返回。
- 3.apply函数常与
groupby
函数一起使用,如下图所示:
- 4.举栗子
对指定列进行操作:
data=np.arange(0,16).reshape(4,4) data=pd.DataFrame(data,columns=['0','1','2','3']) def f(x): return x-1 print(data) print(data.ix[:,['1','2']].apply(f)) 0 1 2 3 0 0 1 2 3 1 4 5 6 7 2 8 9 10 11 3 12 13 14 15 1 2 0 0 1 1 4 5 2 8 9 3 12 13
对行操作:
data=np.arange(0,16).reshape(4,4) data=pd.DataFrame(data,columns=['0','1','2','3']) def f(x): return x-1 print(data) print(data.ix[[0,1],:].apply(f)) 0 1 2 3 0 0 1 2 3 1 4 5 6 7 2 8 9 10 11 3 12 13 14 15 0 1 2 3 0 -1 0 1 2 1 3 4 5 6
整体对列操作:
data=np.arange(0,16).reshape(4,4) data=pd.DataFrame(data,columns=['0','1','2','3']) def f(x): return x.max() print(data) print(data.apply(f)) 0 1 2 3 0 0 1 2 3 1 4 5 6 7 2 8 9 10 11 3 12 13 14 15 0 12 1 13 2 14 3 15 dtype: int64
整体对行操作:
data=np.arange(0,16).reshape(4,4) data=pd.DataFrame(data,columns=['0','1','2','3']) def f(x): return x.max() print(data) print(data.apply(f,axis=1)) 0 1 2 3 0 0 1 2 3 1 4 5 6 7 2 8 9 10 11 3 12 13 14 15 0 3 1 7 2 11 3 15 dtype: int64
到此这篇关于python中apply函数详情的文章就介绍到这了,更多相关python中apply函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
解决python matplotlib imshow无法显示的问题
今天小编就为大家分享一篇解决python matplotlib imshow无法显示的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-05-05详解Python中的偏函数(Partial Functions)
Python中的偏函数是来自函数式编程的一个强大工具,它的主要目标是减少函数调用的复杂性这个概念可能起初看起来有点困难理解,但一旦你明白了它的工作方式,它可能会成为你的编程工具箱中的重要组成部分,文中有相关的代码介绍,需要的朋友可以参考下2023-06-06Python 实现Numpy中找出array中最大值所对应的行和列
今天小编就为大家分享一篇Python 实现Numpy中找出array中最大值所对应的行和列,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-11-11
最新评论