Поиск наиболее последовательных единиц в кадре данных по переменному количеству столбцов - PullRequest
0 голосов
/ 23 февраля 2020

У меня есть фрейм данных с миллионами строк и тысячами (переменное количество) столбцов. Мне нужно найти максимальное количество строк с 1 в каждом столбце. Пример входной и выходной пары показан ниже:

Input:
    scala> val df = Seq(
       (1, 1, 1, 0),
       (2, 0, 1, 1),
       (3, 0, 1, 1),
       (4, 1, 1, 1),
       (5, 1, 1, 0),
       (6, 0, 1, 1),
       (7, 0, 0, 1)
    ).toDF("Sl", "col1", "col2", "col3")

    scala> df.show
    +---+----+----+----+
    | Sl|col1|col2|col3|
    +---+----+----+----+
    |  1|   1|   1|   0|
    |  2|   0|   1|   1|
    |  3|   0|   1|   1|
    |  4|   1|   1|   1|
    |  5|   1|   1|   0|
    |  6|   0|   1|   1|
    |  7|   0|   0|   1|
    +---+----+----+----+

Output:
    (2, 6, 3)

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

...