Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menukar DateTimeIndex Panda Sedar Zon Waktu kepada Cap Waktu Naif Tanpa Menukar Zon Waktu?

Bagaimana untuk Menukar DateTimeIndex Panda Sedar Zon Waktu kepada Cap Waktu Naif Tanpa Menukar Zon Waktu?

Barbara Streisand
Lepaskan: 2024-11-04 13:04:30
asal
1094 orang telah melayarinya

How to Convert a Timezone-Aware Pandas DateTimeIndex to Naive Timestamps Without Changing the Timezone?

Cara Menukar Pandasonic Time Zone-Aware DateTimeIndex kepada Cap Waktu Naif Semasa Memelihara Zon Waktu

Masalah:

Bagaimanakah anda boleh menukar cap Masa atau DateTimeIndex panda yang sedar zon waktu kepada yang naif tanpa mengubah suai zon waktunya?

Kod Asal:

Menggunakan tz = Tiada mengalih keluar zon waktu tetapi turut menukar masa kepada UTC:

<code class="python">t.tz = None</code>
Salin selepas log masuk

Penyelesaian Cadangan:

  • Dari panda 0.15.0 dan seterusnya:

    Gunakan tz_localize(Tiada) untuk mengalih keluar zon waktu, menghasilkan waktu tempatan yang naif:

    <code class="python">t.tz_localize(None)</code>
    Salin selepas log masuk

    Atau gunakan tz_convert(Tiada) untuk mengalih keluar zon waktu dan tukar kepada UTC:

    <code class="python">t.tz_convert(None)</code>
    Salin selepas log masuk
  • Pra-pandas 0.15.0:

    Gantikan maklumat zon waktu secara manual dengan Tiada menggunakan pemahaman senarai. Walau bagaimanapun, kaedah ini kurang cekap berbanding kaedah terbina dalam.

    <code class="python">pd.DatetimeIndex([i.replace(tzinfo=None) for i in t])</code>
    Salin selepas log masuk

Contoh:

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

# Using 'tz_localize(None)'
t_naive_local = t.tz_localize(None)

# Using 'tz_convert(None)'
t_naive_utc = t.tz_convert(None)

print(t_naive_local)
print(t_naive_utc)</code>
Salin selepas log masuk

Output :

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

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