枢轴分层数据

时间:2020-05-26 12:25:05

标签: python pandas

我有一个层次数据集,需要以某种方式呈现。赞赏任何实现相同目标的指导。

谢谢

**样本数据集**

level   Parent  Child
0   z   z
1   z   o
1   z   p
2   p   t
2   p   q
2   o   r

**我尝试过的事情**

df = pd.read_clipboard(sep='\t')
df1=df.pivot(columns='level',values='Child')
df1.fillna('-',inplace=True)
df1

**我的结果**

level   0   1   2
0   z   -   -
1   -   o   -
2   -   p   -
3   -   -   t
4   -   -   q
5   -   -   r

**预期结果**

level   0   1   2
0   z   -   -
1   -   o   r
2   -   p   -
3   -   -   t
4   -   -   q

1 个答案:

答案 0 :(得分:0)

正如标题所说的问题是关于层次结构的,应该在一些网络包中找到解决方案,例如 networkxigraph。我不是那个工具的专家,所以我对这个问题给出了一个抽象的解决方案。

问题的作者正在根据到达给定项目的方式请求订单,例如从父级向下流到子级。所以下面的工作流程是合适的。

  1. 为每个项目找到从顶级到该项目的路径。 (例如:列表中的最后一项 z -> p -> q)
  2. 对路径进行排序(从顶层到底层的键)
  3. 将订单应用到透视表上