2017-04-03 2 views
0

Ich versuche Zeitindex zu setzen Datenrahmen Pandas pandas.to_datetime Funktion verwenden, aber das Ergebnis ist Datetime UTC wenn Sekunden Umwandlung, und während es nicht angefordert wird:Pandas to_datetime unerwartete UTC Rückkehr

import pandas 
import datetime,time 

datetime1 = '2017-03-30T12-00-00' 
d = datetime.datetime.strptime(datetime1, "%Y-%m-%dT%H-%M-%S") 
s = time.mktime(d.timetuple()) 

print pandas.to_datetime(datetime1, format = "%Y-%m-%dT%H-%M-%S") 
print pandas.to_datetime(s, unit='s') 

zwei Get unterschiedliche Ergebnisse, obwohl die Option utc von pandas.to_datetime nicht in beiden Fällen verwendet wird.

Irgendwelche Ideen?

Antwort

0

time.mktime() zurückkehren UTC standardmäßig nicht finden die docs für time.mktime():

Sein Argument ist die struct_time oder vollständige 9-Tupel [...], die die Zeit in Ortszeit, nicht UTC zum Ausdruck bringt.

+0

Ja, 'time.mktime()' gibt die Ortszeit zurück. Aber einmal in "pandas.to_datetime" ist das Pandas-Ergebnis UTC. – dgdm

+0

Mein Fehler war in 'mktime' Verständnis, ich hätte' calendar.timegm' verwenden sollen: 's = calendar.timegm (d.titupuple())' – dgdm

Verwandte Themen