分配节点级别

时间:2018-10-26 06:59:09

标签: dataframe

我在这样的数据框中构造了一个博弈树(经济学):

节点-父节点

b-a

c-一个

d-b

e-b

f-b

g-c

h-d

即树中最上面的节点是a,它导致b和c。 tun中的b导致d,e,f和c导致g。最后节点d导致h。我想创建一个额外的列,告诉我该节点发生的级别,即,我想要这样的输出:

节点-父节点-级别

b-a-1

c-a-1

d-b-2

e-b-2

f-b-2

g-c-2

h-d-3

我该怎么做?

此外,如果数据没有组织并且是随机的,即行没有按照我所显示的方式进行排序(但是它始终具有有关特定节点的父节点的信息),这是解决问题的一种方法同样的问题,并分配节点的级别?

我知道这可能非常简单,但是我是Python的新手,我不知道该如何专门搜索。

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您始终从根开始并有条不紊,那么您只需沿着树下走,然后在访问新的子节点时添加一个级别。 如果没有订购,我想您可以向后走过去,数数步数,直到您扎根。

您可能需要一些递归函数才能遍历树。