У меня есть два кадра данных:
df1:
| ID | PersonID | Sex |
|:--:|:--------:|:---:|
| 1 | 123 | M |
| 2 | 124 | F |
| 3 | 125 | F |
| 4 | 126 | F |
| 5 | 127 | M |
| 6 | 128 | M |
| 7 | 129 | F |
df2:
| ID | PersonID | Infected |
|:--:|:--------:|:--------:|
| 1 | 125 | True |
| 2 | 124 | False |
| 3 | 126 | False |
| 4 | 128 | True |
Я бы хотел сравнить идентификаторы лиц в обоих этих кадрах данных и вставить соответствующее значение Infected в df1 и False, если personID не совпадает. Вывод в идеале должен выглядеть следующим образом:
df1:
| ID | PersonID | Sex | Infected |
|:--:|:--------:|:---:|:--------:|
| 1 | 123 | M | False |
| 2 | 124 | F | False |
| 3 | 125 | F | True |
| 4 | 126 | F | False |
| 5 | 127 | M | False |
| 6 | 128 | M | True |
| 7 | 129 | F | False |
У меня есть цикл for, и он занимает слишком много времени и не очень читабелен. Есть ли эффективный способ сделать это? Спасибо!