2014-11-03 4 views
0

Хочет значения столбцов группы с помощью Scala, напримерКак группировать похожие значения столбцов в scala?

sunny,hot,high,FALSE,no 
sunny,hot,high,TRUE,no 
overcast,hot,high,FALSE,yes 
rainy,mild,high,FALSE,yes 
rainy,cool,normal,FALSE,yes 
overcast,cool,normal,TRUE,yes 

Я хочу результат, как,

Для колонки Ist .........

Ist группа

sunny,hot,high,FALSE,no 
sunny,hot,high,TRUE,no 

II-й группы

overcast,hot,high,FALSE,yes 
overcast,cool,normal,TRUE,yes 

группы III-й

rainy,mild,high,FALSE,yes 
rainy,cool,normal,FALSE,yes 

Для столбца IInd .........

Ist группа

hot,high,FALSE,no 
hot,high,TRUE,no 
hot,high,FALSE,yes 

II-й группы

cool,normal,FALSE,yes 
cool,normal,TRUE,yes 

я IIrd группа

mild,high,FALSE,yes 

Аналогично все столбцы Шифрование до второй последней колонке ............

ответ

2

Применение Seq.groupBy метод.

val data = Seq(("sunny", "hot", "high", "FALSE", "no"), 
    ("sunny", "hot", "high", "TRUE", "no"), 
    ("overcast", "hot", "high", "FALSE", "yes"), 
    ("rainy", "mild", "high", "FALSE", "yes"), 
    ("rainy", "cool", "normal", "FALSE", "yes"), 
    ("overcast", "cool", "normal", "TRUE", "yes")) 

val byFirst = data.groupBy(_._1) 

Результат:

Map(
    overcast -> List((overcast,hot,high,FALSE,yes), (overcast,cool,normal,TRUE,yes)), 
    rainy -> List((rainy,mild,high,FALSE,yes), (rainy,cool,normal,FALSE,yes)), 
    sunny -> List((sunny,hot,high,FALSE,no), (sunny,hot,high,TRUE,no))) 
+0

Я думаю, что ОП хочет группы по всем столбцам Шифрование до второго последнего столбца. – mohit

+0

Затем снова вызовите groupBy с _._ 2, _._ 3 или любым другим –

Смежные вопросы