需要使用 pandas 将纪元时间转换为 EST

Need to convert epoch time to EST using pandas

我确实有这样的数据框 -> df

     timestamp      values

0    1574288141       34  
1    1574288241       23
2    1574288341       22
3    1574288441       10

这里的时间戳是纪元时间。我想将其转换为格式为 2019-11-20 04:03:01datetime。我想将其转换为 EST 日期。 当我做

pd.to_datetime(df['timestamp'], unit='s')

我得到了转换和所需的格式,但时间似乎不在 EST。比 EST 早 4 小时。 我尝试使用代码

将 utc 转换为 Eastern

pd.to_datetime(df['timestamp'], unit='s').tz_localize('utc').dt.tz_convert('US/Eastern')

但是我收到一个错误

TypeError: index is not a valid DatetimeIndex or PeriodIndex

您应该添加 dt ,因为您的输入是 series 而不是 index

pd.to_datetime(df.timestamp,unit='s').dt.tz_localize('utc').dt.tz_convert('US/Eastern')
Out[8]: 
0   2019-11-20 17:15:41-05:00
1   2019-11-20 17:17:21-05:00
2   2019-11-20 17:19:01-05:00
3   2019-11-20 17:20:41-05:00
Name: timestamp, dtype: datetime64[ns, US/Eastern]