2016-10-14 23 views
5

mam dataframe i kolumnę z datami wyglądaPandy: timestamp datetime

date 
1476329529  
1476329530  
1476329803 
1476329805 
1476329805 
1476329805 

używam df['date'] = pd.to_datetime(df.date, format='%Y-%m-%d %H:%M:%S') do konwersji, ale mi się dziwny Wynik

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 

Może zrobiłem coś źle

+1

Czy jesteś pewien, że nie powinno być 'pd.to_datetime (df [„data”], jednostka =„S”) '? – EdChum

+0

@EdChum, dziękuję! Myślę, że mam luki, pracując z datami –

Odpowiedz

7

To wygląda wyglądają znaczniki czasu epoki, który jest liczba sekund od 1 stycznia 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] 
2

Coś takiego może być:

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'