首頁 >後端開發 >Python教學 >如何在 NumPy Datetime64、Datetime 和 Timestamp 物件之間進行轉換?

如何在 NumPy Datetime64、Datetime 和 Timestamp 物件之間進行轉換?

Linda Hamilton
Linda Hamilton原創
2024-12-14 19:28:11467瀏覽

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

在Numpy Datetime64、Datetime 和Timestamp 物件之間轉換

在Python 中使用時間戳記和日期時,通常需要在不同資料類型之間進行轉換。這包括 numpy.datetime64、datetime.datetime 和 datetime64 物件之間的轉換。

從 Datetime64 轉換為 Datetime 或 Timestamp

從 Datetime64 轉換為 Datetime 或 Timestamp

將 numpy.datetime64 物件 dt64 轉換為 datetime.datetime 物件 dt ,只需使用 dt = dt64.astype(datetime.datetime)。請注意,此轉換中可能不會保留時區資訊。

類似地,要將 dt64 轉換為 datetime.Timestamp 物件 ts,請使用 ts = pd.Timestamp(dt64)。這將確保維護時區資訊。

從 Datetime 或 Timestamp 轉換為 Datetime64

要將 datetime.datetime 物件 dt 轉換為 numpy.datetime64 物件 dt64,請使用 dt64 = np.日期時間64(dt)。這將建立一個與 dt 具有相同時間戳記的 datetime64 物件。

要將 datetime.Timestamp 物件 ts 轉換為 numpy.datetime64 物件 dt64,請使用 dt64 = ts.timestamp().astype(np.datetime64) 。這將建立一個與 ts 具有相同時間戳記和時區的 datetime64 物件。

範例轉換

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))
考慮以下範例:

2012-05-01 00:00:00
<Timestamp: 2012-05-01 00:00:00+00:00>
這將輸出:

請注意,從dt64 轉換為Timestamp 時保留為Timestampamp 時保留為Timestampamp了時區信息,但轉換為datetime.datetime 時遺失。

以上是如何在 NumPy Datetime64、Datetime 和 Timestamp 物件之間進行轉換?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn