Pandas 使用基于条件的groupby创建数据帧

Pandas 使用基于条件的groupby创建数据帧,pandas,Pandas,我有一个数据帧: Id age gender role marital_status sal 231 42 F 0 single 42K 134 77 M 1 married 89K 222 34 M 0

我有一个数据帧:

   Id       age     gender      role       marital_status      sal

   231      42        F         0          single              42K
   134      77        M         1          married             89K
   222      34        M         0          married             56K
   453      22        F         1          single              44K
   546      32        F         1          married             45K
我需要创建一个基于性别和角色的报告,其中婚姻状况是已婚的,另外我还需要添加另一个已婚客户百分比字段

如何使用groupby语句实现这一点

提前谢谢

所需的输出应如下所示: 性别角色婚姻状况:F 1已婚M 1已婚M 0已婚

IIUC您需要:

df1 = df[df['marital_status'] == 'married'].copy()
df1['perc'] = len(df1.index) / len(df)
print (df1)
    Id  age gender  role marital_status  sal  perc
1  134   77      M     1        married  89K   0.6
2  222   34      M     0        Married  56K   0.6
4  546   32      F     1        Married  45K   0.6

什么是期望输出?期望输出应该是这样的:如果
婚姻状况
中的所有值都是
已婚
,那么期望输出是什么?