Bagaimana untuk Menukar Cap Masa Sedar Zon Waktu kepada Waktu Tempatan Naif dalam Panda?

Mary-Kate Olsen
Lepaskan: 2024-11-05 02:05:01
asal
295 orang telah melayarinya

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

Cara Menukar Cap Masa Sedar Zon Waktu kepada Waktu Tempatan Naif dalam Panda

Dalam panda, fungsi tz_localize digunakan untuk mencipta cap waktu atau DateTimeIndex yang sedar zon waktu. Walau bagaimanapun, apabila berurusan dengan data yang sudah sedia maklum zon waktu, mungkin terdapat keperluan untuk menukarnya kembali kepada cap waktu naif sambil mengekalkan maklumat zon waktu untuk waktu tempatan.

Satu pilihan ialah menetapkan zon waktu kepada Tiada , tetapi ini menyebabkan masa ditukar kepada UTC. Untuk mengelakkan ini, panda menyediakan fungsi tz_localize(Tiada), yang secara berkesan mengalih keluar maklumat zon waktu sambil mengekalkan masa yang boleh dilihat pengguna dalam zon waktu setempat.

Sebagai contoh, pertimbangkan zon waktu berikut -aware DateTimeIndex:

t = pd.date_range(start="2013-05-18 12:00:00", periods=2, freq='H', tz="Europe/Brussels")
Salin selepas log masuk

Menggunakan tz_localize(None), kita boleh menukarnya kepada waktu tempatan yang naif:

t_naive_local = t.tz_localize(None)
Salin selepas log masuk

Indeks yang terhasil akan mempunyai masa yang sama seperti sebelumnya, tetapi tanpa maklumat zon waktu:

t_naive_local

DatetimeIndex(['2013-05-18 12:00:00', '2013-05-18 13:00:00'],
               dtype='datetime64[ns]', freq='H')
Salin selepas log masuk

Selain itu, panda juga menyediakan fungsi tz_convert(Tiada), yang mengalih keluar maklumat zon waktu dan menukar masa kepada UTC, menghasilkan waktu UTC yang naif.

Penukaran ini jauh lebih cekap daripada pendekatan alternatif menggunakan kaedah datetime.replace, seperti yang ditunjukkan oleh pemasaan berikut:

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

Dengan memanfaatkan fungsi ini, ia adalah mudah untuk menukar data panda sedar zon waktu kepada waktu tempatan yang naif atau UTC, mengekalkan masa yang boleh dilihat pengguna dan meningkatkan kecekapan pengendalian data.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Cap Masa Sedar Zon Waktu kepada Waktu Tempatan Naif dalam Panda?. 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