如何在分区数据帧的所有分区上使用SKLearn KMeans

时间:2019-02-08 14:14:22

标签: python pandas scikit-learn pandas-groupby k-means

我有一个包含3列的数据框:[city(String),weather_variable(String),variable_value(Float)]。 在对city和weather_variable的数据进行分区之后,我想对数据集应用kmeans。即kmeans将分别在weather_variable的所有城市组合上运行。我已经写了同样的代码,但是它很慢。有人可以帮助我优化它吗?

代码:

i=0
x = None
grouped = test.groupby(['city', 'weather_variable'])
kmeans = KMeans(n_clusters = 7)

for name, frame in grouped: #I want to avoid this for loop
    kmeans.fit(frame.variable_value.reshape(-1, 1))
    frame['cluster'] = kmeans.labels_
    if i == 0:
        x = frame
    else:
        x = x.append(frame)        
    i += 1

PS:我不能在这里共享数据。

0 个答案:

没有答案