在 Python 中使用时间戳和日期时,通常需要在不同数据类型之间进行转换。这包括 numpy.datetime64、datetime.datetime 和 datetime64 对象之间的转换。
将 numpy.datetime64 对象 dt64 转换为 datetime.datetime 对象 dt ,只需使用 dt = dt64.astype(datetime.datetime)。请注意,此转换中可能不会保留时区信息。
类似地,要将 dt64 转换为 datetime.Timestamp 对象 ts,请使用 ts = pd.Timestamp(dt64)。这将确保维护时区信息。
要将 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 时保留了时区信息,但转换为 datetime.datetime 时丢失。
以上是如何在 NumPy Datetime64、Datetime 和 Timestamp 对象之间进行转换?的详细内容。更多信息请关注PHP中文网其他相关文章!