Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menukar DateTimeIndex Sedar Zon Waktu Pandas kepada Cap Waktu Naif dalam Zon Waktu Tertentu?

Bagaimana untuk Menukar DateTimeIndex Sedar Zon Waktu Pandas kepada Cap Waktu Naif dalam Zon Waktu Tertentu?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-04 12:18:30889semak imbas

How to Convert a Pandas Timezone-Aware DateTimeIndex to a Naive Timestamp in a Specific Timezone?

Tukar Pandas Time-Aware DateTimeIndex kepada Naif Timestamp dalam Ditetapkan Zon Waktu

Panda menawarkan fungsi tz_localize untuk mencipta Cap Masa atau DateTimeIndex yang sedar zon waktu . Tetapi bagaimana jika anda ingin membuat asal operasi ini? Bagaimanakah anda menukar Cap Masa yang menyedari zon waktu kepada yang naif tanpa mengubah zon waktunya?

Masalah:

Mari kita pertimbangkan DateTimeIndex yang menyedari zon waktu:

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

Menetapkan zon waktu kepada Tiada mengalih keluar zon waktu tetapi menukar cap masa kepada UTC, mengubah masa yang boleh dilihat.

Penyelesaian (Pandas 0.15.0 ):

Sejak Pandas 0.15.0, kaedah tz_localize boleh digunakan untuk menetapkan zon waktu kepada Tiada. Ini mengalih keluar maklumat zon waktu sambil mengekalkan waktu tempatan:

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

Ini menghasilkan waktu tempatan yang naif DateTimeIndex.

Sebagai alternatif, tz_convert(Tiada) boleh digunakan untuk menukar kepada waktu UTC naif :

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

Pertimbangan Prestasi:

Kaedah tz_localize(Tiada) adalah jauh lebih cekap daripada menggunakan gelung untuk menggantikan maklumat zon waktu:

<code class="python">%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</code>

Atas ialah kandungan terperinci Bagaimana untuk Menukar DateTimeIndex Sedar Zon Waktu Pandas kepada Cap Waktu Naif dalam Zon Waktu Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn