2017-07-28 16 views
-2

私はUbuntu 14.04の32ビットVMを持っていて、デフォルトのPython 2.7を使用しています。スクリプトが正常に実行され、私も出力を取得しながら、PythonでNearest Neighbor Algorithmを使用して配列出力[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

'print(indices)'の結果は文字列ですか? – 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

リスト(インデックス)を使用すると、出力がまったく得られません@MohamedThasinah – user136819

+0

エラーは発生しません。私は自分のシステムで試しました。あなたはどんなエラーを出していますか? –

関連する問題