python
  • pandas
  • time-series
  • 2017-04-14 1 views 1 likes 
    1

    Ich versuche, einen Zeitreihenindex mit Pandas zu erstellen. Momentan ist dies der Code, den ich verwende:Wie man eine Zeitreihe mit Pandas (Python) richtig verwendet

    date_string = df3["Date"] 
    date_times = pd.to_datetime(date_string, yearfirst=True, format='%Y%m%d%H%M') 
    df3_i = df3.set_index(date_times) 
    

    Trotzdem bekomme ich konstante Fehler. Kann mir jemand erklären? Fehler:

    ValueError: time data '2017-03-08 13:53' does not match format '%Y%m%d%H:%M' (match) 
    

    Antwort

    0

    Das ist, weil das Format '%Y-%m-%d %H:%M'

    Es gibt spezielle Zeichenkombinationen, die die numerischen Komponenten des Datums und der Zeit darstellen sollen. Eine gute Referenz finden Sie here

    Sie haben eine Zeit Zeichenfolge von '2017-03-08 13:53' wie von Ihnen Fehlermeldung angezeigt. Aus dem Link finden Sie, dass:

    • 4 stelliges Jahr ist '%Y'
    • 2-stelliger Monat '%m'
    • 2-stelliger Tag ist '%d'
    • 2-stellige Stunde ist '%H'
    • 2-stellige Minute ist '%M'

    So müssen Sie immer noch die andere Zeichenfolge darstellen Bits wie die Striche, Raum und Kolon

    So '%Y-%m-%d %H:%M'

    verwenden stattdessen

    date_string = df3["Date"] 
    date_times = pd.to_datetime(date_string, yearfirst=True, format='%Y-%m-%d %H:%M') 
    df3_i = df3.set_index(date_times) 
    

    Wenn das nicht funktioniert, dann haben Sie inkonsistent Datumsformate und meine erste Maßnahme würde sei es, jemanden anzubrüllen, der das Ding erschaffen hat, das ich zu analysieren versuche.

    Wenn dies Ihr Szenario ist, stellen Sie eine andere Frage ... Oder ich könnte.

    +1

    Ich empfehle die Verwendung von 'infer_datetime_format = True' und umgehen Sie alle statisch codierten Format insgesamt ... es sei denn, Sie sind 100% sicher, das Format. Es beschleunigt normalerweise auch das Parsen. – pshep123

    +0

    Das hat nicht funktioniert. Und ich habe mir schon die Quelle für die Antworten angeschaut, aber ich bekomme immer noch einen Fehler. Ich denke, einige der Daten haben keine führenden Nullen. –

    Verwandte Themen