将多列添加到数据框scala

我有一个条件,我必须添加 100 列(到现有的 DF)

现有的DF是这样的

c1 c2 c3 c4

应该在 100 列之后添加,c2以便输出看起来像这样

c1 c2 c5 c6 c7 c8 c9 ...... c100 c3 c4

我使用.withColumn来添加列并使用它们按顺序排列.select

有一个更好的方法吗?

TIA

回答

使用选择。对于withColumn很多列,该方法的效率会降低。

val midCols: Seq[Column] = ...
df.select(Seq(c1, c2) ++ midCols ++ Seq(c3, c4):_*)

这样,数据集的新版本是在单个转换中创建的。

对于阅读本文的其他人来说,很好的信息是您可以使用该模式来构造和添加复杂的列表达式。

val colsToAdd: Seq[Column] = Seq('a * 2 as "next_a", split('b) as "b_arr")

鉴于命名/别名已经在定义中,当您选择它们​​时,它们将具有预期的名称。这样你就不必在之后处理重命名。


以上是将多列添加到数据框scala的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>