【发布时间】:2020-10-12 07:24:58
【问题描述】:
我有一个 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)
【问题讨论】:
-
我在这里找到了答案:stackoverflow.com/questions/43853949/…
标签: scala dataframe apache-spark