根据值的出现过滤组

时间:2015-01-23 17:58:23

标签: python pandas

鉴于以下DataFrame,如果值在组中,我该如何过滤组?

例如,在此表中,我希望保留包含" FB"在部门

Job Dept
123 TC
123 TC
123 TC
123 FB
123 FB
123 MD
456 FB
456 FB
456 FB
456 FB

我希望输出到像这样的表或数据框。

Job Dept
123 TC
123 TC
123 TC
123 FB
123 FB
123 MD

我知道我可以查看是否" TC"使用

在列中

df['Dept'].isin(["TC"].any()

我不知道如何使用apply或其他任何方法来按组计算,并返回仅包含这些组的数据框。

2 个答案:

答案 0 :(得分:1)

我刚刚想出答案。我在看申请,但我需要使用过滤器

df.groupby("Job").filter(lambda x : x["Dept"].isin(["TC"]).any())

答案 1 :(得分:0)