将时区日期列转换为时间戳格式

Convert time zone date column to timestamp format

我有包含日期​​的列,格式如下所示....

2021-09-02 06:00:10.474000+00:00

但是,我需要将此列转换为 13 位编号的时间戳。

我试过了...

df['date_timestamp'] = df[['date']].apply(lambda x: x[0].timestamp(), axis=1).astype(int)

...但这不会产生 13 个编号的时间戳,而是 10 个数字。

如何让它吐出一个 13 编号的时间戳?

你解析到日期时间,采用 int64 表示并将其除以 1e6 以获得自纪元(1970-01-01 UTC)以来以毫秒为单位的 Unix 时间。例如:

import numpy as np
import pandas as pd

# string to datetime
s = pd.to_datetime(["2021-09-02 06:00:10.474000+00:00"])

# datetime to Unix time in milliseconds
unix = s.view(np.int64)/1e6

print(unix[0])
# 1630562410473.9998

标准的 int64 表示是纳秒;如果需要 微秒.

,则除以 1e3