无法绘制Pandas DataFrame或计算均值:Datetime列KeyError问题
Pandas分组后丢失Datetime列,触发KeyError报错
数据与操作流程
原始数据格式:
Date Time Data1 Data2 2021-11-15 1:00:05 100 20 2021-11-15 1:00:10 200 21
先合并Date和Time列生成Datetime字段:
df['Datetime'] = pd.to_datetime(df['Date'].astype(str) + ' ' + df['Time'].astype(str))
接着按小时粒度分组计算均值,并重置索引:
df2 = df.groupby(pd.Grouper(freq='H', key='Datetime')).mean().reset_index() df2 = df2[(df2['Datetime'] > '2022-09-16') & (df2['Datetime'] < '2022-10-01')]
问题现象
执行以下任意操作时,都会抛出KeyError: Datetime:
# 绘制时序图 df2.plot(x='Datetime', y='Data1') plt.show() # 计算时间差均值 a = pd.to_timedelta(df2['Datetime'] + ':00').mean()
查看df2.columns确认,Datetime列并未出现在分组后的DataFrame中。按常规逻辑,使用reset_index()应该会把分组用的Datetime索引转为列,但实际未生效,求解决方法。
内容的提问来源于stack exchange,提问作者subhasmita
相关产品推荐
相关产品推荐

