【发布时间】:2018-02-12 01:25:07
【问题描述】:
我有三个数据框,加入它们时出现错误。以下是 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 列:光学
第四栏:水库
你能帮我加入这三个数据框吗?
【问题讨论】:
-
Python 中没有
===运算符。我不相信您也正确使用了join。在我看来像 R。 -
好吧,我的错。我删除了多余的=。现在我得到以下信息:Py4JJavaError:调用 o902.join 时发生错误。 :org.apache.spark.sql.AnalysisException:引用'lab_key'不明确,可能是:lab_key#1648,lab_key#1954.;