pandas如何实现sql里casewhen的效果
时间: 2023-05-28 08:01:45 浏览: 95
SQL__case_when_then_的用法
在pandas中可以使用`.apply()`方法配合lambda表达式实现类似于SQL中的`CASE WHEN`语句的效果。
例如,假设我们有一个DataFrame `df`,其中有一个列`score`,我们想要根据这个列的值,为另一个列`grade`赋予不同的等级,可以使用如下代码:
```
df['grade'] = df['score'].apply(lambda x: 'A' if x >= 90 else 'B' if x >= 80 else 'C' if x >= 70 else 'D' if x >= 60 else 'E')
```
在这个例子中,我们使用了嵌套的`if...else`语句,对`score`列的值进行判断,并根据不同的范围为`grade`列赋予不同的等级。
需要注意的是,在使用`.apply()`方法时,要确保lambda表达式返回的结果类型与要赋值的列类型一致,否则可能会导致赋值失败。
阅读全文