PySpark:根据条件替换数据帧的值

时间:2017-10-16 16:13:53

标签: python pyspark

我有一个数据框如下所示

+++++++++++++++++++++
colA | colB | colC |
+++++++++++++++++++++
123  | 3 | 0|
222  | 0 | 1|
200  | 0 | 2|

我想将colBcolC中的值替换为值1,如果它们大于0。

如果我需要用0填充空值,我可以使用na.fill函数。但是我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

假设您的数据框是df,那么您可以执行以下操作:

from pyspark.sql.functions import when  

df = df.select('colA', 
                   when(df.colB > 0, 1).alias('colB'),
                   when(df.colB > 0, 1).alias('colC'))

检查colB和colC是否大于0并指定1.