2014-03-29 123 views
0

我有標籤和numpy的陣列如下面的列表。我只想使用歐幾里得距離來測量數組之間的距離。訪問二維陣列numpy的

('red', array([ 0., 0., 0., ..., 0., 0., 1.])) 
    ('blue', array([ 0., 0., 0., ..., 0., 0., 1.])) 

我會使用類似dist = numpy.linalg.norm(arrayVec1-ArrayVec2)

我怎麼只能指定組的部分([0,0,0,...,0,0,1]) )和數組([0.,0,0,...,0,0,1,1)),不包括歐幾里得距離度量的紅色和藍色標籤?

+0

看起來你有2元組,每2項,字符串和數組。 – hpaulj

回答

1

你可以這樣做:

x= ('red', array([ 0., 0., 0., 0., 0., 1.])) 
y= ('blue', array([ 0., 0., 0., 0., 0., 1.])) 

np.linalg.norm(x[1]-y[1]) 

注意。

給出:

[ 0. 0. 0. 0. 0. 1.] 
+0

事情是,當打印出X [1]或y [1]我得到 ( '紅色',陣列([0,0.1,0.1,0.1,0.1,1])) 當我運行np.linalg.norm(x [1] -y [1])時出現錯誤 TypeError:不支持的操作數類型爲 - :'tuple'和'tuple' – user3149650

+0

可能我是不正確的說這是一個二維數組。也許這不是因爲當我打印X [1]不打印出[0 0. 0. 0. 0. 1],但( '紅色',陣列([0,0。,0,0。 ,0.,1.])) – user3149650

+0

如果你正確地輸入答案中的內容,它是否有效? – atomh33ls