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.
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.
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.
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!