python - 如何根据删除熊猫数据框中最大的第三列的两列来删除重复项?
问题描述
假设我有一个这样的熊猫数据框:
df=
A B 6 2
A C 4 2
D F 9 3
K L 8 9
A B 4 3
D F 8 2
我怎么能说,如果列 A 和 B 有重复项删除具有最大列 C 的那些?
例如,我们可以看到第 1 行和第 5 行具有相同的 A 列和 B 列。
A B 6 2 (Line 1)
A B 4 3 (Line 5)
我想删除第 1 行,因为 6 大于 4。
所以我的输出应该是
A C 4 2
K L 8 9
A B 4 3
D F 8 2
解决方案
尝试按降序对列进行排序,您需要使用它来查找最大值
pd.sort_values
然后 drop_duplicates 使用pd.drop_duplicate
df.sort_values(by=['C'],ascending=[True],inplace=True)
df.drop_duplicates(subset=['A','B'],inplace=True)
推荐阅读
- lme4 - 使用 dHARMA 进行二项式 GLMM 的残差诊断
- java - httpmediatypenotacceptableexception spring mvc
- bash - vagrant vscode ssh中每个会话的配置更改
- reporting-services - SSRS:根据标签名称列值在文本框中显示值
- android-studio - 2021 年推荐的最低 SDK
- reactjs - Momentjs如何设置全局语言环境
- tcl - 文本文件内容的文件大小和字符串字节长度之间的区别?
- r - 如何测试一列值中的每个元素是否介于其他两列中的值之间?
- postgresql - SSL SYSCALL 错误:无错误 (0x00000000/0) | 如何使用 pgAdmin4/PostgreSQL 解决这个问题
- javascript - 使用 VueJs/Vuex 重新加载页面时保持持久状态