如何将两列合并到新的DataFrame中?

马库斯

我有两个DataFrame(Spark 2.2.0和Scala 2.11.8)。第一个DataFramedf1有一个称为的列col1,第二个DataFrame也有一个称为的df2col2两个数据帧中的行数相等。

如何将这两列合并到新的DataFrame中?

我尝试过join,但是我认为应该有其他方法可以做到。

另外,我尝试应用withColumm,但无法编译。

val result = df1.withColumn(col("col2"), df2.col1)

更新:

例如:

df1 = 
col1
1
2
3

df2 = 
col2
4
5
6

result = 
col1  col2
1     4
2     5
3     6
滴滴

如果这两列之间没有实际关系,则听起来您需要并运算符,该运算符将只返回这两个数据帧的并集:

var df1 = Seq("a", "b", "c").toDF("one")
var df2 = Seq("d", "e", "f").toDF("two")

df1.union(df2).show

+---+ 
|one| 
+---+ 
| a | 
| b | 
| c | 
| d | 
| e | 
| f | 
+---+

[edit]现在您已经清楚地表明只需要两列,然后使用DataFrames,可以使用技巧,通过函数monotonically_increasing_id()添加行索引并加入该索引值:

import org.apache.spark.sql.functions.monotonically_increasing_id

var df1 = Seq("a", "b", "c").toDF("one")
var df2 = Seq("d", "e", "f").toDF("two")

df1.withColumn("id", monotonically_increasing_id())
    .join(df2.withColumn("id", monotonically_increasing_id()), Seq("id"))
    .drop("id")
    .show

+---+---+ 
|one|two|
+---+---+ 
| a | d | 
| b | e | 
| c | f |
+---+---+

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将DataFrame的列的非空条目合并到新列中?

如何将列表的两个列表合并到python中的pandas DataFrame中?

如何将两个数据帧中的两列合并到新数据帧(熊猫)的一列中?

如何将包含数字的两列合并到日期列中?

如何将某个组的字符合并到r中的新列中

如何将两个选定的列合并到一个表中?

如何将查询结果合并到新表的列中

如何将按列和按行的DataFrame合并到一维数组中?

如何将具有不同信息或NaN的DataFrame中的两个重复行合并到单个行中?

如何将两个Firebase集合合并到一个新的对象数组中

如何将两个 SQL 表的数据合并到一个新的 SQL 表中?

如何将csv文件中的日期和时间的两列合并到pandas中的1 datetime列?

如何将两个sql表中的行和列合并到一个表中

Postgres-如何将两个单独查询的结果合并到同一列中

将两个DataTable列中的值合并到一个新列中

熊猫数据框:如何将 1 和 0 的列合并到新列

将两列与字符串合并到一个新列中

如何将列表中的元素合并到新的嵌套列表中?

如何将多个dict中的数据合并到DataFrame中的单个行中

如何将新数据合并到旧数组?

如何将 Pandas DataFrame 中的数据与多索引合并到一个列表中

如何将具有大矩阵的两个向量合并到数据帧中?

如何将两个数组合并到字典中?

如何将两个列表统一合并到字典中

如何将两个表列合并到SQL Server中的一个表

如何将两个不同的查询合并到一个表中?

如何将两个查询合并到一个子查询中

如何将两个音轨合并到AVI文件中?

如何将两个单独的列表合并到对象列表中