首页 > 其他分享 >(数据科学学习手札157)pandas新增case_when方法

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

时间:2024-01-27 11:22:41浏览次数:21  
标签:case 157 Series when 条件 方法 pandas

本文示例代码已上传至我的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

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


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

标签:case,157,Series,when,条件,方法,pandas
From: https://www.cnblogs.com/feffery/p/17991230

相关文章

  • 结构化命令case和for、while循环
    1、case流程控制语句case是一种流程控制语句,通常用于根据不同的条件值执行不同的代码块。它的语法如下:caseexpressionin pattern1)    #在匹配pattern1时执行的代码   ;; pattern2)    #在匹配pattern2时执行的代码   ......
  • WHEN NOT MATCHED THEN语句在oracle中的用法
    WHENNOTMATCHEDTHEN这是一个在某些数据库系统(如Oracle)中使用的特殊子句,用于处理左连接中的"未匹配"情况。当左连接的条件不满足时,这部分的代码会执行。在这种情况下,如果O.DCSHYBH的值在L中没有匹配项,那么将插入一个NULL值或默认值。总的来说,这段代码执行了一个左连接操作,并根......
  • Discarded invalid param(s) "xxx" when navigating.路由params传值报错
    从VueRouter的2022-8-22更新后,无法使用name+params的方式进行传递,官方给出的说法是所以我采用了HistoryAPI的模式A组件import{useRouter}from"vue-router"letrouter=useRouter()constparams={title:'标题'}functiontoRouter(){router.push({name:......
  • 关于SQL-case when最全面的学习笔记
    原文zhuanlan.zhihu.com/p/110198759?from_voters_page=truecasewhen推荐学习书籍:1、SQL基础教程6-32、SQL进阶教程1-1casewhen是SQL语法中提供的标准的条件分支。条件分支在MYSQL中即为IF函数,不同的数据库都会提供自己的一些函数,但是CASEWHEN更加通用。CASE语句......
  • HDU2966 In case of failure 题解
    QuestionHDU2966Incaseoffailure给出平面上\(n\)个点坐标,求每个点最近的点的欧几里得距离的平方Solution算是一道K-D树的板子题维度\(K=2\)建立\(K-D\)树,在每一层更新当前最小答案\(now\_ans\),如果在然后继续遍历当前维度下距离\(\le\)的区块随机数据时间复......
  • Go - Pad a number with zeros when printing
     funcmain(){counter:=0varstrstringfor_,i:=range[]byte("foobar"){letterBin:=fmt.Sprintf("%08b",i)fmt.Println(letterBin)str=str+letterBincounter=counter+len(lett......
  • Redis - Sorted Set Use Cases
         ......
  • Redis - Set Use Cases
          ......
  • Redis - Use case of GETRANGE, SETRANGE, MGET, MSET
            ......
  • Redis - Use case of expiration options
        Automaticallydeletingthecachedkey: ......