我只是一個Python初學者。最近我正在學習使用字典,但我的知識仍然有限。我有這個想法從我的腦海裏冒出來,但我不確定它是否可用於python。我可以在python中使用字典作爲矩陣嗎?
我有3個文件看起來是這樣的:
DOCNO= 5
nanofluids :0.6841
introduction:0.2525
module :0.0000
to :0.0000
learning :0.0000
DOCID= 1
nanofluids :0.0000
introduction:0.2372
module :0.0000
to :0.0000
learning :0.1185
DOCNO= 12
nanofluids :0.0000
introduction:0.0000
module :0.5647
to :0.0000
learning :0.2084
我知道如何存儲在字典中的單個值。例如:
data={5: 0.67884, 1:0.1567, 12:3455}
但我想現在要做的就是存儲陣列與相應的證件號碼,它看起來像:
import array
data={ 5:array([0.6841,0.2525,0.0000.0000,0.0000]), 1:array([0.0000,0.2372,0.0000,0.0000,0.1185]), 12:array([0.0000,0.0000,0.5647,0.0000,0.2084])}
*我的Python v2.6.5似乎並不讓我這樣做*
如果假設上述操作作品,我想要執行點積或矩陣乘積以找出文檔對之間的相似度。我的想法是將陣列安排在3x5矩陣中並乘以5x3的轉置。這將返回一個3x3矩陣,告訴我兩個文檔之間的關係。例如:
[ 5:[0.6841,0.2525,0.0000,0.0000,0.0000],
1:[0.0000, 0.2372,0.0000,0.0000,0.1185],
12:[0.0000,0.0000,0.5647,0.0000,0.2084] ]
,並通過其轉乘(我不知道如何做到這一點),結果將是對應於「DOCNO」由「DOCNO」 3x3矩陣。
底線是我需要能夠檢索DOCNO。例如(5,1)顯示了文檔5和1之間的關係。或者(1,12)顯示了文檔1和12之間的關係。我不確定這是否可以在python中使用,但其他類似的分辨率將不勝感激。謝謝你的時間。
你應該看看[** NumPy **](http://numpy.scipy.org/)。它被設計來做矩陣計算。 – 2010-07-06 16:18:28