【发布时间】:2017-07-28 12:05:50
【问题描述】:
我有一个 Ubuntu 14.04 32 位 VM 并使用默认的 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])
提前感谢您的帮助:)
【问题讨论】:
-
你试过
list(indices)吗? -
print(indices)结果是什么,一个字符串? -
如果我使用 list(indices),我根本不会得到任何输出 @Zinki
-
@MFHS 当然不是,你仍然需要在结果上调用 print 才能得到输出。
标签: python arrays numpy ubuntu-14.04 nearest-neighbor