0

我有两个数据框,如下所示。

import databricks.koalas as ks

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

my_data = ks.DataFrame({'code':['123a', '12a', '678c'],
        'id':[7, 8, 9], 'stype':['A', 'E', '5']})

这两个数据框有一个名为的列code,我想检查列code中存在my_data和也存在于的列中的值,input_data并将它们存储在名为的结果数据框中output。数据框将output仅包含codeinput_data 中存在的列值。每个数据框中的列数可能不同,我只是在这里展示了一个示例

根据output此问题中提供的示例,数据框将具有如下结果。

display(output)

# Result is below
 Code    id 
'123a'   7

我在网上找到了主要使用 for 循环的解决方案,但我想知道是否有更有效的方法来解决这个问题。

谢谢你们!

4

1 回答 1

0

可以尝试在两个数据帧上使用内部合并,然后在新数据帧上,只保留你想要的一列。

例如,

df_new = my_data.merge(input_data, on='code')
df_new = df_new[['code', 'id']]
于 2022-02-16T21:55:17.523 回答