apply函数的用法

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,5000CU*H 3个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: apply是pandas处理数据经常用到的函数。我们可以用DataFrame的apply函数实现对多列、多行的操作。可通过axis设置参数,设为1是对列进行操作,参数axis设为0是对行操作。apply经常跟lambda一起使用,非常方便,大大提高了效率。

apply是pandas处理数据经常用到的函数。我们可以用DataFrame的apply函数实现对多列、多行的操作。可通过axis设置参数,设为1是对列进行操作,参数axis设为0是对行操作。apply经常跟lambda一起使用,非常方便,大大提高了效率。

构造数据

import pandas as pd
data = [
    ['张三', '专科', '湖北', '22','2021-06-29'],
    ['李四', '本科', '河北', '23','2021-06-29'],
    ['王五', '硕士', '北京', '29','2019-03-21'],
    ['赵六', '博士', '内蒙', '30','2019-06-25'],
    ['吴七', '本科', '内蒙', '25','2019-06-25'],
    ['范八', '本科', '吉林', '25','2018-06-25']
]
df = pd.DataFrame(data, columns=['姓名', '学历', '籍贯', '年龄','毕业时间'])
df

单列操作

#毕业时间仅显示年份
df['毕业时间']=df['毕业时间'].apply(lambda x :x[:4])
df

多列关联操作

#现在有1个岗位,需本科以上学历,年龄小于28才能匹配。
#定义函数
def f(a,b):
    if a in ['本科','硕士','博士']and int(b)<28:
        return '匹配'
    else:
        return '不匹配'
df['是否匹配岗位']=df.apply(lambda x: f(x['学历'],x['年龄']),axis=1)#axis=1,表示横向,对列进行操作,axis=0表示竖向操作,是增加一行
df

多行关联操作

#展示一下行操作,行之间的操作用的较少,这里主要展示与列操作的区别。axis=0与axis=1的区别。
#定义函数
def f2(a,b):
    return a+b
df.loc[6]=df.apply(lambda x: f2(x[1],x[5]),axis=0)#axis=1,表示横向,对列进行操作,axis=0表示竖向操作,增加一行
df


目录
打赏
0
0
0
0
32
分享
相关文章
call 方法和 apply 方法的区别是什么?
【10月更文挑战第26天】`call` 方法和 `apply` 方法的主要区别在于参数传递方式和使用场景。开发者可以根据具体的函数参数情况和代码的可读性、简洁性要求来选择使用 `call` 方法还是 `apply` 方法,以实现更高效、更易读的JavaScript代码。
65 2
yaml基本语法和yaml数据格式,ymal对象写法,数组写法
yaml基本语法和yaml数据格式,ymal对象写法,数组写法
函数计算产品使用问题之yaml如果写多个function,可不可以yaml在构建的时候能构建多个函数
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
10月前
call()与apply()的作用与区别?
call()与apply()的作用与区别?
|
11月前
call()与apply()的作用与区别
call()与apply()的作用与区别
93 1
call函数和apply函数的区别
call函数和apply函数的区别
66 0
YAML+PyYAML笔记 3 | YAML集合、结构、标量、标记使用
YAML+PyYAML笔记 3 | YAML集合、结构、标量、标记使用
133 0
Kotlin作用域函数let、with、run、apply、also
Kotlin作用域函数let、with、run、apply、also
106 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等