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

Python如何指定频率生成毫秒分辨率等间隔时间戳序列

实现方案

可以直接通过Python标准库完成需求,不需要额外依赖,核心分为三步:解析输入时间、计算采样间隔、生成无累计误差的时间序列,具体实现如下:

标准库实现(无第三方依赖)

  • 时间解析使用datetime.strptime,严格匹配dd/mm/yyyy hh:MM:ss.sss的输入格式,注意格式占位符不要混淆月份%m和分钟%M
  • 采样间隔计算:频率单位为Hz时,相邻时间戳的间隔为1000/freq_hz毫秒,直接传入timedelta生成时间差对象
  • 时间点生成采用「起始时间+索引*间隔」的方式计算,避免循环累加间隔带来的浮点数累计误差,保证毫秒级精度
from datetime import datetime, timedelta

def generate_ms_timestamps(start_str: str, end_str: str, freq_hz: float) -> list[str]:
    # 匹配输入输出的时间格式
    time_fmt = "%d/%m/%Y %H:%M:%S.%f"
    start_dt = datetime.strptime(start_str, time_fmt)
    end_dt = datetime.strptime(end_str, time_fmt)

    # 计算相邻点时间间隔、总采样点数
    interval = timedelta(milliseconds=1000 / freq_hz)
    total_seconds = (end_dt - start_dt).total_seconds()
    total_points = int(total_seconds * freq_hz) + 1  # 包含起始、结束两个端点

    ts_list = []
    for idx in range(total_points):
        current_ts = start_dt + idx * interval
        # %f默认输出6位微秒,截断后3位得到3位毫秒的标准格式
        ts_list.append(current_ts.strftime(time_fmt)[:-3])
    return ts_list

简便实现(基于Pandas)

如果日常数据分析环境已经安装Pandas,可以直接用内置的date_range方法生成时间序列,代码更简洁,精度控制更稳定:

import pandas as pd

def generate_ms_timestamps_pd(start_str: str, end_str: str, freq_hz: float) -> list[str]:
    time_fmt = "%d/%m/%Y %H:%M:%S.%f"
    # 转换为pandas支持的毫秒级频率标识
    pd_freq = f"{1000 / freq_hz}L"
    ts_range = pd.date_range(
        start=pd.to_datetime(start_str, format=time_fmt),
        end=pd.to_datetime(end_str, format=time_fmt),
        freq=pd_freq
    )
    # 格式化输出为指定格式的字符串
    return ts_range.strftime(time_fmt).str[:-3].tolist()

使用示例

if __name__ == "__main__":
    start = "15/03/2024 12:30:00.000"
    end = "15/03/2024 12:30:01.000"
    freq = 100  # 100Hz采样,间隔10ms
    ts_list = generate_ms_timestamps(start, end, freq)
    print(ts_list)
    # 输出长度为101,第一个元素为'15/03/2024 12:30:00.000',最后一个为'15/03/2024 12:30:01.000'

注意:如果不需要输出字符串格式的时间戳,直接在代码中保留datetime/Timestamp对象即可,原生对象支持微秒级精度,完全满足毫秒分辨率的存储要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 10:12:16