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

基于时间索引的多DataFrame特定列聚合值无偏移绘图问题

问题描述

现有三个包含date_time和value列的Pandas DataFrame,已通过pd.concat结合groupby生成按时间戳聚合求和的汇总DataFrame。但当前绘图代码导致df2、df3出现时间偏移,需在同一图表中无偏移展示三个原始DataFrame的value列及汇总DataFrame的value列。

问题原因

当前代码直接对value列绘图时,Pandas默认使用DataFrame的整数索引作为x轴,而非date_time列。由于df1、df2、df3的时间序列起始点不同,但整数索引均从0开始,绘图时会将三个DataFrame的第0行对齐到x轴同一位置,导致时间偏移。

解决方案

将所有DataFrame的date_time列转换为时间类型并设置为索引,让绘图时以实际时间戳作为x轴,确保数据按真实时间对齐。

完整代码
import pandas as pd
import matplotlib.pyplot as plt

labels=['1','2','3','Aggregated']

# 初始化并处理原始DataFrame
df1 = pd.DataFrame({
    'date_time': ["2022-10-06 17:23:11","2022-10-06 17:23:12","2022-10-06 17:23:13","2022-10-06 17:23:14","2022-10-06 17:23:15","2022-10-06 17:23:16"],
    'value': [4, 5, 6, 7, 8, 9]
})
df1['date_time'] = pd.to_datetime(df1['date_time'])
df1.set_index('date_time', inplace=True)

df2 = pd.DataFrame({
    'date_time': ["2022-10-06 17:23:13","2022-10-06 17:23:14","2022-10-06 17:23:15","2022-10-06 17:23:16","2022-10-06 17:23:17","2022-10-06 17:23:18"],
    'value': [4, 5, 6, 7, 8, 9]
})
df2['date_time'] = pd.to_datetime(df2['date_time'])
df2.set_index('date_time', inplace=True)

df3 = pd.DataFrame({
    'date_time': ["2022-10-06 17:23:16","2022-10-06 17:23:17","2022-10-06 17:23:18","2022-10-06 17:23:19","2022-10-06 17:23:20","2022-10-06 17:23:21"],
    'value': [4, 5, 6, 7, 8, 9]
})
df3['date_time'] = pd.to_datetime(df3['date_time'])
df3.set_index('date_time', inplace=True)

# 生成聚合DataFrame
combined_data = pd.concat([df1, df2, df3])
df_aggregated = combined_data.groupby(level='date_time')['value'].sum().reset_index()
df_aggregated.set_index('date_time', inplace=True)

# 绘制时间序列图
for data_frame, label in zip([df1, df2, df3, df_aggregated], labels):
    data_frame['value'].plot(label=label)

# 配置图表样式
plt.legend()
plt.xlabel('时间')
plt.ylabel('数值')
plt.title('原始数据与聚合数据时间序列对比')
plt.show()
关键说明
  • 将date_time转换为datetime类型并设为索引,确保x轴对应真实时间戳,避免偏移。
  • 聚合时基于时间索引分组,保证汇总结果的时间轴与原始数据一致。
  • 添加图例、坐标轴标签和标题,提升图表可读性。

内容的提问来源于stack exchange,提问作者H.Jamil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 08:01:01