识别树木中的生父母和所有子女

识别树木中的生父母和所有子女,第1张

识别树木中的生父母和所有子女

我建议您使用networkx,因为这是一个图形问题。特别是后代函数:

import networkx as nximport pandas as pddata = [['A', 'B', 0, 1],        ['B', 'C', 1, 2],        ['B', 'D', 1, 2],        ['X', 'Y', 0, 2],        ['X', 'D', 0, 2],        ['Y', 'Z', 2, 3]]df = pd.Dataframe(data=data, columns=['parent', 'child', 'parent_level', 'child_level'])roots = df.parent[df.parent_level.eq(0)].unique()dg = nx.from_pandas_edgelist(df, source='parent', target='child', create_using=nx.DiGraph)result = pd.Dataframe(data=[[root, nx.descendants(dg, root)] for root in roots], columns=['root', 'children'])print(result)

输出量

  root   children0    A  {D, B, C}1    X  {Z, Y, D}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5631952.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存