У меня есть два фрейма данных df1 и df2, которые, как мне говорят, разделяют некоторые строки. То есть для некоторых индексов (i, j) _n df1.loc [i] == df2.loc [j] точно. Я бы хотел найти эту корреспонденцию., определяющий, какие строки присутствуют в другом фрейме данных
Это была сложная проблема для отслеживания. Я не хочу «вручную» запрашивать каждый столбец для каждой из строк, поэтому я искал что-то более чистое.
Это лучшее, что у меня есть, но это не быстро. Я надеюсь, что какой-то гуру может указать мне в правильном направлении.
matching_idx=[]
for ix in df1.index:
match =df1.loc[ix:ix].to_dict(orient='list')
matching_idx.append(df2.isin(match).all(axis=1) )
Было бы здорово избавиться от цикла for, но я не уверен, что это возможно.
Я считаю, PYOak имеет вы бьете в простоте – user3391229
Но вы теряете индекс местоположение строки, содержащей дубликат. Обратите внимание, что первый пример индексируется в '1', расположение дупа в' df1'. Второй пример проиндексирован на '0', расположение дубликата в' df2' – Alexander
Аг вы правы. Я даю вам правильный ответ, чтобы дать лучший ответ на этот вопрос, хотя я реализую решение PYOak. – user3391229