Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menukar Antara NumPy Datetime64, Datetime dan Objek Cap Waktu?

Bagaimana untuk Menukar Antara NumPy Datetime64, Datetime dan Objek Cap Waktu?

Linda Hamilton
Linda Hamiltonasal
2024-12-14 19:28:11529semak imbas

How to Convert Between NumPy Datetime64, Datetime, and Timestamp Objects?

Menukar Antara Numpy Datetime64, Datetime dan Objek Cap Masa

Apabila bekerja dengan cap masa dan tarikh dalam Python, selalunya perlu menukar antara jenis data yang berbeza. Ini termasuk menukar antara objek numpy.datetime64, datetime.datetime dan datetime64.

Menukar daripada Datetime64 kepada Datetime atau Cap Waktu

Untuk menukar objek numpy.datetime64 dt64 kepada objek datetime.datetime dt , hanya gunakan dt = dt64.astype(datetime.datetime). Ambil perhatian bahawa maklumat zon waktu mungkin tidak disimpan dalam penukaran ini.

Begitu juga, untuk menukar dt64 kepada datetime.Objek cap masa ts, gunakan ts = pd.Timestamp(dt64). Ini akan memastikan bahawa maklumat zon waktu dikekalkan.

Menukar daripada Datetime atau Timestamp kepada Datetime64

Untuk menukar objek datetime.datetime dt kepada objek numpy.datetime64 dt64, gunakan dt64 = np. datetime64(dt). Ini akan mencipta objek datetime64 dengan cap masa yang sama seperti dt.

Untuk menukar objek datetime.Timestamp ts kepada objek numpy.datetime64 dt64, gunakan dt64 = ts.timestamp().astype(np.datetime64) . Ini akan mencipta objek datetime64 dengan cap masa dan zon waktu yang sama seperti ts.

Contoh Penukaran

Pertimbangkan contoh berikut:

import datetime
import numpy as np
import pandas as pd

dt = datetime.datetime(2012, 5, 1)
ts = pd.DatetimeIndex([dt])[0]
dt64 = np.datetime64(dt)

print(dt64.astype(datetime.datetime))
print(pd.Timestamp(dt64))

Ini akan menghasilkan:

2012-05-01 00:00:00
<Timestamp: 2012-05-01 00:00:00+00:00>

Perhatikan bahawa maklumat zon waktu telah dipelihara apabila menukar daripada dt64 kepada Cap Waktu, tetapi hilang apabila menukar kepada datetime.datetime.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Antara NumPy Datetime64, Datetime dan Objek Cap Waktu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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