我有一个像这样的简单数据框
a
我想将此日期时间转换为具有正确时区的纪元。所以我在做
Started
job
446 2016-09-29 08:53:24
447 2016-09-29 08:54:37
448 2016-09-29 08:55:49
449 2016-09-29 08:57:00
450 2016-09-29 08:58:12
这有效,但我得到的时代是UTC。我怎样才能获得EDT?
答案 0 :(得分:1)
我认为你需要tz_localize
:
#dtype of Started is datetime
df['started_epoch'] = df.Started.dt.tz_localize('EST5EDT').astype(np.int64)//10**9
print (df)
job Started started_epoch
0 446 2016-09-29 08:53:24 1475153604
1 447 2016-09-29 08:54:37 1475153677
2 448 2016-09-29 08:55:49 1475153749
3 449 2016-09-29 08:57:00 1475153820
4 450 2016-09-29 08:58:12 1475153892
我尝试测试它似乎有效:
df['started_epoch'] = df.Started.dt.tz_localize('EST5EDT').astype(np.int64)//10**9
df['started_epoch1'] = df.Started.astype(np.int64)//10**9
print (df)
job Started started_epoch started_epoch1
0 446 2016-09-29 08:53:24 1475153604 1475139204
1 447 2016-09-29 08:54:37 1475153677 1475139277
2 448 2016-09-29 08:55:49 1475153749 1475139349
3 449 2016-09-29 08:57:00 1475153820 1475139420
4 450 2016-09-29 08:58:12 1475153892 1475139492