首页 > 解决方案 > 如何分组和总结一个标准

问题描述

我有一个如下的数据框

FAMILY   TYPE   REMARKS
A        A1     Valid
A        A1     Invalid
A        A1     Invalid
A        B2     Invalid
A        B2     Valid
A        B2     Valid

我应该如何使用groupby使它看起来像

FAMILY   TYPE   VALID   INVALID
A        A1     1       2
A        B2     2       1

我试过了

df['VALID'] = df.groupby('TYPE')['REMARKS'].apply(lambda remark: remark == 'Valid')

但结果未分组为 2 行,我该怎么做?

标签: pythonpandas

解决方案


我们做crosstab+ reset_index,它将按两列 FAMILY 和 TYPE 超过 REMARKS

df=pd.crosstab([df.FAMILY, df.TYPE], df.REMARKS).reset_index()

推荐阅读