如何知道分配给单个P1的孩子数量



在以下数据(DF2)中,我需要知道每个P1都有多少个(计数)孩子?例如:在这张照片中,一个P1显示。我需要以下形式为此图片的数据表。

p1_id | no. of p1|no. of p2| no. of p3 |
374971| 1        |3        | 4         |
....  |.....     |......   |.....      |

鉴于:没有某些层次结构。就像,P1可能在他下面有另一个P1或在他下面有P3。并且可能有n个分支数量和节点。

df2

   id   title   parent_id
0   11  p1          11
1   12  p1          11
2   13  p2          12
3   14  p2          12
4   15  p2          13
5   16  p2          13
6   17  p3          13

这个DF2问题应该给出

之类的输出
p1_id | no. of p1|no. of p2| no. of p3 |
11    | 1        |4        | 1         |
12    | 0        |2        | 0         |

如果我正确理解您的问题,您只想计算每个父级有多少个P1,P2,P3等。在这种情况下,您可以使用两列列表进行。群体:

df = pd.DataFrame.from_dict(
    {'c_id':[374971,363401,373600,363401],
     'title':['p1','p2','p1','p3'],
     'parent_id':[443547,360652,256963,360652]
    })
df.groupby(['parent_id','title']).count()

将给出类似于您想要的结果,但不完全以相同的格式:

parent_id   title   c_id    
256963      p1      1
360652      p2      1
            p3      1
443547      p1      1

希望这会有所帮助!

最新更新