2017-10-16 87 views
0

我具有低于PySpark:替换基于准则

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

一个数据帧为数据帧显示的值I要为1的值来代替colBcolC的值如果它们是大于0

我能够使用na.fill函数,如果我需要填充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分配

+0

感谢。这就是我一直在寻找的东西。 – Nivi

+0

好!如果你能接受那将是伟大的答案! – geopet

+0

我们是否需要导入一些使用'when'的库? – Nivi