如何比较两个数据框并为同一行中两列相同的条目创建一个新的

时间:2019-05-07 12:11:08

标签: python pandas dataframe

我一直在尝试比较两个数据框,为在两列中具有相同条目的数据框创建新的数据框。我以为我已经破解了,但是我现在的代码只是查看感兴趣的两列,如果在该列中的任何位置都找到了字符串,则认为它是匹配的。我需要两个字符串在各列的同一行上是相同的。代码示例如下。

#produce table with common items

    vto_in_jeff = df_vto[(df_vto['source'].isin(df_jeff['source']) & df_vto['target'].isin(df_jeff['target']))].dropna().reset_index(drop=True)
    #vto_in_jeff.index = vto_in_jeff.index + 1  
    vto_in_jeff['compare'] = 'Common_terms'
    print(vto_in_jeff)
    vto_in_jeff.to_csv(output_path+'vto_in_'+f+'.csv', index=False)

因此,此代码带有一个表,该表具有包含源字符串和目标字符串的行的列表,但是没有必要将源字符串和目标字符串显示在同一行中。谁能帮助我逐行显示?

1 个答案:

答案 0 :(得分:1)

您可以使用熊猫合并方法

result = pd.merge(df1, df2, on='key')

更多详细信息: https://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html#brief-primer-on-merge-methods-relational-algebra