基于数据帧Python的不同列的分类

2024-09-27 04:29:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个具有不同列的数据框:

ID     Age    Marital_statut

1      10     1
1      50     2 
1      52     2
2      32     2
2      38     2
3      13     3                
3      34     3               
4      10     1                
4      50     2                
4      52     2                
4      11     1                



预期产出:

ID     Age    Marital_statut   Family Statut

1      10     1                2 with children under 12
1      50     2                2 with children under 12
1      52     2                2 with children under 12 
2      32     2                2 without children
2      38     2                2 without children
3      13     1                3 with children above 12
3      34     3                3 with children above 12
4      10     1                2 with two children under 12
4      50     2                2 with two children under 12
4      52     2                2 with two children under 12 
4      11     1                2 with two children under 12 



如何获得家庭地位? 该算法将计算有多少人具有相同的婚姻状况1、2和3以及相同的ID,因此对于每个ID,我们将得到婚姻状况1(单身)、2(已婚)和3(离婚)的人数。 然后,如果给定ID的婚姻状况2=2,婚姻状况1=0,婚姻状况3=0,则其家庭状况为2,无子女。 另一个例子是,如果给定ID的婚姻状况计数2=2,婚姻状况3=0,婚姻状况1=1,则算法将检查婚姻状况1的列年龄,如果年龄<;12那么12岁以下儿童的家庭状况t=2

我想用groupby来计算婚姻状况,但从那以后我就不知道怎么做了。 df.groupby(["ID","Marital_statut"])["Marital_statut"].count().unstack()

谢谢你的帮助


Tags: 算法idage家庭withabovewithoutunder

热门问题