У меня есть фрейм данных в этом формате
| id | account | address |
|----|---------|---------|
| 1 | acc1 | add1 |
| 2 | acc1 | add2 |
| 3 | acc2 | add2 |
| 4 | acc3 | add3 |
| 5 | acc1 | add4 |
| 6 | acc4 | add5 |
| 7 | acc2 | add6 |
| 8 | acc5 | add7 |
| 9 | acc6 | add4 |
| 10 | acc7 | add8 |
| 11 | acc8 | add9 |
| 12 | acc2 | add10 |
| 13 | acc3 | add11 |
| 14 | acc9 | add12 |
Теперь я хочу создать групповой индекс, в котором я хочу найти группы, в которых учетная запись или адрес уже является частью группы.Примерно так:
| id | account | address | group_index |
|----|---------|---------|-------------|
| 1 | acc1 | add1 | group1 |
| 2 | acc1 | add2 | group1 |
| 3 | acc2 | add2 | group1 |
| 4 | acc3 | add3 | group2 |
| 5 | acc1 | add4 | group1 |
| 6 | acc4 | add5 | group3 |
| 7 | acc2 | add6 | group1 |
| 8 | acc5 | add7 | group4 |
| 9 | acc6 | add4 | group1 |
| 10 | acc7 | add8 | group5 |
| 11 | acc8 | add9 | group6 |
| 12 | acc2 | add10 | group7 |
| 13 | acc3 | add11 | group2 |
| 14 | acc9 | add12 | group8 |
Итак, сначала я начну с id (1) = (acc1, add1) и назначу групповой индекс, скажем group1 .Тогда id (2) есть (acc1, add2);поскольку acc1 уже является частью group1 , я назначаю этот идентификатор (2) также для group1 .Тогда id (3) есть (acc2, add2);Поскольку add2 уже является частью group1 (из предыдущего назначения), я назначаю id (3) также для group1 .
Аналогично, яхотите создать группы, в которых, если учетная запись или адрес уже есть в группе, все идентификаторы, в которых указана учетная запись или адрес, должны быть частью одной группы.