Newbie_Python
Newbie_Python

Reputation: 115

Need to convert epoch time to EST using pandas

I do have a dataframe like this -> df

     timestamp      values

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

Here timestamp has the epoch time. I want to convert this into a datetime in the format 2019-11-20 04:03:01. I would like to convert this into a EST date. When I do

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

I get the conversion and the required format but the time doesn't seem to be in EST. It is 4 hours ahead of EST. I have tried to convert utc to Eastern using the code

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

But I am getting an error

TypeError: index is not a valid DatetimeIndex or PeriodIndex

Upvotes: 2

Views: 1240

Answers (1)

BENY
BENY

Reputation: 323276

You should adding dt , since your input is series not 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]

Upvotes: 3

Related Questions