Reputation: 4432
I have dataframe and column with dates looks like
date
1476329529
1476329530
1476329803
1476329805
1476329805
1476329805
I use df['date'] = pd.to_datetime(df.date, format='%Y-%m-%d %H:%M:%S')
to convert that, but I'm get strange result
date
1970-01-01 00:00:01.476329529
1970-01-01 00:00:01.476329530
1970-01-01 00:00:01.476329803
1970-01-01 00:00:01.476329805
1970-01-01 00:00:01.476329805
1970-01-01 00:00:01.476329805
Maybe I did anything wrong
Upvotes: 13
Views: 14371
Reputation: 393893
This looks look epoch timestamps which is number of seconds since 1st January 1970 :
In [71]:
pd.to_datetime(df['date'], unit='s')
Out[71]:
0 2016-10-13 03:32:09
1 2016-10-13 03:32:10
2 2016-10-13 03:36:43
3 2016-10-13 03:36:45
4 2016-10-13 03:36:45
5 2016-10-13 03:36:45
Name: date, dtype: datetime64[ns]
Upvotes: 20
Reputation: 3930
Something like this maybe:
import datetime
date = datetime.datetime.fromtimestamp(1476329529)
date
# gives
# datetime.datetime(2016, 10, 13, 5, 32, 9)
str(date) # '2016-10-13 05:32:09'
Upvotes: 2