繁体   English   中英

Apache Spark中的多个withColumn错误

[英]Error With Multiple withColumn in Apache Spark

这行代码无法按我认为的方式工作:

val df2 = df1
  .withColumn("email_age", when('age_of_email <= 60, 1))
  .withColumn("email_age", when('age_of_email <= 120, 2))
  .withColumn("email_age", when('age_of_email <= 180, 3).otherwise(4))

我在df1中有数千行,其中age_of_email小于60和/或小于120,但是我所有的行都被归类为34

为什么会发生这种情况的任何见解?

正如人们在评论中所说,将withColumn与数据withColumn存在的列名一起使用将替换该列。

我认为,对于您想要实现的目标,您可以为每种分类使用不同的列名称,或者只是将when()合并到单个列中,例如

val df2 = df1.withColumn("email_age", when('age_of_email <= 60, 1)
                                     .when('age_of_email <= 120, 2)
                                     .when('age_of_email <= 180, 3)
                                     .otherwise(4))

我想您知道类别是类别3子集

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM