我有一个具有不同列的数据框:
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()
谢谢你的帮助
目前没有回答
相关问题 更多 >
编程相关推荐