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

如何将pandas.timedelta64[ns]类型数据转换为纳秒级整数?

Pandas Timedelta类型列转纳秒整数的实现方法

你遇到的两个报错核心原因是Time列实际为object存储类型,列中是独立的pandas.Timedelta对象,而非统一的timedelta64[ns]数值数组,因此直接做类型强转或内存视图修改都会失败。

正确实现步骤如下:

  1. 先将列转换为标准的timedelta64[ns]类型
import pandas as pd
df['Time'] = pd.to_timedelta(df['Time'])
  1. 转换为纳秒单位的整数,有两种兼容性较好的方案:
  • 方案1:通过总秒数换算,适配所有pandas版本
df['Time'] = (df['Time'].dt.total_seconds() * 1e9).astype('int64')
  • 方案2:直接调用dt.value属性获取纳秒数值,代码更简洁
df['Time'] = df['Time'].dt.value

如果列中包含空Timedelta值,可以改用可空整数类型避免报错:

df['Time'] = (df['Time'].dt.total_seconds() * 1e9).astype('Int64')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:36:02