Я пытаюсь получить дочернюю и родительскую иерархию в новом столбце pandas. В настоящее время мой код выглядит так, но он ищет всех родителей, но должен искать тот, который находится в соответствующей строке.
Вот пример того, как это должно работать.Базовая таблица:
CHILD_ID
PARENT_ID
ITEM_1
ITEM_A
ITEM_2
ITEM_B
ITEM_A
ITEM_X
ITEM_A
ITEM_Y
ITEM_B
ITEM_Z
< /tbody>
Первая итерация
CHILD_ID
PARENT_ID
Иерархия
ITEM_1
ITEM_A
ITEM_1, ITEM_A
ITEM_2ITEM_B
ITEM_2, ITEM_B
ITEM_A
ITEM_X
ITEM_A, ITEM_X
ITEM_A
ITEM_Y
ITEM_A, ITEM_Y
ITEM_B
ITEM_Z
ITEM_B, ITEM_Z
Вторая итерация
CHILD_ID
PARENT_ID
Иерархия
ITEM_1
ITEM_A
ITEM_1, ITEM_A, ITEM_X
ITEM_1
ITEM_A
ITEM_1, ITEM_A, ITEM_Y
ITEM_2< /td>
ITEM_B
ITEM_2, ITEM_B, ITEM_Z
ITEM_A
ITEM_X
ITEM_A, ITEM_X
ITEM_A
ITEM_Y
ITEM_A, ITEM_Y
< tr>
ITEM_B
ITEM_Z
ITEM_B, ITEM_Z
Я изо всех сил пытаюсь добиться этого результата, вот мой код:
def get_parents(child_id):
list_of_parents = []
def dfs(child_id, parents_list):
parent_ids = df[df["child_id"] == child_id]["parent_id"].values
if len(parent_ids) == 0:
return
for parent_id in parent_ids:
if parent_id not in parents_list:
parents_list.append(parent_id)
dfs(parent_id, parents_list)
dfs(child_id, list_of_parents)
return list_of_parents
df["parent_hierarchy"] = df["child_id"].apply(get_parents)
Подробнее здесь: https://stackoverflow.com/questions/781 ... ing-pandas
Иерархия родительских дочерних путей в Python с использованием панд ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Есть ли примеры родительских/дочерних запросов с использованием Spring Data Opensearch?
Anonymous » » в форуме JAVA - 0 Ответы
- 19 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Сопоставление родительских и дочерних элементов Hibernate в проекте Spring Boot
Anonymous » » в форуме JAVA - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-