Я работаю над фреймом данных временных рядов Pandas, который содержит 2 столбца: метка времени и дельта.
Примером является следующий:
>> df.head()
timestamp delta
0 2016-07-30 00:05:00 0.0
1 2016-07-30 00:10:00 4265.0
2 2016-07-30 00:15:00 4568.0
3 2016-07-30 00:20:00 5857.0
4 2016-07-30 00:25:00 3847.0
отметка времени содержит строки и delta float64.
Я пытаюсь запустить KMeans (sklearn) и построить (используя matplotlib) точечный график с точками и относительными центроидами.
Мой код следующий:
delta = df['delta'].values
delta = delta.reshape(-1, 1)
timestamp = df['timestamp'].values
km = KMeans(n_clusters=3, random_state=0)
km.fit(delta)
km.predict(delta)
plt.scatter(timestamp, delta, c=km.labels_)
plt.scatter(km.cluster_centers_[:, 0], km.cluster_centers_[:, 1], c='red', marker='x')
plt.show()
ЭтоКод возвращает следующую ошибку:
IndexError: индекс 1 выходит за пределы для оси 1 с размером 1
В этой строке:
plt.scatter(km.cluster_centers_[:, 0], km.cluster_centers_[:, 1], c='red', marker='x')
Если я запускаю код без строки с ошибкой, точечная диаграмма отображается правильно.
Я пытался преобразовать метку времени в float64, но безуспешно.
Может кто-нибудь помочь мне с этой проблемой, пожалуйста?