1. 程式人生 > >Spark中DenseMatrix中values()和toArray方法的區別

Spark中DenseMatrix中values()和toArray方法的區別

    之前一直以為DenseMatrix中的values()和toArray方法獲取到的矩陣的資料是一樣的,結果今日一次矩陣轉置測試時發現兩者獲取到的資料是不一樣的,values()獲取到的資料是將DenseMatrix中的資料以行優先的形式將矩陣中的資料儲存到陣列中,而toArray獲取到的資料是以列優先的形式將矩陣中的資料儲存到陣列中。

例如矩陣是【1 2 3;1 2 3;1 2 3】這是一個三行三列的矩陣通過values獲取到的是(1 1 1 2 2 2 3 3  3),而通過toArray獲取到的陣列應該是(1 2 3 1 2 3 1 2 3)