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

如何将DataFrame中不规则时间字符串转换为Python可处理的时间戳?

解决方法

错误原因

pd.Timestamp 是用来创建单个时间戳对象的工具,无法直接接收整个 pandas Series 作为输入,这就是触发 TypeError 的原因。处理整列时间字符串,应该用专门的批量转换函数 pd.to_datetime。

正确转换步骤

你的时间字符串格式是 YYYY.MM.DD HH:MM:SS.FFFFFFF(中间用D分隔日期和时间),需要给 pd.to_datetime 指定匹配的格式字符串,确保精准转换:

import pandas as pd

# 转换datetime列
df['datetime'] = pd.to_datetime(df['datetime'], format='%Y.%m.%dD%H:%M:%S.%f')

格式字符串说明

  • %Y: 4位年份(如2022)
  • %m: 2位月份(如11)
  • %d: 2位日期(如02)
  • D: 固定分隔字符(直接写在格式串里)
  • %H: 24小时制小时(如12)
  • %M: 分钟(如00)
  • %S: 秒(如00)
  • %f: 微秒/纳秒部分(你的字符串是9位,pandas会自动处理纳秒精度)

验证转换结果

转换完成后,你可以用 df['datetime'].dtype 查看类型,会显示为 datetime64[ns](支持纳秒精度),此时就可以正常进行时间戳的各种操作,比如提取时间分量、计算时间差等。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 08:55:17