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

如何绘制格式为"yyyy-mm-dd hh:mm:ss"的电力消耗时序数据?

电力消耗小时级时间序列绘图问题

我手头有大量按小时拆分的电力消耗数据,正在开展ARIMA分析,但绘图时遇到两个问题:

  • x轴日期显示异常:截图中x轴日期格式混乱、刻度重叠,无法清晰展示小时级时间序列的时间逻辑
  • 数据曲线显示异常:截图中数据走势出现大量无意义的突变、毛刺,不符合电力消耗的正常波动规律

一、修复x轴日期显示问题

  1. 强制解析时间列为datetime类型
    读取数据时必须明确将时间列转为时间索引,避免默认按字符串处理:

    import pandas as pd
    # 替换成你实际的时间列名
    df = pd.read_csv("data.csv", parse_dates=["timestamp"], index_col="timestamp")
    # 验证解析结果,应该显示连续的DatetimeIndex
    print(df.index[:5])
    
  2. 自定义绘图的日期刻度规则
    用matplotlib调整刻度密度与显示格式,避免重叠:

    import matplotlib.pyplot as plt
    import matplotlib.dates as mdates
    
    plt.figure(figsize=(14,7))
    plt.plot(df.index, df["power_consumption"])  # 替换成你的消耗数据列名
    # 设置每6小时显示一个刻度
    plt.gca().xaxis.set_major_locator(mdates.HourLocator(interval=6))
    # 设置日期显示格式为「年-月-日 时」
    plt.gca().xaxis.set_major_formatter(mdates.DateFormatter("%Y-%m-%d %H"))
    # 旋转标签避免重叠
    plt.xticks(rotation=45)
    plt.tight_layout()
    plt.show()
    

二、修复数据显示异常问题

  1. 排查并处理异常值
    先定位数据中的极值、缺失值:

    # 查看缺失值数量
    print(df.isnull().sum())
    # 查看数值分布,识别超出合理范围的极值
    print(df["power_consumption"].describe())
    # 筛选偏离均值3倍标准差的异常值
    std_threshold = df["power_consumption"].mean() + 3 * df["power_consumption"].std()
    outliers = df[df["power_consumption"] > std_threshold]
    print("异常值数量:", len(outliers))
    

    处理方式:可直接删除异常行,或用同时间段的均值填充,比如:

    # 用前后1小时的均值填充异常值
    df["power_consumption"] = df["power_consumption"].mask(df["power_consumption"] > std_threshold, df["power_consumption"].rolling(3, center=True).mean())
    
  2. 确保时间序列的连续性
    检查时间索引是否存在跳点或重复:

    # 查看时间间隔分布,正常应该全是1小时
    print(df.index.to_series().diff().value_counts())
    # 检查重复时间点数量
    print("重复时间点:", df.index.duplicated().sum())
    

    补全缺失时间点:

    # 按小时频率补全,缺失值用前向填充
    df = df.asfreq("H", method="ffill")
    

    删除重复时间点:

    df = df[~df.index.duplicated()]
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 19:14:53