将时区日期列转换为时间戳格式
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
我有包含日期的列,格式如下所示....
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