dataframe - 通过 [PySpark] 列连接两个 DataFrame

标签 dataframe merge pyspark concatenation

我有两列,即(每列的条目数相同)

df1 =
+-------+
| col1  |
+-------+
|   10  |
+-------+
|   3   |
+-------+
...
df2 = 
+-------+
| col2  |
+-------+
|   6   |
+-------+
|   1   |
+-------+
...

我希望合并它们,使最终的 DataFrame 具有以下形状:

df3 =
+-------+-------+
| col1  | col2  |
+-------+-------+
| 10    | 6     |
+-------+-------+
| 3     | 1     |
+-------+-------+
...

但我无法使用 join 方法这样做,因为我没有尝试根据列标题合并列。如果有人对如何轻松实现这一点有任何提示,那将非常有帮助!

最佳答案

如果您能够将列作为列表获取,一种方法是使用 python zip 方法。例如:

list1 = [1,2,3]
list2 = ['foo','baz','bar']
data_tuples = list(zip(list1,list2))
df = spark.createDataFrame(data_tuples)
df.show()

+---+---+
| _1| _2|
+---+---+
|  1|foo|
|  2|baz|
|  3|bar|
+---+---+

但是我不确定它在大数据集上的表现如何。

关于dataframe - 通过 [PySpark] 列连接两个 DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46577476/

相关文章:

python - 将 numpy 数组存储在 pandas 数据框的多个单元格中(Python)

r - 用数据框合并填充 NA

php - 对具有相同列值的行进行分组

python - 像 pyspark 的 jar 一样打包

r - 将数据帧转换为列表,同时通过键值对进行分组

python - 在 Pandas 中查找数字列名称

r - 使用 R 根据现有数据框进行计算创建新数据框

python - 将 Python 中的 CSV 与不同的列合并

python - pyLDAvis可视化pyspark生成的LDA模型

pandas - PySpark 数据帧 Pandas UDF 返回空数据帧