Python 根据两列删除重复项

Python 根据两列删除重复项,python,pandas,dataframe,pandas-groupby,apply,Python,Pandas,Dataframe,Pandas Groupby,Apply,我试图在p列中删除重复的值,但要根据S列的值。我的意思是每个小组在S列。与S组一样,有四个组1、2、3和4。所以根据第一组,我试图找到5,7,6的值,第一个指数应该下降 S A4 P 0 1 1 5 1 1 2 5 2 1 3 7 3 1 4 6 4 2 1 7 5 2 2 6 6 2 3 7 7 2 1 1 8 3 5 2 9 3 3 3 10 3 2 4 11 3 1

我试图在p列中删除重复的值,但要根据S列的值。我的意思是每个小组在S列。与S组一样,有四个组1、2、3和4。所以根据第一组,我试图找到5,7,6的值,第一个指数应该下降

    S  A4  P
0   1   1  5
1   1   2  5
2   1   3  7
3   1   4  6
4   2   1  7
5   2   2  6
6   2   3  7
7   2   1  1
8   3   5  2
9   3   3  3
10  3   2  4
11  3   1  1
12  4   5  2
13  4   3  3
14  4   5  4
15  4   6  5
因此,不需要根据S组在p列中复制每个值。这是我试图找到的搜索df:

Search
    S  A4  P
0   1   1  5
1   1   3  7
2   1   4  6
3   2   1  7
4   2   2  6
5   2   1  1
6   3   5  2
7   3   3  3
8   3   2  4
9   3   1  1
10  4   5  2
11  4   3  3
12  4   5  5
使用
drop_duplicates()
subset
keep='first'

In [2335]: df.drop_duplicates(sub['S', 'P'], keep='first')
Out[2335]: 
    S  A4  P
0   1   1  5
2   1   3  7
3   1   4  6
4   2   1  7
5   2   2  6
7   2   1  1
8   3   5  2
9   3   3  3
10  3   2  4
11  3   1  1
12  4   5  2
13  4   3  3
14  4   5  4
15  4   6  5

但是我不想删除,如果P处的一行与另一个元素相同,但在另一个组中,例如第三组元素。我的意思是,如果我使用drop_duplicates和subset,我也会丢失P的第15行最后一个元素,但我不想丢失它。你明白我的意思吗?在我的示例中,
15th
行没有丢失。对不起,我的错误:-)谢谢这么多。我对编程和Python有点陌生,所以感谢您的帮助。我很感激你。