Добавление строк из двух отдельных кадров данных pandas в один кадр данных на основе определенных условий - PullRequest
0 голосов
/ 03 октября 2019

У меня есть два кадра данных, и каждая строка в кадре данных1 (df1) может потенциально соответствовать строке в кадре данных2 (df2). Поэтому я хочу создать окончательный фрейм данных, который добавляет каждую строку df1, а под каждой строкой - строки из df2, имеющие соответствующие ячейки. Цель состоит в том, чтобы найти, сколько строк в df1 имеют кандидатов в df2, основываясь на соответствующих столбцах. Вот как это должно выглядеть:

dataframe1

1

dataframe2

2

окончательный кадр данных

final

Вот код, который я произвел. Он работает хорошо, но он слишком медленный:

for i, y in df1.iterrows():
    final = final.append(df1.loc[i])
    final = final.append(df2.loc[

        (df2.column1 == df2.loc[i, "column1"]) | 
        (df2.column2 == df2.loc[i, "column2"]) 

     ], sort = True)

Мне было интересно, есть ли более быстрый способ добавить строки из двух информационных фреймов в окончательный. Спасибо за любую помощь, она очень ценится!

1 Ответ

0 голосов
/ 04 октября 2019

Надеюсь, это поможет,

df_merged = pd.merge(df1,df2,how='inner',left_on=['Number'],right_on=['Number']) #merging both dataframes together
len(df_merged) #getting number of observations in the merged dataset
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...