Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Menukar Cap Masa Sedar Zon Waktu kepada Waktu Tempatan Naif dalam Panda?
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")
Menggunakan tz_localize(None), kita boleh menukarnya kepada waktu tempatan yang naif:
t_naive_local = t.tz_localize(None)
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')
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
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!