PySpark(1.6.2)DataFrame列追加

时间:2017-09-10 04:10:13

标签: pyspark pyspark-sql

我有两个PySpark(1.6.2)数据框

df1 = spark.range(3).toDF("c1")
df2 = spark.range(5,8).toDF("c2")

如何创建简单列附加的第3个数据框(类似于' cbind'在R中)

我知道加入和UnionAll。不工作。

1 个答案:

答案 0 :(得分:0)

我不确定为什么你想要加入而没有至少一些参考?如果你想添加多个列,你应该使用withColumn - 我认为你正在尝试做一些不正确的事情。如果你真的想这样做

import pyspark.sql.functions as F
from pyspark.sql import Window
df1 = df1.select("c1",F.row_number().over(Window.orderBy("c1")).alias("dummy_id")) 
df2 = df2.select("c2",F.row_number().over(Window.orderBy("c2")).alias("dummy_id"))

df1.join(df2, "dummy_id").drop("dummy_id").show()

你想做什么 - 但我仍然相信你想要的不是最佳的。