У меня есть фрейм данных с 3 столбцами: [city (String), weather_variable (String), variable_value (Float)].Я хочу применить kmeans к набору данных после разделения данных на city и weather_variable.т. е. kmeans будет работать по всей комбинации city, 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: Я не могу поделиться данными здесь.