(数据科学学习手札157)pandas新增case_when方法

本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes

1 简介

大家好我是费老师,pandas在前不久更新的2.2版本中,针对Series对象新增了case_when()方法,用于实现类似SQL中经典的CASE WHEN语句功能,今天的文章中,我们就来get其具体使用方法~

2 pandas中的case_when()新方法

首先请确保你的pandas版本大于等于2.2,在确保Python版本大于等于3.9的前提下,终端执行下列命令安装最新版本的pandas

bash 复制代码
pip install pandas -U

2.1 case_when()的使用

case_when()作为Series对象的方法,其参数非常简单只有一个caselist,用于定义条件映射规则,格式如[(条件1, 替代值1), (条件2, 替代值2), ...],最基础的用法下,每个条件为与目标Series长度相等的bool值序列,譬如下面的例子:

更灵活的方式,是将条件写作可执行函数,譬如lambda函数,进而引用自身实现灵活的条件判断:

函数式条件,在针对数据框进行链式分析 的过程中,可以很灵活的基于上一步的临时计算状态,进行条件赋值操作,譬如(示例数据及代码见文章开头仓库地址):

更多有关case_when()方法的介绍,请移步官方文档:https://pandas.pydata.org/docs/reference/api/pandas.Series.case_when.html


以上就是本文的全部内容,欢迎在评论区与我进行讨论~

相关推荐
2501_941111344 分钟前
实战:用OpenCV和Python进行人脸识别
jvm·数据库·python
ada7_4 分钟前
LeetCode(python)——73.矩阵置零
python·算法·leetcode·矩阵
程序员爱钓鱼16 分钟前
Python编程实战:用好 pdb 和 logging,程序再也不黑箱运行了
后端·python·trae
程序员爱钓鱼17 分钟前
Python编程实战:从 timeit 到 cProfile,一次搞懂代码为什么慢
后端·python·trae
2501_9411115125 分钟前
Python多线程与多进程:如何选择?(GIL全局解释器锁详解)
jvm·数据库·python
2501_9411113332 分钟前
使用Python处理计算机图形学(PIL/Pillow)
jvm·数据库·python
小小测试开发1 小时前
Python数据科学与图像处理利器组合:Prophet、Arch、Scikit-image、Pillow-heif用法全解析
图像处理·python·pillow
2501_941111371 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
2501_941111344 小时前
Python上下文管理器(with语句)的原理与实践
jvm·数据库·python
晨非辰4 小时前
【数据结构初阶系列】归并排序全透视:从算法原理全分析到源码实战应用
运维·c语言·数据结构·c++·人工智能·python·深度学习