apache-spark - 水平堆叠 Spark 数据帧 - 相当于 pandas concat 或 r cbind

标签 apache-spark dataframe

有没有办法附加一个 dataframe水平到另一个 - 假设两者都有相同的行数?

这相当于 pandas concat来自 axis=1 ;

result = pd.concat([df1, df4], axis=1) 

R cbind

最佳答案

不会有一个。与 Pandas 不同 DataFrame , 星火 DataFrame更像是一种关系,没有内在的秩序。

有一种已知模式,您可以在其中将数据转换为 RDD , zipWithIndex ( PySpark DataFrames - way to enumerate without converting to Pandas? ) 然后是 join使用索引字段,但它最终是一个反模式*。

* 如果我们不明确保证特定的顺序(并且谁知道在所有新花里胡哨的情况下会发生什么,例如基于成本的优化器和自定义优化器规则),那么它很容易变得脆弱,并以某种意想不到的方式悄无声息地失败。

关于apache-spark - 水平堆叠 Spark 数据帧 - 相当于 pandas concat 或 r cbind,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49763009/

相关文章:

apache-spark - 如何在Databricks中显示所有数据库中的所有表

sorting - 如何在 Spark DataFrame 上应用部分排序?

apache-spark - 从 Pandas udf 记录

python - 查找所有 Panda 数据帧的最小索引

python - 如何将嵌套列表作为新列添加到现有的 Pandas 数据框中

python - 使用其他列值的串联来过滤文本列上的 Pandas DataFrame

python - DataFrame - 值错误 : Unexpected tuple with StructType

r - 制作矩阵数字和名称顺序

python - 计算列表中存储的值出现的行数

security - 保护集群上的 Spark 作业