1

我正在尝试在数据code框中存在的列值上加入两个数据框,如下所示name_data

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

我在databricks上使用考拉,我有以下代码使用连接操作。

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'].

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

4

1 回答 1

1

尝试添加后缀参数:

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)

                                                                     
于 2022-02-15T18:07:02.160 回答