使用Python的Pandas实现Case When语句。
时间: 2024-05-13 21:14:11 浏览: 13
在 Pandas 中,我们可以使用 `numpy.select()` 函数来实现类似于 SQL 中的 CASE WHEN 语句。
下面是一个示例代码,假设我们有一个 DataFrame,包含名为 `score` 的列,我们想要根据分数的不同范围进行分类:
```python
import pandas as pd
import numpy as np
# 创建示例 DataFrame
df = pd.DataFrame({'score': [85, 90, 70, 60, 50, 95]})
# CASE WHEN 语句
conditions = [
(df['score'] >= 90),
(df['score'] >= 80) & (df['score'] < 90),
(df['score'] >= 70) & (df['score'] < 80),
(df['score'] < 70)
]
values = ['A', 'B', 'C', 'D']
# 使用 numpy.select() 函数实现
df['grade'] = np.select(conditions, values)
print(df)
```
输出结果:
```
score grade
0 85 B
1 90 A
2 70 C
3 60 D
4 50 D
5 95 A
```
在上面的代码中,我们定义了四个条件,分别对应分数的不同范围,然后定义了对应的分类结果。接着,我们使用 `numpy.select()` 函数将条件和结果传递给 DataFrame 的新列 `grade`,最终得到了分类结果。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)