Pandas DataFrame过滤列A,具体取决于列B是否包含x以表示A中的值组

我想根据列中的值是否包含该值,df对列下面的DataFrame进行过滤。refreftype'P'


In [32]: df

Out[32]: 

   ref type

0    1    P

1    1    C

2    1    A

3    2    C

4    3    P

5    3    P

6    4    P

7    4    A

8    5    C

9    5    A

此处,ref值1、3和4至少包含一行,其值'P'在column type,而2和5则没有。


我试图用ref2和5过滤掉任何行,以便最终输出是:


In [34]: df

Out[34]: 

   ref type

0    1    P

1    1    C

2    1    A

4    3    P

5    3    P

6    4    P

7    4    A

我该怎么做(最好一步一步完成)?


繁华开满天机
浏览 164回答 1
1回答

米脂

使用groupby和filter:df.groupby('ref').filter(lambda x : ('P' in x['type'].values))返回:   ref type0    1    P1    1    C2    1    A4    3    P5    3    P6    4    P7    4    A
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python