scala groupby用法
生活随笔
收集整理的這篇文章主要介紹了
scala groupby用法
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
如果是 二元組:
val a = List(("a",2),("a",3),("d",333),("c",3),("c",4)) val b = a.groupBy(_._1) println(b) 結(jié)果: a: List[(String, Int)] = List((a,2), (a,3), (d,333), (c,3), (c,4)) b: scala.collection.immutable.Map[String,List[(String, Int)]] = Map(d -> List((d,333)), a -> List((a,2), (a,3)), c -> List((c,3), (c,4))) Map(d -> List((d,333)), a -> List((a,2), (a,3)), c -> List((c,3), (c,4)))只要同key的不同value組成的list val c = b.mapValues(r => {r.map(r => {r._2})}) println(c) 結(jié)果: c: scala.collection.immutable.Map[String,List[Int]] = Map(d -> List(333), a -> List(2, 3), c -> List(3, 4)) Map(d -> List(333), a -> List(2, 3), c -> List(3, 4))如果是多元組,先將其變成為二元組
val e = List(("a",1000,2),("a",2222,3),("d",6888,333),("c",13,3),("c",14,4)) val f = e.map(r => {(r._1, (r._2, r._3))}) 結(jié)果: f: List[(String, (Int, Int))] = List((a,(1000,2)), (a,(2222,3)), (d,(6888,333)), (c,(13,3)), (c,(14,4)))暫時(shí)沒(méi)有查詢到以多行數(shù)據(jù)作為key進(jìn)行聚合的函數(shù)方法。
總結(jié)
以上是生活随笔為你收集整理的scala groupby用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【Java】一次简单实验经历——社交网络
- 下一篇: 事务的嵌套