Seite 1 von 1

datetime64 vergleichen - Format unterschiedlich

Verfasst: Dienstag 15. Dezember 2020, 12:37
von naheliegend
Hi,

irgendwie bekomme ich es nicht hin zwei datetime64 zu vergleichen, weil Tage und Monate an unterschiedlichen stellen stehen und ich ich das nicht formatiert bekomme:

bzw ich habe einen Zeitstempel:

Code: Alles auswählen

 >> zeitstempel 
 {datetime64} 2020-27-10 23:44:43
und eine pandas column mit Einträgen wie folgt:

Code: Alles auswählen

>> df['Zeit'].iloc[0]
{datetime64} 2020-10-28 20:00:01
Wie kann ich die beiden datimes ins gleiche Format bringen und dann vergleichen?

LG

Re: datetime64 vergleichen - Format unterschiedlich

Verfasst: Dienstag 15. Dezember 2020, 13:53
von narpfel
Moin,

ich kann mir nicht vorstellen, dass du ein Datetime-Objekt mit dem Wert „10.27.2020“ erstellen kannst. Zeig den Code, der das Objekt erstellt, und guck dir am besten auch mal die Schlüsselwortparameter zu `pd.read_csv` an. Da gibt es welche, um Datumsangaben zu parsen.

`2020-27-10` ist übrigens immer falsch. Es gibt keinen Standard, in dem YYYY-dd-mm geschrieben wird. Falls du das so selbst erzeugst, solltest du das ändern; falls du das von einem externen Tool bekommst, wäre das in meinen Augen einen Bugreport wert.

Re: datetime64 vergleichen - Format unterschiedlich

Verfasst: Dienstag 15. Dezember 2020, 15:27
von naheliegend
Das habe ich mir auch gedacht.

Bekomme es dadurch, dass ich auf einen pandas DF to_datetime anwende:

Code: Alles auswählen

import pandas as pd

Code: Alles auswählen

df['Datum']
0        07.11.2020 23:30:28
1        07.11.2020 23:29:50
2        07.11.2020 23:29:02
3        07.11.2020 23:28:28
4        07.11.2020 23:27:42
                ...         
24704    06.11.2020 23:32:04
24705    06.11.2020 23:32:04
24706    06.11.2020 23:31:57
24707    06.11.2020 23:31:45
24708    06.11.2020 23:30:45
Name: Datum, Length: 24709, dtype: object

Code: Alles auswählen

pd.to_datetime(df['Datum'])
0       2020-07-11 23:30:28
1       2020-07-11 23:29:50
2       2020-07-11 23:29:02
3       2020-07-11 23:28:28
4       2020-07-11 23:27:42
                ...        
24704   2020-06-11 23:32:04
24705   2020-06-11 23:32:04
24706   2020-06-11 23:31:57
24707   2020-06-11 23:31:45
24708   2020-06-11 23:30:45
Name: Datum, Length: 24709, dtype: datetime64[ns]

Re: datetime64 vergleichen - Format unterschiedlich

Verfasst: Dienstag 15. Dezember 2020, 15:44
von naheliegend
Hab es. Danke für den Denkanstoß.

Code: Alles auswählen

pd.to_datetime(df['Datum'], format='%d.%m.%Y %H:%M:%S')
0       2020-11-07 23:30:28
1       2020-11-07 23:29:50
2       2020-11-07 23:29:02
3       2020-11-07 23:28:28
4       2020-11-07 23:27:42
                ...        
24704   2020-11-06 23:32:04
24705   2020-11-06 23:32:04
24706   2020-11-06 23:31:57
24707   2020-11-06 23:31:45
24708   2020-11-06 23:30:45
Name: Datum, Length: 24709, dtype: datetime64[ns]