Heim >Backend-Entwicklung >Python-Tutorial >Wie konvertiert man einen zeitzonenbewussten Pandas DateTimeIndex in naive Zeitstempel, ohne die Zeitzone zu ändern?

Wie konvertiert man einen zeitzonenbewussten Pandas DateTimeIndex in naive Zeitstempel, ohne die Zeitzone zu ändern?

Barbara Streisand
Barbara StreisandOriginal
2024-11-04 13:04:301109Durchsuche

How to Convert a Timezone-Aware Pandas DateTimeIndex to Naive Timestamps Without Changing the Timezone?

So konvertieren Sie Pandasonic Timezone-Aware DateTimeIndex in naive Zeitstempel unter Beibehaltung der Zeitzone

Problem:

Wie können Sie einen zeitzonenbewussten Pandas-Zeitstempel oder DateTimeIndex in einen naiven konvertieren, ohne seine Zeitzone zu ändern?

Originalcode:

Mit tz = None wird der entfernt Zeitzone, konvertiert aber auch die Zeit in UTC:

<code class="python">t.tz = None</code>

Vorgeschlagene Lösung:

  • Ab Pandas 0.15.0 aufwärts:

    Verwenden Sie tz_localize(None), um die Zeitzone zu entfernen, was zu einer naiven Ortszeit führt:

    <code class="python">t.tz_localize(None)</code>

    Oder verwenden Sie tz_convert(None), um die Zeitzone zu entfernen und in UTC zu konvertieren:

    <code class="python">t.tz_convert(None)</code>
  • Pre-Pandas 0.15.0:

    Ersetzen Sie die Zeitzoneninformationen mithilfe eines Listenverständnisses manuell durch „Keine“. Diese Methode ist jedoch weniger effizient als die integrierten Methoden.

    <code class="python">pd.DatetimeIndex([i.replace(tzinfo=None) for i in t])</code>

Beispiel:

<code class="python">t = pd.date_range(start="2013-05-18 12:00:00", periods=2, freq='H', tz="Europe/Brussels")

# Using 'tz_localize(None)'
t_naive_local = t.tz_localize(None)

# Using 'tz_convert(None)'
t_naive_utc = t.tz_convert(None)

print(t_naive_local)
print(t_naive_utc)</code>

Ausgabe :

DatetimeIndex(['2013-05-18 12:00:00', '2013-05-18 13:00:00'], dtype='datetime64[ns]', freq='H')
DatetimeIndex(['2013-05-18 10:00:00', '2013-05-18 11:00:00'], dtype='datetime64[ns]', freq='H')

Das obige ist der detaillierte Inhalt vonWie konvertiert man einen zeitzonenbewussten Pandas DateTimeIndex in naive Zeitstempel, ohne die Zeitzone zu ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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