pandas如何实现sql里casewhen的效果
时间: 2023-05-28 20:01:45 浏览: 106
SQL__case_when_then_的用法
在pandas中可以使用numpy的where函数实现类似于SQL中的casewhen效果。
例如,假设有以下数据表df:
```
import pandas as pd
df = pd.DataFrame({'A': [-1, 2, 3, 4], 'B': [30, 40, 50, 60]})
print(df)
```
输出:
```
A B
0 -1 30
1 2 40
2 3 50
3 4 60
```
现在要为A列创建一个新的列C,根据A列的值来判断,如果A>0,C列的值为B列的值的2倍,否则为B列的值的3倍。
可以使用numpy的where函数实现:
```
import numpy as np
df['C'] = np.where(df['A']>0, df['B']*2, df['B']*3)
print(df)
```
输出:
```
A B C
0 -1 30 90
1 2 40 80
2 3 50 100
3 4 60 120
```
以上就是在pandas中实现类似于SQL中casewhen的效果的方法。
阅读全文