python - 根据两列删除重复项
问题描述
我试图在 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
推荐阅读
- python - 动态更新 Holoviz 面板布局
- matlab - 如何构建 2 层模糊推理系统
- powershell - 有没有办法有条件地/动态地将管道添加到 cmdlet?
- css - 为什么页脚样式会被截断?
- javascript - 在 Gatsby 中发送 API 数据以在 Chart.js 中使用
- javascript - 为函数内的 else 语句创建循环
- r - 在 R 代码中为路段(纬度经度)分配 ID
- python - 你如何在pygame中制作滚动背景?
- r - 将具有重复 A 列值的 data.frame 转换为转置的 data.frame
- python - 像sql一样在python中查询csv文件