使用考拉将 name_data 数据框中特定列中存在的值的两个数据框连接起来

Join two dataframes on the values present in a specific column in the name_data dataframe using koalas

我正在尝试在 name_data 数据帧中存在的 code 列值上连接两个数据帧,如下所示。

我有两个数据框如下所示,我希望得到一个结果数据框,它只包含来自`team_datadataframe where the correspondingcodevalue column is present in thename_data`的行`` 数据框。

我在数据块上为此使用考拉,我有以下使用连接操作的代码。

import databricks.koalas as ks

name_data= ks.DataFrame({'code':['123a', '345b', '678c'],
        'id':[1, 2, 3]})

team_data = ks.DataFrame({'code':['123a', '23s', '34a'],
        'id':[1, 2, 3]})

team_data_filtered = team_data.join(name_data.set_index('code'), on='code')

display(team_data_filtered)

预期的输出将是仅在 team_data_filtered.

中看到以下内容
Code    id
'123a'   1

但是我的代码抛出一个错误,指出 columns overlap but no suffix specified: ['id'].

有人可以帮助解决这个问题吗?

尝试添加后缀参数:

team_data_filtered = team_data.join(name_data.set_index('code'), on='code', 
                                                lsuffix='_1', rsuffix='_2')
team_data_filtered = team_data_filtered.loc[team_data_filtered.id_1==team_data_filtered.id2]
display(team_data_filtered)   

然后根据需要清理列:

team_data_filtered.rename({'id_1':'id'}, inplace=True, axis=1)