本文主要介绍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函数一起使用,如下图所示:
举栗子
对指定列进行操作:
data=np.arange(0,16)。整形(4,4)
数据=pd。DataFrame(data,columns=['0 ',' 1 ',' 2 ',' 3'])
定义f(x):
返回x-1
打印(数据)
print(data.ix[:['1 ',' 2']])。应用(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)。整形(4,4)
数据=pd。DataFrame(data,columns=['0 ',' 1 ',' 2 ',' 3'])
定义f(x):
返回x-1
打印(数据)
print(data.ix[[0,1],]。应用(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)。整形(4,4)
数据=pd。DataFrame(data,columns=['0 ',' 1 ',' 2 ',' 3'])
定义f(x):
return x.max()
打印(数据)
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)。整形(4,4)
数据=pd。DataFrame(data,columns=['0 ',' 1 ',' 2 ',' 3'])
定义f(x):
return x.max()
打印(数据)
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函数的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。