Как сравнить два фрейма данных и создать новый для тех записей, которые одинаковы для двух столбцов в одной строке - PullRequest
0 голосов
/ 07 мая 2019

Я пытался сравнить два фрейма данных, создавая новые фреймы с теми же записями в двух столбцах. Я думал, что взломал его, но код, который у меня сейчас есть, просто просматривает два интересующих столбца, и если строка находится где-либо в этом столбце, он считает ее совпадающей. Мне нужно, чтобы две строки были общими в одной строке по столбцам. Пример кода приведен ниже.

#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 Ответ

1 голос
/ 07 мая 2019

вы можете использовать метод слияния панд

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...