Pyspark найти дубликаты столбцов в кадре данных - PullRequest
0 голосов
/ 02 июля 2019

Как сравнить каждый столбец в кадре данных искры? В пандах я могу использовать df.T.duplicated , чтобы знать, разные столбцы или нет.

Это пример того, что я хочу сделать:

+----+----+----+----+----+
|col1|col2|col3|col4|col5|
+----+----+----+----+----+
| one| one|  AA|  AA| one|
| one| one|  BB|  BB| one|
| 111| 111|  CC|  ZZ| 111|
| two| two|  DD|  EE| two|
+----+----+----+----+----+

элементы col1,2,5 одинаковы => возвращают True

Результаты: [True True False False True] или возвращаемое значение 3 в порядке (3 одинаковых столбца).

Я уже закончил сравнение строк. если он не может сравнивать каждый столбец напрямую, есть ли способ для транспонирования спарк-кадра?

Я предпочитаю сравнивать каждый столбец, чтобы он возвращал истину / ложь напрямую, транспонировать фрейм данных было бы тратить больше времени, если данные очень большие (десятки миллионов данных).

Пример:

----------+-----+----+----+----+----+----+   
|segment_id| val1|val2|val3|val4|val5|val6|
+----------+-----+----+----+----+----+----+
|         1|  100|   0|   0|   0|   0|   0|
|         2|    0|  50|   0|   0|  20|   0|
|         3|    0|   0|   0|   0|   0|   0|
|         4|    0|   0|   0|   0|   0|   0|
+----------+-----+----+----+----+----+----+

Результат:

+----+-----+----+----+----+
|vals|    1|   2|   3|   4|
+----+-----+----+----+----+
|val1|  100|   0|   0|   0|
|val2|    0|  50|   0|   0|
|val3|    0|   0|   0|   0|
|val4|    0|   0|   0|   0|
|val5|    0|  20|   0|   0|
|val6|    0|   0|   0|   0|
+----+-----+----+----+----+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...