2017-07-28 17 views
-2

我有一個Ubuntu 14.04 32位虛擬機,並使用默認的Python 2.7。我有一個近鄰腳本如下:如何使用最近鄰算法在Python中將數組輸出[0 0 0]轉換爲[0,0,0]?

import numpy as np 
from sklearn.neighbors import NearestNeighbors 

X = np.array([[28273, 20866, 29961, 27190, 31790, 19714, 8643, 14482, 5384], 
[12343, 45634, 29961, 27130, 33790, 14714, 7633, 15483, 4484]]) 

knn = NearestNeighbors(algorithm='auto', leaf_size=30, n_neighbors=5, p=2, 
radius=1.0, warn_on_equidistant=True).fit(X) 

distance, indices = knn.kneighbors(X[0]) 
print(indices) 

在腳本運行成功,我得到的輸出,以及 - [[0 1]](或類似的東西)
的問題是,有沒有任何逗號分離陣列中的每個元素。我在網上看到類似的代碼和其它代碼的輸出是一樣 - array([[0, 1]])[[0, 1]]
我已經試過print(', '.join(indices))但它拋出一個錯誤 -
print(', '.join(indices)) TypeError: sequence item 0: expected string, numpy.ndarray found
如何修改腳本,這樣我得到類似的輸出到上面提到的那個? ([0,1])
在此先感謝您的幫助:)

+0

你試過'列表(索引)'? – Zinki

+0

什麼'打印(索引)'結果,一個字符串? – bhansa

+0

如果我使用列表(索引),我根本沒有輸出@Zinki – user136819

回答

0

打印(索引)

(打印[0 1])

B =列表(索引)

印片B

(打印[0,1])

0

轉換到這一點名單

list(indices) 

嘗試,

print indices 
>>>[[0 1]] 
print list(indices) 
>>>[array([0, 1])] 
print indices.tolist() 
>>>[[0, 1]] 
+0

這將如何工作?什麼是'arr',請具體說明。 – bhansa

+0

如果我使用list(indices),我根本沒有輸出@MohamedThasinah – user136819

+0

我沒有收到任何錯誤。我在我的系統中嘗試過。你得到什麼錯誤? –

相關問題