Rumah > pembangunan bahagian belakang > Tutorial Python > 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
Lepaskan: 2024-11-04 12:18:30
asal
987 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan