首页 > 后端开发 > Python教程 > 如何在 NumPy Datetime64、Datetime 和 Timestamp 对象之间进行转换?

如何在 NumPy Datetime64、Datetime 和 Timestamp 对象之间进行转换?

Linda Hamilton
发布: 2024-12-14 19:28:11
原创
469 人浏览过

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

在 Numpy Datetime64、Datetime 和 Timestamp 对象之间进行转换

在 Python 中使用时间戳和日期时,通常需要在不同数据类型之间进行转换。这包括 numpy.datetime64、datetime.datetime 和 datetime64 对象之间的转换。

从 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 时保留了时区信息,但转换为 datetime.datetime 时丢失。

以上是如何在 NumPy Datetime64、Datetime 和 Timestamp 对象之间进行转换?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板