我想知道是否可以更改数据框中列的位置,实际上是更改架构?
准确地说,如果我有像 [field1, field2, field3]
这样的数据框, 我想得到 [field1, field3, field2]
.
我不能放任何一段代码。
让我们想象一下,我们正在处理一个包含 100 列的数据框,经过一些连接和转换后,其中一些列与目标表的架构错位了。
如何移动一列或几列,即:如何更改架构?
最佳答案
您可以获取列名,根据需要对它们重新排序,然后使用 select
在原始 DataFrame 上以这个新顺序获得一个新的:
val columns: Array[String] = dataFrame.columns
val reorderedColumnNames: Array[String] = ??? // do the reordering you want
val result: DataFrame = dataFrame.select(reorderedColumnNames.head, reorderedColumnNames.tail: _*)
关于scala - 如何更改 Spark 数据框中的列位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38104600/