У меня есть следующий фрейм данных со столбцом Child
и столбцом Parents
:
import pandas as pd
df = pd.DataFrame({'Child': ['A1', 'A2', 'A3', 'A1', 'A1', 'A4', 'A2', 'A3'],
'Parent': ['B1', 'B2', 'A2', 'B3', 'A4', 'B4', 'B5', 'B6']})
df
Child Parent
0 A1 B1
1 A2 B2
2 A3 A2
3 A1 B3
4 A1 A4
5 A4 B4
6 A2 B5
7 A3 B6
Есть дубликаты children
, и некоторые из них появляются в столбце parent
.Я хотел бы знать конечных родителей.Этот вопрос похож на этот , но с дубликатами в столбце Child
.Вывод, который я хотел бы получить, выглядит примерно так:
Child Links Ult_Parents
0 A1 (A1 - B1, A1 - B3, A1 - A4 - B4) (B1, B3, B4)
1 A2 (A2 - B2, A2 - B5) (B2, B5)
2 A3 (A3 - A2 - B2, A3 - A2 - B5, A3 - B6) (B2, B5, B6)
3 A4 (A4 - B4) (B4)
A1 имеет четких родителей B1 и B3, но также и B4, поскольку он связан с A4.А2 имеет просто В2 и В5.Я заинтересован в связях между ними, но в основном о конечных родителях.