[問題] 大型稀疏矩陣乘法

看板Python作者 (過客)時間10年前 (2014/05/02 23:06), 編輯推噓5(5010)
留言15則, 4人參與, 最新討論串1/1
我知道spicy.sparse可以針對稀疏矩陣做乘法運算 不過目前我看到的範例都是用rand的方式產生一些矩陣 可是我的問題是 要怎樣匯入現有的矩陣呢? 例如矩陣可能是以 1 2 5 (第一行第二列的值是5) 這樣的方式儲存 要改也可以 ... 檔名是file.txt 請問這樣的矩陣要怎樣匯入呢 謝謝 -- ◢◢◣◣ ■■■■ ◥■■◤ ◣ ║ ◢ ◥◣║◢◤ ~永遠盛開的紫色鬱金香~ ◥║◤ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.243.88.132 ※ 文章網址: http://www.ptt.cc/bbs/Python/M.1399043216.A.D3A.html

05/02 23:12, , 1F
get the array size
05/02 23:12, 1F

05/02 23:12, , 2F
import numpy.zeros((rows,cols))
05/02 23:12, 2F

05/02 23:13, , 3F
write data,done.
05/02 23:13, 3F

05/02 23:26, , 4F
讀檔有兩種方法,文字模式和binary模式
05/02 23:26, 4F

05/02 23:27, , 5F
後者效率比較好,但有點難度,可以用struct.unpack讀
05/02 23:27, 5F

05/02 23:29, , 6F
文字模式很簡單,讀進去後,取三個數字一組,寫進numpy
05/02 23:29, 6F

05/02 23:29, , 7F
.zeros後再讀取下一組
05/02 23:29, 7F

05/02 23:30, , 8F
這其實只是一般file I/o問題,跟矩陣沒關聯
05/02 23:30, 8F

05/02 23:44, , 9F
感謝!!!
05/02 23:44, 9F

05/02 23:50, , 10F
如果有浮點數,記得指定dtype=numpy.float
05/02 23:50, 10F

05/02 23:51, , 11F
修正一下第二個推文:
05/02 23:51, 11F

05/02 23:51, , 12F
import numpy as np
05/02 23:51, 12F

05/02 23:52, , 13F
arr=np.zeros((rows,cols),dtype=np.float)
05/02 23:52, 13F

05/03 01:09, , 14F
就一般的讀法 讀進來變成list包list可以直接轉np.array
05/03 01:09, 14F

05/03 15:33, , 15F
sparse matrix 都有 data , indices 的呼叫法阿
05/03 15:33, 15F
文章代碼(AID): #1JOxIGqw (Python)