Pyspark 中这个操作的等价物是什么?
import pandas as pd
import numpy as np
df = pd.DataFrame({'Type':list('ABBC'), 'Set':list('ZZXY')})
df['color'] = np.where(df['Set']=='Z', 'green', 'red')
print(df)
Run Code Online (Sandbox Code Playgroud)
输出
Set Type color
0 Z A green
1 Z B green
2 X B red
3 Y C red
Run Code Online (Sandbox Code Playgroud)
pau*_*ult 11
您正在寻找pyspark.sql.functions.when():
from pyspark.sql.functions import when, col
df = df.withColumn('color', when(col('Set') == 'Z', 'green').otherwise('red'))
df.show()
#+---+----+-----+
#|Set|Type|color|
#+---+----+-----+
#| Z| A|green|
#| Z| B|green|
#| X| B| red|
#| Y| C| red|
#+---+----+-----+
Run Code Online (Sandbox Code Playgroud)
如果您有多个条件需要检查,您可以将调用链接在一起,when()如本答案所示。
| 归档时间: |
|
| 查看次数: |
3521 次 |
| 最近记录: |