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

基于时间戳差值与分钟数替换Pandas DataFrame列值为时间戳

解决方案

首先构造你的原始DataFrame(如果还没创建的话):

import pandas as pd

data = {'2022-01-02 21:00:00+01:00': [5.53, 4.7, 9.15, 26.2, 26.54]}
df = pd.DataFrame(data, index=[20, 15, 10, 5, 0])
df.index.name = 'minutes'

接下来执行以下步骤替换索引:

  1. 提取基准时间戳:把列名的字符串时间转为Pandas datetime对象
base_time = pd.to_datetime(df.columns[0])
  1. 转换索引为时间差:将原索引的分钟数值转为时间间隔类型
offset = pd.to_timedelta(df.index, unit='minutes')
  1. 计算新索引并替换:用基准时间减去对应时间差,替换原索引
df.index = base_time - offset

执行完后,你的DataFrame就会变成期望的格式:

minutes                       2022-01-02 21:00:00+01:00
2022-01-02 20:40:00+01:00     5.53
2022-01-02 20:45:00+01:00     4.70
2022-01-02 20:50:00+01:00     9.15
2022-01-02 20:55:00+01:00     26.20
2022-01-02 21:00:00+01:00     26.54

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 22:55:16