Ich habe eine CSV-Datei mit einer Zeitspalte, die POSIX-Zeitstempel in Millisekunden darstellt. Wenn ich es in Pandas lese, liest es es korrekt als Int64, aber ich möchte es in einen DatetimeIndex konvertieren. Im Moment konvertiere ich es zuerst in Datetime-Objekt und dann in einen DatetimeIndex.Idiomatische Art, POSIX-Zeitstempel in Pandas zu analysieren?
In [20]: df.time.head()
Out[20]:
0 1283346000062
1 1283346000062
2 1283346000062
3 1283346000062
4 1283346000300
Name: time
In [21]: map(datetime.fromtimestamp, df.time.head()/1000.)
Out[21]:
[datetime.datetime(2010, 9, 1, 9, 0, 0, 62000),
datetime.datetime(2010, 9, 1, 9, 0, 0, 62000),
datetime.datetime(2010, 9, 1, 9, 0, 0, 62000),
datetime.datetime(2010, 9, 1, 9, 0, 0, 62000),
datetime.datetime(2010, 9, 1, 9, 0, 0, 300000)]
In [22]: pandas.DatetimeIndex(map(datetime.fromtimestamp, df.time.head()/1000.))
Out[22]:
<class 'pandas.tseries.index.DatetimeIndex'>
[2010-09-01 09:00:00.062000, ..., 2010-09-01 09:00:00.300000]
Length: 5, Freq: None, Timezone: None
Gibt es einen idiomatischen Weg, dies zu tun? Und, noch wichtiger, ist dies die empfohlene Methode zum Speichern von nicht eindeutigen Zeitstempeln in Pandas?
Danke! Das ist einfacher als das, was ich gemacht habe. Denkst du Pandas ist ein gutes Werkzeug für unregelmäßig beabstandete, nicht eindeutig Zeitstempel Zeitreihen? – signalseeker
Pandas ist in der Lage, unregelmäßig beabstandete, nicht eindeutig mit Zeitstempel versehene Zeitreihen zu verarbeiten. Zeitserie ist eine große Sache für Pandas –