[英]Scala DataFrame, copy value of non null column into a new column
我有一個 Scala DataFrame 並想向它添加一個新列,使其值基於非空的兩列中的任何一列。 例如,在下表中,col1 和 col2 是我想要添加新列的列,如果 col1 為空,那么新列的值來自 col2,反之亦然。 col1 和 col2 之一將始終具有非空值。 我只需要在 Scala 中執行此操作而不使用 SQL。 提前感謝您的任何幫助。
<table><tbody><tr><th>Col1</th><th>Col2</th><th>Col3</th></tr><tr><td>11</td><td>null</td><td>Value13</td></tr><tr><td>null</td><td>22</td><td>Value23</td></tr><tr><td>32</td><td>32</td><td>Value33</td></tr></tbody></table>
這是我可以嘗試的最好的方法,但它不起作用。
df.withColumn("Col", df.Col1.isNull() ? df.Col2: df.Col1)
嘗試使用when
函數:
df.withColumn("Col", when(col("Col1").isNull(), col("Col2")).otherwise(col("Col1")))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.