gpt4 book ai didi

python - 加入 3 个数据框时遇到问题 - pyspark

转载 作者:行者123 更新时间:2023-12-05 00:40:26 24 4
gpt4 key购买 nike

我有三个数据框,加入它们时出现错误。以下是 3 个数据框:

名称:r_df第 1 列:lab_key第 2 列:帧

名称:f_df第 1 列:lab_key第 2 列:光学

名称:m_df第 1 列:lab_key第 2 列:水库

所有三个数据帧都有相同的 250 行,每个数据帧都有相同的 lab_keys。

我的代码如下所示:

newDF = r_df.join(f_df, r_df.lab_key == f_df.lab_key).join(m_df, r_df.lab_key == m_df.lab_key).select('r_df.frame', 'f_df.optic', 'm_df.res')

我收到一个错误:

Py4JJavaError:调用 o902.join 时出错。: org.apache.spark.sql.AnalysisException: 引用 'lab_key' 不明确,可能是:lab_key#1648, lab_key#1954.;

对于可能出现的问题不是很有帮助。我正在尝试获取一个包含以下列的数据框:

第 1 列:lab_key
第 2 栏:框架
第 3 栏:光学
第四栏:水库

你能帮我加入这三个数据框吗?

最佳答案

这是因为在第一次连接后创建的 pyspark 数据框有两列具有完全相同的列名。

r_df.join(f_df, ["lab_key"]).join(m_df, ["lab_key"])

如果您要加入的键相同,则无需专门从数据框中引用该列,只需将名称指定为数组即可。这将告诉 Pyspark 在最终数据框中只创建一个具有该名称的列

关于python - 加入 3 个数据框时遇到问题 - pyspark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48738354/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com