Я пытаюсь сгруппировать все дочерние и дочерние объекты (прямые или косвенные), связанные с root идентификатором узла (root - это тот, который был создан первым на основе даты)
Первые данные могут генерироваться здесь:
data = [['tom', 'hanks', '2020-01-02 08: 21: 50.617', 'A198'], ['tommy', 'hanks', ' 2020-01-02 06: 21: 50.617 ',' A125 '], [' tami ',' robert ',' 2020-01-02 05: 21: 50.617 ',' A456 '], [' robby ',' jones ',' 2020-01-03 10: 21: 50.617 ',' A566 '], [' robo ',' martin ',' 2020-01-03 07: 21: 50.617 ',' A778 '], [' tobi ',' profet ',' 2020-01-03 11: 21: 50.617 ',' A454 '], [' amber ',' serra ',' 2020-01-02 04: 21: 50.617 ',' A444 ' ], ['amana', 'kordos', '2020-01-02 04: 21: 50.617', 'A387'], ['amberosa', 'maria', '2020-01-02 04: 21: 50.617' , 'A777']]
df = pd.DataFrame (данные, столбцы = ['First_name', 'Last_Name', 'Date_of_transaction', 'id'])
df ['Date_of_transaction '] = pd.to_datetime (df [' Date_of_transaction '], формат ='% Y-% m-% d% H:% M:% S.% f ')
df = df.sort_values ( by = ['Date_of_transaction'])
df = df.re set_index (drop = True) df
![df](https://i.stack.imgur.com/vwxts.png)
Другой фрейм данных имеет левый и правый индекс с вероятностью совпадения
prob = [[1 , 3,0.88], [1,4,0.82], [3,2,0.86], [5,2,0.85], [6,7,0.86], [9,7,0,86]] prob_df = pd. DataFrame (prob, columns = ['left_index', 'right_index', 'вероятность']) prob_df
![prob_df](https://i.stack.imgur.com/paqht.png)
В этом примере 1 связано с 3 и 4. 3 дополнительно связан с 2, а 2 связан с 5., поэтому я хочу создать новый фрейм данных, который будет иметь оригинальный df с новым столбцом 'New_unique_ID'
![needed_Result_df](https://i.stack.imgur.com/I8tjX.png)