Я использую алгоритм K означает, что для вычисления количества кластеров, необходимых для моих данных, а также для отображения результатов в точечной диаграмме. Проблема в том, что для этого алгоритма мне нужно использовать даты в качестве кодов, например 1572559240. После вычисления кластеров, как я могу построить значения дат, такие как 01/11/2019 вместо кода? Это фрагмент для построения.
X = df.iloc[:, [0, 8]].values # time code and ch2o values
cluster_figure.add_trace(go.Scatter(x=X[y_kmeans == 1, 0], y=X[y_kmeans == 1, 1], mode='markers',
marker=dict(color='blue'), name='Cluster 2'))
cluster_figure.add_trace(go.Scatter(x=X[y_kmeans == 2, 0], y=X[y_kmeans == 2, 1], mode='markers',
marker=dict(color='green'), name='Cluster 3'))
cluster_figure.add_trace(go.Scatter(x=kmeans.cluster_centers_[:, 0], y=kmeans.cluster_centers_[:, 1], mode='markers',
marker=dict(color='yellow'), name='Centroids'))
Вот ссылка на полный код: https://colab.research.google.com/drive/1zd22Pz-rjvDsmAtE5b5J8gE9DJysAo9v
1 ответ
Модуль datetime может справиться с этим -
from datetime import datetime
timestamp = 1576748381
date = datetime.fromtimestamp(timestamp)
Теперь вы можете отформатировать это с помощью конвертера дата-время в строку (например, date.strftime('%d/%m/%Y')
. Вы можете добавить столбец к вашей df с датами в этом формате вдоль строк
df['date']=df.apply(lambda r:datetime.datetime.fromtimestamp(r[0]).strftime('%d/%m/%Y'),axis=1)
а затем использовать их для значений х вместо времени эпохи, например
cluster_figure.add_trace(go.Scatter(x=X[y_kmeans == 1, 9], y=X[y_kmeans == 1, 1], mode='markers', marker=dict(color='blue'), name='Cluster 2'))
предполагая, что столбцы даты оказались столбцом № 9; из вашего определения X похоже, что столбцы 0-8 заполнены.
Похожие вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.