基于Pandas按Full_Family列修正实体层级顺序及确定最终父实体
问题背景
现有一个Pandas DataFrame,每行记录不同实体的关系,原始数据如下:
| Child | Parent | Ult_Parent | Full_Family |
|---|---|---|---|
| A032 | A001 | A039 | A001, A032, A039, A040, A041, A043, A043, A045, A046 |
需求说明
需要解决两个核心问题:
- 基于
Full_Family列(存储了完整家族树从下级到上级的正确层级结构),修正每行中Child/Parent/Ult_Parent列实体的正确顺序,生成Correct_Order列 - 为整个家族确定有效的最终父实体(
Correct_Ult_Parent_per_Family),要求该实体必须出现在DataFrame的Child/Parent/Ult_Parent列中
示例及期望结果
示例扩展数据与期望输出如下:
| Child | Parent | Ult_Parent | Full_Family | Correct_Order | Correct_Ult_Parent_per_Family |
|---|---|---|---|---|---|
| A032 | A001 | A039 | A001, A032, A039, A040, A041, A043, A043, A045, A046 | A001, A032, A039 | A043 |
| A001 | A043 | A039 | A001, A032, A039, A040, A041, A043, A043, A045, A046 | A001, A039, A043 | A043 |
注:A046是家族实际最上级父实体,但未出现在DataFrame的
Child/Parent/Ult_Parent列中,因此有效最终父实体为A043。
内容的提问来源于stack exchange,提问作者L H
相关产品推荐
相关产品推荐

