在 datetime、Timestamp 和 datetime64 之间进行转换
在处理数据时,通常需要在不同时间表示形式之间进行转换。一种常见的场景是在 numpy.datetime64、datetime.datetime 和 Timestamp 对象之间进行转换。
numpy.datetime64 是表示纳秒精度的日期和时间的 NumPy 对象。要将 datetime.datetime 或 Timestamp 对象转换为 datetime64,可以使用 np.datetime64() 构造函数。
datetime.datetime 是一个表示微秒日期和时间的 Python 对象精确。要从 datetime64 或 Timestamp 对象获取 datetime.datetime,请使用相应对象的 to_datetime() 方法。
Timestamp 是表示纳秒精度的日期和时间的 Pandas 对象。要从 datetime.datetime 或 datetime64 对象创建时间戳,您可以使用 pd.Timestamp() 构造函数。
作为示例,请考虑以下对象:
dt = datetime.datetime(2012, 5, 1) # A strange way to extract a Timestamp object, there's surely a better way? ts = pd.DatetimeIndex([dt])[0] dt64 = np.datetime64(dt)
要转换这些不同表示之间的对象,您可以使用以下代码:
# Convert datetime64 to datetime datetime_from_dt64 = dt64.astype(datetime.datetime) # Convert Timestamp to datetime datetime_from_ts = ts.to_datetime() # Convert datetime to Timestamp timestamp_from_dt = pd.Timestamp(dt)
请记住,这些转换可能会导致由于每种表示使用不同的时间尺度而导致精度损失。
以上是如何在Python中的'datetime”、'Timestamp”和'datetime64”之间进行转换?的详细内容。更多信息请关注PHP中文网其他相关文章!