Panda menyediakan fungsi tz_localize untuk menambah maklumat zon waktu pada cap masa dan masa tarikh indeks. Walau bagaimanapun, soalan di sini berkaitan dengan operasi terbalik: menukar cap waktu yang menyedari zon waktu kepada yang naif sambil mengekalkan zon waktu asal.
Bermula dengan Pandas 0.15.0, kaedah tz_localize(Tiada) telah dilaksanakan untuk memudahkan penukaran ini. Apabila digunakan pada DateTimeIndex yang sedar zon waktu, ia mengalih keluar maklumat zon waktu, menghasilkan waktu tempatan yang naif.
import pandas as pd t = pd.date_range(start="2013-05-18 12:00:00", periods=2, freq='H', tz="Europe/Brussels") t_naive = t.tz_localize(None) # Naive local time print(t_naive) # Output: # DatetimeIndex(['2013-05-18 12:00:00', '2013-05-18 13:00:00'], dtype='datetime64[ns]', freq='H')
Selain waktu tempatan, anda juga boleh menukar kepada masa UTC naif menggunakan kaedah tz_convert(Tiada).
t_utc_naive = t.tz_convert(None) # Naive UTC time print(t_utc_naive) # Output: # DatetimeIndex(['2013-05-18 10:00:00', '2013-05-18 11:00:00'], dtype='datetime64[ns]', freq='H')
Kaedah tz_localize(Tiada) adalah sangat cekap berbanding menggunakan penyelesaian datetime.replace. Untuk DateTimeIndex yang besar, peningkatan prestasi boleh menjadi ketara.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Panda Sedar Zon Waktu DateTimeIndex kepada Cap Waktu Naif Semasa Memelihara Zon Waktu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!