Python 如果匹配字符串超过某个值,则从数据帧中删除行

Python 如果匹配字符串超过某个值,则从数据帧中删除行,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据框,如下所示: ID PROD QTY PRICE NAME 1 G 2 120 "Yes" 2 B 5 150 "Yes" 3 S 2 80 "Yes" 4 T 5 300 "Yes" 1 G -2 120 "Yes" 2 B -5 150 "Yes" 3 S

我有一个数据框,如下所示:

ID   PROD   QTY   PRICE   NAME
1     G      2     120    "Yes"   
2     B      5     150    "Yes"
3     S      2     80     "Yes"
4     T      5     300    "Yes"
1     G     -2     120    "Yes"   
2     B     -5     150    "Yes"
3     S      2     80     "No"
4     T      5     300    "No"
1     G     -2     120    "No"   
2     B     -5     150    "No"
3     S      2     80     "No"
4     T      5     300    "No"
1     G     -2     120    "No"   
2     B     -5     150    "No"
我看了很多问题,但大多数是数值问题,没有找到一个可以解决下面给出的问题


如果最后一列中的值匹配的次数超过某个数字,我想删除一行。例如,在上面的数据帧中,“Yes”出现了五次以上,所以我只想保留前五行,删除其他包含“Yes”的行。最后一列中的“否”也是如此

全能的
groupby
前来救援-

df.groupby('NAME').head(5)

    ID PROD  QTY  PRICE NAME
0    1    G    2    120  Yes
1    2    B    5    150  Yes
2    3    S    2     80  Yes
3    4    T    5    300  Yes
4    1    G   -2    120  Yes
6    3    S    2     80   No
7    4    T    5    300   No
8    1    G   -2    120   No
9    2    B   -5    150   No
10   3    S    2     80   No

全能的
groupby
前来救援-

df.groupby('NAME').head(5)

    ID PROD  QTY  PRICE NAME
0    1    G    2    120  Yes
1    2    B    5    150  Yes
2    3    S    2     80  Yes
3    4    T    5    300  Yes
4    1    G   -2    120  Yes
6    3    S    2     80   No
7    4    T    5    300   No
8    1    G   -2    120   No
9    2    B   -5    150   No
10   3    S    2     80   No

这太完美了!这太完美了!