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

Python使用pandas将Y-m-d H:M:S格式时间转换为int64整数

pandas将object类型时间列转为指定格式int64的实现方法

方案1:先转datetime类型(推荐,更稳妥)

先将object类型的时间列解析为pandas datetime格式,校验合法性后再格式化转整数,代码如下:

# 转换为datetime格式,format参数指定输入格式提升解析效率,errors='coerce'可将非法时间转为空值
data_A['time'] = pd.to_datetime(data_A['time'], format='%Y-%m-%d %H:%M:%S', errors='coerce')

# 格式化为YYYYMMDDHHMMSS字符串后转int64,可根据需求替换列名覆盖原time列
data_A['time_int'] = data_A['time'].dt.strftime('%Y%m%d%H%M%S').astype('int64')

适用场景:数据时间格式不统一、存在异常值的场景,自动校验格式避免转换错误。

方案2:直接字符串替换(高效)

如果确认所有时间值都严格遵循Y-m-d H:M:S格式,可直接删除分隔符后转整数,执行效率更高:

# 依次删除横杠、冒号、空格后转换为int64类型
data_A['time_int'] = data_A['time'].str.replace('-', '', regex=False)\
                                   .str.replace(':', '', regex=False)\
                                   .str.replace(' ', '', regex=False)\
                                   .astype('int64')

适用场景:数据质量可控、数据集规模较大的场景。

注意事项

  • 若时间列存在空值,转换前可先通过data_A['time'].dropna()删除空值,或使用.fillna('0')填充空值避免转换报错
  • 若需要直接覆盖原time列,将代码中的time_int替换为time即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 11:06:00