numpy datetime64 Addieren oder Subtrahieren des Datumsintervalls

8

Ich analysiere eine riesige ASCII-Datei mit Daten, die den Einträgen zugewiesen sind. Also habe ich das datetime-Paket parallel zu numpy.datetime64 benutzt, um Array-Fähigkeiten hinzuzufügen. Ich weiß, dass das Pandas-Paket wahrscheinlich am besten für das Date empfohlen wird, aber versuche es ohne Pandas. Ich habe nach einer ordentlichen Methode gesucht, um einen bestimmten Datenschritt wie ein Jahr oder 3 Monate von einem datetime64 Objekt hinzuzufügen oder zu subtrahieren.

Momentan konvertiere ich das dt64-Objekt in das dt-Objekt und benutze die replace-Funktion, um das Jahr zum Beispiel zu ändern und es danach in dt64 zurück zu konvertieren, was für mich ein wenig unordentlich ist. Ich würde mich freuen, wenn jemand eine bessere Lösung hat, die nur das Format numpy.datetime64 verwendet.

  

Beispiel: Konvertieren eines "YYYY-12-31" in "(YYYY-1) -12-31"

%Vor%     
Moe 03.04.2014, 15:30
quelle

2 Antworten

7

Sie können das Objekt numpy.timedelta64 verwenden, um Zeitdelta-Berechnungen für ein Objekt numpy.datetime64 durchzuführen, siehe Datetime- und Timedelta-Arithmetik .

Da ein Jahr entweder 365 oder 366 Tage sein kann, ist es nicht möglich, ein Jahr zu subtrahieren, aber Sie können stattdessen 365 Tage subtrahieren:

%Vor%

ergibt:

numpy.datetime64('2013-12-31')

    
Puggie 21.05.2014 16:56
quelle
1

Wie wäre es mit:

%Vor%

Ist Vektor-Pandas Verwendung und ich denke, es geht um Schaltjahre.

    
Charles 03.06.2017 11:18
quelle

Tags und Links