我的python代码读取csv并提取纬度经度并通过kmeans运行它们。我有一个与每个纬度经度相关联的“placeName”字段。我的问题是我希望能够写出一个新的csv文件或以某种方式标记数据,以便我可以看到哪个csv行与哪个集群相关联。当kmeans的坐标采用数组,但没有像“name”或“id”这样的属性时,我怎么能做到这一点?
import numpy as np
import matplotlib.pyplot as plt
from scipy.cluster.vq import kmeans2, whiten
coordinates= np.array([
[lat, long],
[lat, long],
...
[lat, long]
])
x, y = kmeans2(whiten(coordinates), 3, iter = 20)
plt.scatter(coordinates[:,0], coordinates[:,1], c=y);
plt.show()
答案 0 :(得分:0)
我认为你想得到的是:一个标签列表,显示一个坐标属于哪个集群。
现在,您在二维数组中得到licence
和driver's
。
您可以通过首先将x
中的每个元素映射到标签来获取标签列表,然后将该标签映射应用于y
。
x
y
是所需的群集ID列表。