Ввод - фрейм данных с более чем 50k строк.
Ожидаемый результат: найти уникальные идентификаторы по нескольким столбцам.
Например, есть фрейм данных:
id par1 par2 par3
1 a 1 AA
2 b 2 AB
3 c 3 AC
4 a 4 AD
5 d 3 AE
6 e 5 AD
7 d 1 AF
Таким образом, логика заключается в том, что если у какой-либо строки есть общий параметр, то естьтот же уникальный идентификатор, результат должен быть примерно таким, сделанным итерациями: сначала пар1:
id par1 par2 par3 uniq_id
1 a 1 AA 1
2 b 2 AB 2
3 c 3 AC 3
4 a 4 AD 1
5 d 3 AE 4
6 e 5 AD 5
7 d 1 AF 4
затем пар2:
id par1 par2 par3 uniq_id
1 a 1 AA 1
2 b 2 AB 2
3 c 3 AC 3
4 a 4 AD 1
5 d 3 AE 3
6 e 5 AD 5
7 d 1 AF 1
затем пар3:
id par1 par2 par3 uniq_id
1 a 1 AA 1
2 b 2 AB 2
3 c 3 AC 3
4 a 4 AD 1
5 d 3 AE 3
6 e 5 AD 1
7 d 1 AF 1
Затем следует проверить, есть ли еще какие-либо заблуждения: например, id=5
и id=3
должны получить uniq_id = 1
, потому что -id = 7 is
uniq_id = 1 and
id = 7 share
par1 with
id = 5 , and because of that
id = 3` также меняется.
Надеюсь, понятно, что я пытаюсь объяснить. На данный момент единственное рабочее решение, созданное мной, - создание multiple for
циклов и сравнение значений вручную, но поскольку существует множество наблюдений, выполнение может занять вечность.