У меня есть следующий фрейм данных:
df = pd.DataFrame()
df['id'] = [1, 1, 2, 2]
df['col1'] = [10, 10, 20, 20]
df['col2'] = [100, 200, 50, 50]
df['col3'] = [1, 2, 3, 4]
Цель
Из этого фрейма данных я хочу вернуть часть фрейма данных со значением в col1 может иметь несколько значений в col2 для определенного ID . В этом случае id '1' имеет значение в col1, равное 10, и 100 в col2. Поскольку id '1' также имеет значение 10 в col1 во второй строке, значение в col2 также должно быть 100. Это не относится к этому идентификатору, однако это относится к идентификатору '2'. Он должен работать в обоих направлениях, поэтому значения col1 и col2 должны просто соответствовать друг другу для идентификатора. Столбец 3 содержит другие значения, которые не важны для сопоставления, но должны быть включены в кадр данных.
Желаемый вывод
Часть кадра данных, где значения столбцов не соответствует .
df = pd.DataFrame()
df['id'] = [1, 1]
df['col1'] = [10, 10]
df['col2'] = [100, 200]
df['col3'] = [1, 2]