创建一个布尔功能以检查两列是否相同

时间:2017-12-13 23:39:43

标签: scala apache-spark apache-spark-sql

我有一个数据框DF1,它有三个功能(列)a,b,c,所有StringType。我想从DF2创建一个包含两列的新数据框DF1

  1. 第a列
  2. 新列d,如果b=c则为1,否则为0
  3. 输入示例:

    a b c  
    A B B  
    B C A  
    D D D  
    

    通缉输出

    a d  
    A 1  
    B 0  
    D 1  
    

2 个答案:

答案 0 :(得分:2)

其他两列缺少的部分是drop

val df2 = df1.withColumn("d", col("b") === col("c")).drop("b").drop("c")
df2.show

这给了我们

+---+-----+
|  a|    d|
+---+-----+
|  A| true|
|  B|false|
|  D| true|
+---+-----+

答案 1 :(得分:0)

请使用此val df2=df1.withColumn("d",col("b") === col("c"))

这里WithColumn将在df2中添加新列。