在以下数据(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
希望这会有所帮助!