猿问

删除相对于某些行重复的所有行

我已经看到了几个类似的问题,但对我的情况却不是令人满意的答案。这是一个示例DataFrame:


+------+-----+----+

|    id|value|type|

+------+-----+----+

|283924|  1.5|   0|

|283924|  1.5|   1|

|982384|  3.0|   0|

|982384|  3.0|   1|

|892383|  2.0|   0|

|892383|  2.5|   1|

+------+-----+----+

我只想通过"id"和"value"列来识别重复项,然后删除所有实例。


在这种情况下:


第1行和第2行是重复的(同样,我们忽略了“类型”列)

第3行和第4行是重复的,因此仅应保留第5行和第6行:

输出为:


+------+-----+----+

|    id|value|type|

+------+-----+----+

|892383|  2.5|   1|

|892383|  2.0|   0|

+------+-----+----+

我试过了


df.dropDuplicates(subset = ['id', 'value'], keep = False)

但是“保持”功能不在PySpark中(因为它在中)pandas.DataFrame.drop_duplicates。


我还能怎么做?


有只小跳蛙
浏览 118回答 2
2回答
随时随地看视频慕课网APP

相关分类

Python
我要回答