Zusammenfassung der Datumsverarbeitung in Python (Datum / Uhrzeit und Datum)

Hallo, das ist An'nin. Als ich den Kurs "Arbeiten mit Daten und Zeiten in Python" bei DataCamp belegte, gab es viele Datumsverarbeitungen, mit denen ich nicht vertraut war (ich habe zunächst nur pd.to_datetime verwendet ...). "Dies ist das Ende des Kurses. Ich werde es bald vergessen! Es ist gefährlich! ", Also möchte ich es anstelle eines Memorandums zusammenfassen.

Datum / Uhrzeit-Modul

Modul zur Bearbeitung von Datum und Uhrzeit ・ Bewusste Klasse: Daten mit Informationen zur Zeitanpassung wie Sommerzeit und Zeitzone ・ Naive Klasse: Keine Daten


Basic
datetime.datetime (datetime-Objekt) </ b> ・ ・ ・ Jahr, Monat, Tag, Stunde, Minute, Sekunde (ein Objekt mit Informationen zu Datumsobjekt und Zeitobjekt)

from datetime import datetime
today = datetime(2020, 6, 1, 15, 30, 00)
print(today)

Output: 2020-06-01 15:30:00 

datetime kann auch verwendet werden, wenn Sie den Wert eines POSIX-Zeitstempels (datetime.fromtimestamp) konvertieren möchten.

datetime.date (Datumsobjekt) </ b> ・ ・ ・ Datumsobjekt

from datetime import date
today = date(2020, 6, 1)
print(today)

Output: 2020-06-01

Die Methoden, die verwendet werden können, werden mit datetime abgedeckt (umgekehrt? Was mit Datumsobjekten verwendet werden kann, kann auch mit datetime verwendet werden ??). Fromtimestamp ist ebenfalls identisch und .isoformat.

datetime.timedelta (timedelta-Objekt) </ b> ・ ・ ・ Verstrichene Zeit, Zeitdifferenz usw. (Dauer)

from datetime import date, timedelta
today = date(2020, 6, 1)
print(today + timedelta(days=7))

Output: 2020-06-08

Die Argumente von timedelta () umfassen Tage, Stunden usw. Es funktioniert auch mit negativen Zahlen.

datetime.astimezone (Astimezone-Objekt) </ b> ・ ・ ・ Wenden Sie die im Argument angegebene Zeitzone an.

from datetime import datetime, timezone
today = datetime(2020, 6, 1, 15, 30, 00)
today = today.astimezone(timezone.utc)
print(today)

Output: 2020-06-01 06:30:00+00:00

dateutil.tz Modul

dateutil ist ein Paket, das datetime verlängert. Diesmal nur das tz-Modul, das in der von DataCamp erlernten Zeitzonenimplementierung stark ist.

tz.gettz () </ b> ・ ・ ・ Erstellen Sie eine Instanz der Zeitzone im Argument.

from dateutil import tz
est = tz.gettz('America/New_York')
print(est)

Output: tzfile('/usr/share/zoneinfo/America/New_York')

Wenn Sie es alleine verwenden, wird es nicht gut herauskommen, aber da die Zeitzone jeder Region vom Kontinent- und Städtenamen abhängt, können Sie es verwenden, indem Sie es in das Objekt vom Typ datetime tzinfo einfügen.

tz.datetime_ambiguous () </ b>… Ein Objekt, das bestimmt, ob es eine mehrdeutige Zeit gibt. "Mehrdeutige Zeit" ist die Zeit, die mehreren UTCs zugeordnet ist. Es gab ein sehr leicht verständliches Beispiel. Lesen Sie daher bitte diesen Blog .

from dateutil import tz
from datetime import datetime

est = tz.gettz('America/New_York')
first_1am = datetime(2019, 11, 2, 1, 0, 0, tzinfo=est)
tz.datetime_ambiguous(first_1am)

Output: True //Sollte sein. Ich habe einen Attributfehler in Pythonista3.

tz.enfold () </ b> ・ ・ ・ Ein Objekt zur Unterscheidung der oben genannten mehrdeutigen Zeit. Wenn Sie die Sommerzeit als Argument eingeben, wird diese nach dem Ende der Sommerzeit zurückgegeben. Ich konnte es nicht einmal verstehen, als ich mir das Dokument ansah, also habe ich es aus dem erraten, was ich in DataCamp gelernt habe.

Beim Umgang mit Datumstypen in Pandas

Ich kannte nur pd.to_datetime, aber es gab viele andere.

pandas.DataFrame.tz_localize () </ b> ・ ・ ・ Lokalisieren Sie naiven DataFrame oder Serien in der angegebenen Zeitzone.

pandas.DataFrame.tz_convert () </ b> ・ ・ ・ Konvertiert vertrauten DataFrame oder Serien in die angegebene Zeitzone.

Am Ende

Ich habe nicht viel um Daten herum implementiert, also wusste ich zum ersten Mal viel. Ich habe auch zum ersten Mal erfahren, dass tz Datenbank . Ich fand es kompliziert und tief. Ich kann nichts sagen, weil ich keine anderen Sprachen kenne, aber umgekehrt hat Python verschiedene Module und Daten sind leicht zu berühren. Ich dachte.

Wenn die Beschreibung falsch ist, wäre es hilfreich, wenn Sie darauf hinweisen könnten (* ^^ *)

Referenzdokument

・ Https://dateutil.readthedocs.io/en/stable/tz.html ・ Https://docs.python.org/3/library/datetime.html ・ Https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.tz_localize.html ・ Https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.tz_convert.html ・

Recommended Posts