apply函数的用法

简介: 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


目录
相关文章
DataFrame(12):数据转换——apply(),applymap()函数的使用(一)
DataFrame(12):数据转换——apply(),applymap()函数的使用(一)
DataFrame(12):数据转换——apply(),applymap()函数的使用(一)
|
数据处理 Python
Pandas数据处理 | apply() 函数用法指南!
本文介绍一下关于 Pandas 中 apply() 函数的几个常见用法,apply() 函数的自由度较高,可以直接对 Series 或者 DataFrame 中元素进行逐元素遍历操作,方便且高效,具有类似于 Numpy 的特性。
|
机器学习/深度学习 Python
pandas将dataframe列中的list转换为多列
在应用机器学习的过程中,很大一部分工作都是在做数据的处理,一个非常常见的场景就是将一个list序列的特征数据拆成多个单独的特征数据。
634 0
|
机器学习/深度学习 自然语言处理 并行计算
Self-Attention 原理与代码实现
Self-Attention 原理与代码实现
1648 0
|
3月前
|
人工智能 Linux 开发者
OpenCode AI编程Agent完整配置保姆级手册:阿里云通义千问、Ollama本地部署实战
OpenCode是一款终端优先、模型中立、本地优先开源AI编程Agent,区别于传统对话式AI代码工具。传统Chat类工具仅能完成一问一答,代码需要人工复制粘贴整合;OpenCode具备完整项目感知、任务自主规划、文件批量修改、终端命令执行、改动审查闭环能力,能够接收自然语言开发目标,全自动完成整套编码任务,真正实现“输入需求,AI写完代码”。产品开源生态数据显示,当前GitHub星标超17万,月度活跃开发者750万,支持75款以上大模型无缝切换,覆盖海外闭源模型、国内云大模型、本地离线模型三大类,适配国内开发者网络与合规需求。
1256 0
|
Python
分组和聚合DataFrame信息案例解析
分组和聚合DataFrame信息案例解析
319 1
|
Linux 虚拟化 数据安全/隐私保护
AlmaLinux 9.5 正式版发布 - RHEL 二进制兼容免费发行版
AlmaLinux 9.5 正式版发布 - RHEL 二进制兼容免费发行版
965 11
AlmaLinux 9.5 正式版发布 - RHEL 二进制兼容免费发行版
|
SQL HIVE 索引
Hive【Hive(五)函数-高级聚合函数、炸裂函数】
Hive【Hive(五)函数-高级聚合函数、炸裂函数】
|
关系型数据库 MySQL 分布式数据库
PolarDB MySQL多场景评测
本次评测将围绕指定场景中的灵活弹性和无感秒切展开,对于自选场景中的安全和DB+AI也进行了简单体验。
1465 3
PolarDB MySQL多场景评测
|
存储 移动开发 测试技术
在pandas中利用hdf5高效存储数据
在pandas中利用hdf5高效存储数据
839 3