python - Pandas - 具有多个条件的 drop_duplicates
问题描述
我有一个数据集,我想根据某些条件删除重复项。
例如,假设我有一张桌子
ID date group
3001 2010 DCM
3001 2012 NII
3001 2012 DCM
我想说查看类似 ID 的 ID 列,如果两个日期相似,则保留该组为 NII 的行
所以它会变成
ID date group
3001 2010 DCM
3001 2012 NII
解决方案
在这里利用duplicated
:
df[~df.duplicated(['ID', 'date'], keep=False) | df['group'].eq('NII')]
ID date group
0 3001 2010 DCM
1 3001 2012 NII
推荐阅读
- python - 使用逗号分隔值和红色字体为负值格式化显示在 jupyter 笔记本中的熊猫数据帧
- laravel - 如何与多个结果进行雄辩的关系
- c# - 如何在 Roslyn 推荐的符号中包含关键字和别名?
- javascript - 当我使用 html2canvas 导出甘特仪表板时,为什么我的 PowerPoint 演示文稿是空白的?
- postgresql - Postgresql 数据库中自定义数据类型的列的最大大小是多少?
- ios - 为什么我在这段代码中得到“只能声明实例方法@IBAction”?
- c# - Vector_Point_to_Mat 和 Vector_Point2f_to_Mat 有什么区别
- spring-boot - Spring Actuator 的“jvm.memory.max”指标与 Runtime.getRuntime().maxMemory() 不匹配
- css - 如何更改子菜单框的背景和/或边框?
- php - 如何仅在特定类别中显示条目元(作者、日期、标签)