Python 如何知道分配给个人p1的子女人数?
在下面的数据(df2)中,我需要知道每个p1有多少(计数)个孩子? 例如:在单个p1中显示。 我需要一个数据表为这张图片在下面的形式Python 如何知道分配给个人p1的子女人数?,python,pandas,pandas-groupby,data-analysis,recursive-query,Python,Pandas,Pandas Groupby,Data Analysis,Recursive Query,在下面的数据(df2)中,我需要知道每个p1有多少(计数)个孩子? 例如:在单个p1中显示。 我需要一个数据表为这张图片在下面的形式 p1_id | no. of p1|no. of p2| no. of p3 | 374971| 1 |3 | 4 | .... |..... |...... |..... | 考虑到这一点:没有一定的等级制度。比如,可能p1下面有另一个p1或p3。并且可能有n个分支和节点 Df2 这个df2问
p1_id | no. of p1|no. of p2| no. of p3 |
374971| 1 |3 | 4 |
.... |..... |...... |..... |
考虑到这一点:没有一定的等级制度。比如,可能p1下面有另一个p1或p3。并且可能有n个分支和节点
Df2
这个df2问题应该给出如下输出
p1_id | no. of p1|no. of p2| no. of p3 |
11 | 1 |4 | 1 |
12 | 0 |2 | 0 |
如果我正确理解你的问题, 您只需要计算每个家长id有多少p1、p2、p3等。 在这种情况下,您可以使用包含两列的列表执行.groupby操作:
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
希望这有帮助 如果我正确理解了你的问题, 您只需要计算每个家长id有多少p1、p2、p3等。 在这种情况下,您可以使用包含两列的列表执行.groupby操作:
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
希望这有帮助 但这将只显示直系子女,而不是孙辈。请参考图片,但这将只显示直系子女,而不是孙辈。请参考图片