Python pandas ganze Zahl JJJJMMTT, datetime
Entschuldigen uns im Voraus für diese, aber nach zwei Stunden suchen und versuchen, ich kann nicht die richtige Antwort hier. Ich habe einen Daten-frame, bevölkert über pandas io-sql.read_frame().
Die Spalte, erweist sich als zu viel für mich ist der dtype
int64
. Die ganzen zahlen das format YYYYMMDD
. zum Beispiel 20070530
- 30 Mai 2007. Ich habe versucht eine Reihe von Ansätzen, die sich am deutlichsten;
pd.to_datetime(dt['Date'])
und pd.to_datetime(str(dt['Date']))
mit mehreren Variationen auf die Funktionen, die verschiedene Parameter.
Das Ergebnis ist, im besten Fall, dass das Datum interpretiert als die Zeit. Das Datum ist festgelegt 1970-01-01
- Ergebnis nach oben Beispiel 1970-01-01 00:00:00.020070530
Ich habe auch versucht, verschiedene .map()
Funktionen, die in ähnlich Beiträge.
Habe ich bemerkt, dass nach np.date_range()
interpretieren kann, die string-Werte im format YYYYMMDD
aber das ist das nächste ich bin gekommen, um zu sehen, eine Lösung.
Wenn jemand eine Antwort hat wäre ich sehr dankbar!
EDIT: In Anbetracht der Antwort von Ed-Chum, das problem ist wahrscheinlich im Zusammenhang mit der Kodierung. rep()
auf eine Teilmenge der dataFrame ergibt:
OrdNo LstInvDt\n0
9 20070620\n1
11 20070830\n2
19 20070719\n3
21 20070719\n4
23 20070719\n5
26 20070911\n7
29 20070918\n8
31 0070816\n9
34 20070925\n10
Dies ist, wenn LstInvDt
ist dtype int64.
InformationsquelleAutor der Frage Rookie | 2014-12-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
to_datetime
akzeptiert eine format-string:Beispiel:
BEARBEITEN
Tatsächlich, es ist schneller, konvertieren Sie den Typ auf string konvertieren und dann die gesamte Serie in einen datetime-eher als Aufruf gelten, die auf jeden Wert:
timings
InformationsquelleAutor der Antwort EdChum