我有一个Ubuntu 14.04 32位虚拟机并使用默认的Python 2.7。我有一个最近邻脚本,如下所示:
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 :(得分:1)
print(indices)
(打印[0 1])
b = list(indices)
打印b
(打印[0,1])
答案 1 :(得分:0)
将其转换为列表
list(indices)
试,
print indices
>>>[[0 1]]
print list(indices)
>>>[array([0, 1])]
print indices.tolist()
>>>[[0, 1]]