Python Pandas:将小时增量Datetime转为15分钟增量并保留对应值
解决方法:将Pandas时间序列转为15分钟增量并保留原数值
嗨~刚接触Stack Overflow提问很正常,别担心!你已经找对方向啦,用asfreq()方法完全能搞定这个需求,我来给你补全细节和步骤:
第一步:确保时间列是datetime类型并设为索引
asfreq()是基于Datetime索引工作的,所以先做这两步:
- 如果你的Datetime列还不是datetime格式,先转换:
df['Datetime'] = pd.to_datetime(df['Datetime']) - 把Datetime列设置为DataFrame的索引:
df = df.set_index('Datetime')
第二步:转换为15分钟频率并填充数值
这就是你之前尝试的方法,完整写法如下,method='ffill'会把每小时的原数值向前填充到后续的15分钟区间里:
df = df.asfreq('15Min', method='ffill')
可选:将索引转回普通列
如果之后需要把Datetime变回普通列而非索引,执行:
df = df.reset_index()
举个直观的例子
假设你原来的数据是这样的:
| Datetime | Value |
|---|---|
| 2024-01-01 00:00:00 | 10 |
| 2024-01-01 01:00:00 | 20 |
执行上述代码后,会得到:
| Datetime | Value |
|---|---|
| 2024-01-01 00:00:00 | 10 |
| 2024-01-01 00:15:00 | 10 |
| 2024-01-01 00:30:00 | 10 |
| 2024-01-01 00:45:00 | 10 |
| 2024-01-01 01:00:00 | 20 |
| 2024-01-01 01:15:00 | 20 |
| ... | ... |
这样就完美实现了15分钟增量且保留原数值的需求啦!
内容的提问来源于stack exchange,提问作者tsbeginner
相关产品推荐
相关产品推荐

