这行代码的工作方式与我想象的不同:
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,但我的所有行都被归类为3或4:
你知道为什么会这样吗?
1条答案
按热度按时间j5fpnvbx1#
正如人们在评论中所说,使用
withColumn
如果列名称已在Dataframe中,则将替换该列。我认为,为了实现这个目标,您可以为每个分类使用不同的列名,或者简单地将
when()
在单列中,如我猜你知道类别是类别的子集
3