我有一个数据框如下:
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"
我看了很多问题,但大多数都是数值,而且找不到可以解决下面问题的问题,
如果最后一列中的值匹配的次数超过某个数字,我想删除一行。例如,如果上面的数据帧是"是"存在超过五次,所以我只想保留前五行并删除其他包含"是"的行。同样的情况是"否"在最后一栏。
答案 0 :(得分:2)
全能的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