You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python散点图中将K-means聚类后的时间戳转为可读日期

解决K-means聚类后绘图显示可读日期而非时间戳的问题

我来帮你搞定这个问题!核心思路很简单:用时间戳完成K-means计算后,把对应的时间戳数据转换回你需要的日期格式(比如01/11/2019),再用转换后的日期来绘图,这样就能在图表上显示友好的日期了。

下面是具体的步骤和代码修改方案:

第一步:把时间戳转换为可读日期

你有两种方式获取格式化后的日期,选哪种取决于你的原始数据结构:

方式1:从聚类用的时间戳数组X转换

如果你的原始DataFrame里没有单独的日期列,可以直接把X里的时间戳转成日期:

import pandas as pd

# 提取X中的时间戳列,转为pandas Series
timestamp_series = pd.Series(X[:, 0])
# 把时间戳转为datetime对象(unit='s'表示是秒级时间戳,根据你的实际情况调整)
date_objects = pd.to_datetime(timestamp_series, unit='s')
# 格式化为dd/mm/yyyy的字符串格式
formatted_dates = date_objects.dt.strftime('%d/%m/%Y')

方式2:直接用原始DataFrame的日期列(更推荐)

如果你的原始DataFrame里本来就有日期格式的列(比如叫date),直接用这个列转换会更准确,避免重复转换可能带来的误差:

import pandas as pd

# 假设你的日期列是df['date'],先确保它是datetime类型
df['date'] = pd.to_datetime(df['date'])
# 格式化为你需要的日期字符串
formatted_dates = df['date'].dt.strftime('%d/%m/%Y')

第二步:修改Plotly绘图代码

把原来go.Scatter里的x参数,从时间戳数组换成我们刚生成的formatted_dates,同时聚类中心的时间戳也要转换:

# 替换Cluster 2的x轴数据
cluster_figure.add_trace(go.Scatter(
    x=formatted_dates[y_kmeans == 1], 
    y=X[y_kmeans == 1, 1], 
    mode='markers', 
    marker=dict(color='blue'), 
    name='Cluster 2'
))

# 替换Cluster 3的x轴数据
cluster_figure.add_trace(go.Scatter(
    x=formatted_dates[y_kmeans == 2], 
    y=X[y_kmeans == 2, 1], 
    mode='markers', 
    marker=dict(color='green'), 
    name='Cluster 3'
))

# 转换聚类中心的时间戳并替换x轴数据
centroid_timestamps = kmeans.cluster_centers_[:, 0]
centroid_dates = pd.to_datetime(centroid_timestamps, unit='s').dt.strftime('%d/%m/%Y')
cluster_figure.add_trace(go.Scatter(
    x=centroid_dates, 
    y=kmeans.cluster_centers_[:, 1], 
    mode='markers', 
    marker=dict(color='yellow'), 
    name='Centroids'
))

第三步:优化x轴显示(可选)

为了避免日期标签重叠,你可以给x轴设置旋转角度和格式化:

cluster_figure.update_layout(
    xaxis=dict(
        tickangle=45,  # 旋转标签45度,避免拥挤
        tickformat='%d/%m/%Y',  # 确保显示的格式正确
        title='Date'  # 给x轴加个清晰的标题
    )
)

这样修改后,你的散点图x轴就会显示01/11/2019这类友好的日期,而不是一串数字时间戳啦!

内容的提问来源于stack exchange,提问作者moro_92

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 09:13:48