首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向dataframe scala添加多个列

向dataframe scala添加多个列
EN

Stack Overflow用户
提问于 2021-07-28 02:15:15
回答 1查看 39关注 0票数 0

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

现有的DF如下所示

代码语言:javascript
复制
c1 c2 c3 c4

应该将100列添加到c2之后,以便输出如下所示

代码语言:javascript
复制
c1 c2 c5 c6 c7 c8 c9 ...... c100 c3 c4

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

有没有更好的方法来做这件事?

提亚

EN

回答 1

Stack Overflow用户

发布于 2021-07-27 18:41:41

使用select。由于列太多,withColumn方法的效率较低。

代码语言:javascript
复制
val midCols: Seq[Column] = ...
df.select(Seq(c1, c2) ++ midCols ++ Seq(c3, c4):_*)

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

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

代码语言:javascript
复制
val colsToAdd: Seq[Column] = Seq('a * 2 as "next_a", split('b) as "b_arr")

鉴于命名/别名已经包含在定义中,当您选择它们时,它们将具有所需的名称。这样你就不必处理重命名问题了。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68549945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档