Wie parsen Sie Zeitdaten, wenn die Zeit im Format 2007-08-06T18:11:44.688Z
ist, aber behandelt keine Millisekunden als 2007-08-06T18:11:44Z
?Pandas - Parse Zeitdaten mit und ohne Millisekunden
pd.to_datetime(x.split('Z')[0], errors='coerce', format='%Y-%m-%dT%H:%M:%S.%f')
zu entfernen entfernen die Zulu-Markierung fehlschlägt aufgrund der .
manchmal fehlt.
pd.to_datetime(x.split('.')[0], errors='coerce', format='%Y-%m-%dT%H:%M:%S')
zum Entfernen der Millisekunden fehlschlägt aufgrund der .
manchmal fehlt.
pd.to_datetime(x.split('.|Z')[0], errors='coerce', format='%Y-%m-%dT%H:%M:%S')
scheitert manchmal auch, obwohl es so aussieht, als sollte es sich in beiden Fällen teilen, wobei das 0-Element der Teil ist, den wir wollen, und somit immer eine gültige Zeit in Sekunden angibt.
Das sehr umständlich' pd.to_datetime (x.split() [0] .split (' Z ') [0], Format =' % Y-% m- % dT% H:% M:% S ') scheint zu funktionieren, aber die Verdoppelung des Split-Vorgangs erhöht die Laufzeit. – Elliot
in Pandas 0.18.1 'pd.to_datetime (pd.Series (['2007-08-06T18: 11: 44.688Z']))' gibt zurück: '0 2007-08-06 18: 11: 44.688',' dtype : datetime64 [ns] '. Welche Pandas Version benutzt du? – MaxU
0.16.2 (aus Python x, y) – Elliot