У меня есть фрейм данных (около 20000000 строк), и я хотел бы удалить дубликаты из фрейма данных для двух столбцов, если эти столбцы имеют одинаковые значения, или даже если эти значения находятся в обратном порядке.
Например, оригинальный кадр данных:
+----+----+----+
|col1|col2|col3|
+----+----+----+
| 1| 1| A|
| 1| 1| B|
| 2| 1| C|
| 1| 2| D|
| 3| 5| E|
| 3| 4| F|
| 4| 3| G|
+----+----+----+
где схема столбца выглядит следующим образом:
root
|-- col1: string (nullable = true)
|-- col2: string (nullable = true)
|-- col3: string (nullable = true)
Нужный кадр данных должен выглядеть следующим образом:
+----+----+----+
|col1|col2|col3|
+----+----+----+
| 1| 1| A|
| 1| 2| D|
| 3| 5| E|
| 3| 4| F|
+----+----+----+
Метод dropDuplicates()
удаляет дубликаты, если значения в том же порядке
Я последовал принятому ответу на этот вопрос Панды: удалите обратные дубликаты из кадра данных , но это заняло больше времени.