python中apply函数详情

作者:sorrythanku? 时间:2023-06-03 14:58:15 

函数原型:

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函数一起使用,如下图所示:

python中apply函数详情

  • 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

来源:https://blog.csdn.net/starmoth/article/details/86323026

标签:python,apply,函数
0
投稿

猜你喜欢

  • 老版本PHP转义Json里的特殊字符的函数

    2023-11-06 02:32:18
  • 用正则表达式找出不包含连续字符串abc的单词

    2010-03-02 20:28:00
  • ASP环境中使用QQ纯真版IP数据库QQWry.dat

    2010-02-26 13:35:00
  • 在python中按照特定顺序访问字典的方法详解

    2023-02-09 07:14:34
  • Python内存管理方式和垃圾回收算法解析

    2022-09-10 17:49:11
  • python腾讯语音合成实现过程解析

    2022-01-01 20:58:05
  • SQL Server 2005中数据库镜像的四个问题

    2009-02-19 16:48:00
  • 如何做一个只搜索本网站的引擎?

    2010-07-12 19:02:00
  • GO 函数式选项模式(Functional Options Pattern)

    2024-05-22 10:16:05
  • OraclePL/SQL单行函数和组函数详解

    2010-07-28 13:02:00
  • Python函数式编程实现登录注册功能

    2022-02-16 14:03:31
  • 教你快速上手Selenium爬虫,万物皆可爬

    2022-01-02 18:44:31
  • Python调用Fortran的三种形式

    2021-01-10 13:25:08
  • Entity Framework Core生成数据库表

    2024-01-15 18:09:29
  • python类继承与子类实例初始化用法分析

    2023-03-31 17:14:24
  • access MDB 转换为 Execl(ASP类)

    2008-07-19 12:10:00
  • SQL SERVER备份数据库存储过程的方法

    2024-01-16 14:38:56
  • Mysql四种分区方式以及组合分区落地实现详解

    2024-01-23 05:05:25
  • python中自带的三个装饰器的实现

    2021-10-28 02:31:52
  • Python 函数基础知识汇总

    2021-12-22 15:47:09
  • asp之家 网络编程 m.aspxhome.com