Heim > Backend-Entwicklung > Python-Tutorial > Wie konvertiert man in Pandas einen zeitzonenbewussten Zeitstempel in eine naive Ortszeit?

Wie konvertiert man in Pandas einen zeitzonenbewussten Zeitstempel in eine naive Ortszeit?

Mary-Kate Olsen
Freigeben: 2024-11-05 02:05:01
Original
330 Leute haben es durchsucht

How to Convert a Timezone-Aware Timestamp to Naive Local Time in Pandas?

So konvertieren Sie einen zeitzonenbezogenen Zeitstempel in naive Ortszeit in Pandas

In Pandas wird die Funktion tz_localize verwendet, um einen Zeitstempel zu erstellen oder DateTimeIndex, der die Zeitzone berücksichtigt. Wenn Sie jedoch mit Daten arbeiten, die bereits die Zeitzone berücksichtigen, kann es erforderlich sein, sie wieder in einen naiven Zeitstempel umzuwandeln und gleichzeitig die Zeitzoneninformationen für die Ortszeit beizubehalten.

Eine Möglichkeit besteht darin, die Zeitzone auf „Keine“ festzulegen , aber dies führt dazu, dass die Zeit in UTC konvertiert wird. Um dies zu vermeiden, stellt Pandas die Funktion tz_localize(None) bereit, die die Zeitzoneninformationen effektiv entfernt und gleichzeitig die für den Benutzer sichtbare Zeit in der lokalen Zeitzone beibehält.

Bedenken Sie beispielsweise die folgende Zeitzone -aware DateTimeIndex:

t = pd.date_range(start="2013-05-18 12:00:00", periods=2, freq='H', tz="Europe/Brussels")
Nach dem Login kopieren

Mit tz_localize(None) können wir es in eine naive Ortszeit umwandeln:

t_naive_local = t.tz_localize(None)
Nach dem Login kopieren

Der resultierende Index wird die gleichen Zeiten wie zuvor haben, aber ohne die Zeitzoneninformationen:

t_naive_local

DatetimeIndex(['2013-05-18 12:00:00', '2013-05-18 13:00:00'],
               dtype='datetime64[ns]', freq='H')
Nach dem Login kopieren

Zusätzlich stellt Pandas auch die Funktion tz_convert(None) bereit, die die Zeitzoneninformationen entfernt und die Zeit in UTC umwandelt, was zu einer naiven UTC-Zeit führt.

Diese Konvertierung ist wesentlich effizienter als der alternative Ansatz der Verwendung der datetime.replace-Methode, wie die folgenden Zeitabläufe zeigen:

%timeit t.tz_localize(None)
1000 loops, best of 3: 233 µs per loop

%timeit pd.DatetimeIndex([i.replace(tzinfo=None) for i in t])
10 loops, best of 3: 99.7 ms per loop
Nach dem Login kopieren

Durch die Nutzung dieser Funktionen ist die Konvertierung einfach Zeitzonenbewusste Pandas-Daten in naive Ortszeit oder UTC umwandeln, wodurch die für den Benutzer sichtbare Zeit erhalten bleibt und die Effizienz der Datenverarbeitung verbessert wird.

Das obige ist der detaillierte Inhalt vonWie konvertiert man in Pandas einen zeitzonenbewussten Zeitstempel in eine naive Ortszeit?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage