【发布时间】:2017-02-04 21:22:37
【问题描述】:
我有以下两个我编写的代码和 excel 文件。我只是不明白如何组合它们,以便我可以从 excel 文件中读取并使用这些数字组成一个集群。
import matplotlib.pyplot as plt
import xlrd
from matplotlib import style
style.use("ggplot")
from sklearn.cluster import KMeans
fileWorkspace = 'C://Users/bob/Desktop/'
pull=[]
wb1 = xlrd.open_workbook(fileWorkspace + 'try.xlsx')
sh1 = wb1.sheet_by_index(0)
for a in range(0,sh1.nrows):
for b in range(0,sh1.ncols):
pull.append(sh1.cell(a,b).value)
print('Finished in row' + str(a))
x = [11,19,23,33,44,91,92,90,60,63]
y = [92,85,22,25,86,78,63,51,66,15]
X = [list(item) for item in zip(x,y)]
kmeans = KMeans(n_clusters=3)
kmeans.fit(X)
centroids = kmeans.cluster_centers_
labels = kmeans.labels_
print(centroids)
print(labels)
colors = ["g.","r.","y.","c.","m.","k."]
for i in range(len(X)):
print("coordinate:",X[i], "label:", labels[i])
plt.plot(X[i][0], X[i][1], colors[labels[i]], markersize = 10)
plt.scatter(centroids[:, 0],centroids[:, 1], marker = "x", s=150, linewidths=5, zorder=10)
plt.show()
excel文件图片:
这很复杂,因为我必须读取那一行数据然后制作集群。我也必须跳过行和列来阅读它们。
【问题讨论】:
-
在您的代码中,您似乎没有使用从 excel 文件中加载的数据,对吗?你到底想用这些数据做什么?
-
是的。我为该聚类代码提供的数据只是示例。 excel文件中的那个是正确的。代码肯定需要修改,但我坚持如何组合这两个代码。我非常想读取该 excel 文件数据并制作集群。
-
好的,没问题,文件中的数字代表什么?你需要一个预测器和预测器。在您的示例中,您有几个 x,y 对。在 excel 数据中似乎只有一列数据。
-
我刚刚意识到 K-means 聚类需要 x 和 y。我只有x。我想我将不得不使用不同类型的聚类。可能是网络。但是,仍然需要知道如何通过跳过行和列来读取 excel 数据并将它们存储在数组中。如果你现在能帮我解决这个问题,那就太好了。
-
啊,好吧。祝你好运!要读取数据,您可能有兴趣使用pandas