2016-04-25 58 views
0

我有這樣的數據集,我從csv文件中獲取數據,但是如何在Scala中存儲 以進行處理。如何對Scala中有多列的數據集進行排名?

+-----------+-----------+----------+ 
| recent | Freq  | Monitor | 
+-----------+-----------+----------+ 
|  1 |  1234| 199090| 
|  4 |  2553| 198613| 
|  6 |  3232 | 199090| 
|  1 |  8823 | 498831| 
|  7 |  2902 | 890000| 
|  8 |  7991 | 081097| 
|  9 |  7391 | 432370| 
|  12 |  6138 | 864981| 
|  7 |  6812 | 749821| 
+-----------+-----------+----------+ 

其實我需要對數據進行排序並對其進行排名。 我是Scala編程新手。 感謝

+0

什麼是排名?有沒有公​​式? – agusgambina

+0

我將這些數據排列在底部附近。 – jwvh

+0

@Niranjanp我不明白什麼排名靠近底部的數據意味着什麼。有沒有一個公式來獲得排名?答案很清楚我在做什麼? – agusgambina

回答

0

在這裏回答你的問題是解決方案,該代碼讀取由第三列

object CSVDemo extends App { 
    println("recent, freq, monitor") 
    val bufferedSource = io.Source.fromFile("./data.csv") 
    val list: Array[Array[String]] = (bufferedSource.getLines map { line => line.split(",").map(_.trim) }).toArray 
    val newList = list.sortBy(_(2)) 
    newList map { line => println(line.mkString(" ")) } 
    bufferedSource.close 
} 

你閱讀文件,而你是解析到一個Array[Array[String]]一個CSV和秩序,那麼你爲了通過第三列,並且您打印

+0

感謝這個數據集我正在從csv文件讀取,但我如何存儲在集合或數組的scala中的任何集合類型。 – Niranjanp

+0

@Niranjanp昨天我沒有得到問題,這裏是解決方案。希望它有幫助 – agusgambina

+0

非常感謝。我真的很感激它。 – Niranjanp

0

在這裏我使用列表並嘗試一次標準化每列然後連接它們。有沒有其他的方式來明智地迭代列並使其正常化。對不起,我的編碼很基礎。

val col1 = newList.map(line => line.head) 

val mi = newList.map(line => line.head).min 

val ma = newList.map(line => line.head).max 

println("mininumn value of first column is " +mi) 
println("maximum value of first column is : " +ma) 

// calculate scale for the first column 

val scale = col1.map(x => math.round((x.toInt - mi.toInt)/(ma.toInt - mi.toInt))) 

println("Here is the normalized range of first column of the data") 

scale.foreach(println) 
+0

我想問問這個答案如何解決你的問題。我沒有看到任何連接 – eliasah

+0

我的主要任務是規範化數據並分配等級。從第一個代碼我加載CSV文件並轉換成列表(@gusgambina代碼)。其次,我正在使用該列表,並通過迭代每條線的第一個元素來找到最小值和最大值。然後使用線性Min-Max歸一化方法對其進行歸一化。在這裏,我只把代碼放在列表中的一列。同樣,我正在處理其餘列,然後嘗試合併它們。這是做這件事的正確方法。 – Niranjanp

+0

這是一個新問題嗎?如果是的話請把它作爲一個新問題發佈!如果爲這個問題提供的答案回答你的第一個問題,請接受它來解決問題 – eliasah

相關問題