我想根据条件从现有数据框中创建一个新的数据框。
df1 =>
id1 id2
11 i
11 k
20 l
20 m
20 n
31 k
31 j
如果df1中的id2按字母顺序大于k,则新数据帧df2应该如下所示:
df2 =>
id1 id2
11 0
20 1
31 0
答案 0 :(得分:0)
使用F.when
:
df.withColumn("id2", F.when(col("id2")>"k", 1).otherwise(0)).show()
+---+---+
|id1|id2|
+---+---+
| 11| 0|
| 11| 0|
| 20| 1|
| 20| 1|
| 20| 1|
| 31| 0|
| 31| 0|
+---+---+
.distinct()
,如果您要删除。