A
|Key1|Key2|Gender|
|1234|5678|Male |
|1234|5678|Female|
|0000|1111|Male |
|0000|1111|Female|
B
|Key1|Key2|Number|
|1234|5678|100 |
|0000|1111|500 |
df = pd.merge (A, B, on = ['key1', 'key2'], how = 'external' ) производит ниже для слияния.
|Key1|Key2|Gender|Number|
|1234|5678|Male |100 |
|1234|5678|Female|100 |
|0000|1111|Male |500 |
|0000|1111|Female|500 |
Однако я ищу ниже, где строки 1 и 2 разделяют 100, строки 3 и 4 разделяют число 500. Это можно легко сделать с помощью excel, но как это сделать с помощью pandas.
|Key1|Key2|Gender|Number |
|1234|5678|Male |100, shared with row 2 |
|1234|5678|Female| |
|0000|1111|Male |500, shared with row 4 |
|0000|1111|Female| |
Обратите внимание, что в фактическом наборе данных есть более 10 столбцов, таких как столбец «Число», которые необходимо объединить.
* Извиняюсь, я исправил вышесказанное, хочу пояснить, что дубликатов нет, а только строки с одинаковыми общими ключами (key1 и key2)