Сравнение двух панд данных разных размеров и поиск индекса строки с одинаковыми значениями - PullRequest
0 голосов
/ 03 мая 2019

Мне нужна помощь для сравнения двух панд данных.

У меня есть два кадра данных

Первый кадр данных -

df1 =
   a   b   c   d
0  1   1   1   1
1  0   1   0   1
2  0   0   0   1
3  1   1   1   1
4  1   0   1   0
5  1   1   1   0
6  0   0   1   0
7  0   1   0   1

и второй фрейм данных

df2 = 
   a   b   c   d
0  1   1   1   1
1  1   0   1   0
2  0   0   1   0

Я хочу найти индекс строки фрейма данных 1 (df1), вся строка которого совпадает со строками в фрейме данных 2 (df2). Мой ожидаемый результат будет

0
3
4
6

Порядок вышеупомянутого индекса не должен быть в порядке, все, что я хочу, это индекс dataframe 1 (df1)

Есть ли способ без использования цикла?

Спасибо

Tommy

1 Ответ

0 голосов
/ 03 мая 2019

Вы можете использовать merge

df1.merge(df2,indicator=True,how='left').loc[lambda x : x['_merge']=='both'].index
Out[459]: Int64Index([0, 3, 4, 6], dtype='int64')
...