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

如何将Pandas DataFrame的Datetime列转换为Unix时间戳

要实现Datetime列转Epoch/Unix时间戳,只需要修改你现有代码中对time列的处理逻辑即可:你当前代码把time列转换成了格式化字符串,无法直接生成时间戳,需要在列还是datetime原生类型时完成转换。

两种常用时间戳转换方案

1. 秒级Unix时间戳(10位,标准时间戳)

直接替换你代码中df['time'] = df['time'].dt.strftime("%Y-%m-%d %H:%M:%S") 这一行为如下代码即可:

df['time'] = df['time'].astype('int64') // 10**9

2. 毫秒级Unix时间戳(13位,主流接口通用格式)

替换为如下代码:

df['time'] = df['time'].astype('int64') // 10**6

完整示例代码(以秒级时间戳为例)

import pandas as pd
import yfinance as yf
import numpy as np
import time
df = yf.download(tickers='^NSEI',period='1d',interval='15m')
df.reset_index(inplace=True)
df.rename(columns = {'Datetime':'time'}, inplace = True)
df['Date'] = df['time'].dt.strftime('%Y-%m-%d')
# 转换为秒级Unix时间戳
df['time'] = df['time'].astype('int64') // 10**9
# 如果需要同时保留可读时间格式,可以新增一列存储
# df['time_str'] = df['time'].dt.strftime("%Y-%m-%d %H:%M:%S")
df

补充说明:pandas的datetime类型底层存储的是纳秒级时间戳,所以做整除运算即可得到对应精度的Unix时间戳,自带时区的datetime会自动适配为正确的UTC时间戳,不需要额外处理时区偏移。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 23:24:03