【发布时间】:2022-05-03 18:27:37
【问题描述】:
我有以下包含父子关系的数据框:
data = pd.DataFrame({'Parent':['a','a','b','c','c','f','q','z','k'],
Child':['b','c','d','f','g','h','k','q','w']})
a
├── b
│ └── d
└── c
├── f
│ └── h
└── g
z
└── q
└── k
└── w
我想获得一个新的数据框,其中包含例如父母a的所有孩子:
| child | level1 | level2 | level x |
|---|---|---|---|
| d | a | b | - |
| b | a | - | - |
| c | a | - | - |
| f | a | c | - |
| h | a | c | f |
| g | a | c | - |
我不知道前面有多少级别,因此我使用了“级别 x”。
我想我需要一个递归模式迭代数据帧。
【问题讨论】:
-
根据您与数据框的字典一起发布的代码行,如何知道
'd'是'b'的孩子?我在您的图表中看到了它,但是您拥有或正在输入的数据如何显示这种关系?啊,nvm我现在看到了-第一个父母是第一个孩子的父母,第二个父母是第二个孩子的父母,等等。所以d是第四个孩子,第四个父母的孩子也是如此跨度>