Numpy 如何从datetime64中获取年-月-日

Numpy 如何从datetime64中获取年-月-日

在本文中,我们将介绍如何从numpy datetime64对象中提取出年-月-日信息。

阅读更多:Numpy 教程

Numpy datetime64

在处理日期时间数据时,Numpy提供了一个非常方便的数据类型:datetime64。datetime64是一种带有固定单位的日期时间类型,例如年份(’Y’)、月份(’M’)、天数(’D’)、小时数(’h’)等等。它的使用方式类似于Python的datetime库,但是Numpy的datetime64在处理大规模的数据集时会更加高效。

我们可以使用numpy.datetime64函数将字符串格式的日期转换为numpy datetime64对象:

import numpy as np

date_str = '2022-01-01'
date_np = np.datetime64(date_str)

print(date_np)
# 输出:2022-01-01
Python

提取年-月-日信息

想要从numpy datetime64对象中获取年-月-日信息,我们可以使用numpy.datetime64对象的astype()方法以及指定数据类型来进行类型转换。具体来说,我们可以将numpy datetime64对象转换为字符串类型,然后再截取出需要的年月日信息。

import numpy as np

date_str = '2022-01-01'
date_np = np.datetime64(date_str)

year = date_np.astype('datetime64[Y]').astype(int) + 1970
month = date_np.astype('datetime64[M]').astype(int) % 12 + 1
day = date_np.astype('datetime64[D]').astype(int) % 365 % 31 + 1

print('年份:', year)
print('月份:', month)
print('日期:', day)
Python

输出结果如下:

年份: 2022
月份: 1
日期: 1
Python

上述代码中的astype()方法将date_np转换为指定的数据类型,然后使用astype(int)方法将转换后的结果转换为整数类型。由于datetime64类型的精度很高,所以我们需要先转换为int类型来截取出需要的年月日信息。

需要注意的是,由于月份和日期都是从0开始计算的,所以我们需要对月份和日期的结果分别加1才能得到正确的结果。

总结

本文介绍了如何从numpy datetime64对象中提取出年-月-日信息。通过astype()方法的转换以及加减计算,我们可以轻松地获取所需信息。如果您在处理日期时间数据时需要使用高效的数据类型,numpy datetime64将是一个不错的选择。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册