千家信息网

Python中如何利用Numpy库处理datetime类型

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"Python中如何利用Numpy库处理datetime类型",在日常操作中,相信很多人在Python中如何利用Numpy库处理datetime类型问题上存在疑惑,小编查阅了各式资料,
千家信息网最后更新 2026年11月02日Python中如何利用Numpy库处理datetime类型

这篇文章主要介绍"Python中如何利用Numpy库处理datetime类型",在日常操作中,相信很多人在Python中如何利用Numpy库处理datetime类型问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Python中如何利用Numpy库处理datetime类型"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

前言

关于时间的处理,Python中自带的处理时间的模块就有time 、datetime、calendar,另外还有扩展的第三方库,如dateutil等等。通过这些途径可以随心所欲地用Python去处理时间。当我们用NumPy库做数据分析时,如何转换时间呢?

在NumPy 1.7版本开始,它的核心数组(ndarray)对象支持datetime相关功能,由于'datetime'这个数据类型名称已经在Python自带的datetime模块中使用了, NumPy中时间数据的类型称为'datetime64'。

单个时间格式字符串转换为numpy的datetime对象,可使用datetime64实例化一个对象,如下所示:

#时间字符串转numpy.datetime64datetime_nd=np.datetime64('2019-01-01')print(type(datetime_nd))#

反过来numpy的datetime对象转换为时间格式字符串,可使用datetime_as_string()函数,如下所示:

#numpy.datetime64转时间字符串datetime_str=np.datetime_as_string(datetime_nd)print(type(datetime_str))#

从时间格式字符串数组去创建numpy的datetime对象数组(array)时,可以直接使用numpy.array()函数,指定dtype为'datetime64',这样的话数组中的元素为'datetime64'类型,如下所示:

datetime_array = np.array(['2019-01-05','2019-01-02','2019-01-03'], dtype='datetime64')print(datetime_array)#['2019-01-05' '2019-01-02' '2019-01-03']print(type(datetime_array))#print(type(datetime_array[0]))#

也可以通过numpy.arange()函数,给定时间起始范围去创建numpy的datetime对象数组(array),指定dtype为'datetime64'时默认以日为时间间隔,如下所示:

datetime_array = np.arange('2019-01-05','2019-01-10', dtype='datetime64')print(datetime_array)#['2019-01-05' '2019-01-06' '2019-01-07' '2019-01-08' '2019-01-09']

设定numpy.arange()函数中的dtype参数,可以调整时间的间隔,比如以年、月、周,甚至小时、分钟、毫秒程度的间隔生成时间数组,这点和Python的datetime模块是一样的,分为了date单位和time单位。如下所示:

# generate year datetime arraydatetime_array = np.arange('2018-01-01','2020-01-01', dtype='datetime64[Y]')print(datetime_array)#['2018' '2019']# generate month datetime arraydatetime_array = np.arange('2019-01-01','2019-10-01', dtype='datetime64[M]')print(datetime_array)#['2019-01' '2019-02' '2019-03' '2019-04' '2019-05' '2019-06' '2019-07' '2019-08' '2019-09']# generate week datetime arraydatetime_array = np.arange('2019-01-05','2019-02-10', dtype='datetime64[W]')print(datetime_array)#['2019-01-03' '2019-01-10' '2019-01-17' '2019-01-24' '2019-01-31']# generate ms datetime arraydatetime_array = np.arange('2019-01-05','2019-01-10', dtype='datetime64[ms]')print(datetime_array)#['2019-01-05T00:00:00.000' '2019-01-05T00:00:00.001'# '2019-01-05T00:00:00.002' ... '2019-01-09T23:59:59.997'# '2019-01-09T23:59:59.998' '2019-01-09T23:59:59.999']

将numpy.datetime64转化为datetime格式转换为datetime格式,可使用astype()方法转换数据类型,如下所示:

#numpy.datetime64转化为datetime格式datetime_df=datetime_nd.astype(datetime.datetime)print(type(datetime_df))#

另外,numpy也提供了datetime.timedelta类的功能,支持两个时间对象的运算,得到一个时间单位形式的数值。因为numpy的核心数组(ndarray)对象没有物理量系统(physical quantities system),所以创建了timedelta64数据类型来补充datetime64。datetime和timedelta结合提供了更简单的datetime计算方法。如下所示:

# numpy.datetime64 calculationsdatetime_delta = np.datetime64('2009-01-01') - np.datetime64('2008-01-01')print(datetime_delta)#366 daysprint(type(datetime_delta))#datetime_delta = np.datetime64('2009') + np.timedelta64(20, 'D')print(datetime_delta)#2009-01-21datetime_delta = np.datetime64('2011-06-15T00:00') + np.timedelta64(12, 'h')print(datetime_delta)#2011-06-15T12:00datetime_delta = np.timedelta64(1,'W') / np.timedelta64(1,'D')print(datetime_delta)#7.0

到此,关于"Python中如何利用Numpy库处理datetime类型"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

时间 类型 对象 处理 数组 格式 字符 字符串 数据 函数 学习 单位 方法 模块 功能 更多 核心 帮助 支持 随心所欲 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网公司装修 互联网与科技金融数据 互联网科技的 互联网科技公司电话 贷财互联网科技 互联网金融科技创新 卓越科技互联网 招聘 青海省互联网新科技 上海电发互联网科技有限公司 互联网和高科技公司 宁夏众和广鑫互联网科技有限公司 湖北码尼互联网科技有限公司电话 崇明区互联网教育科技诚信经营 互联网5g黑科技有哪些 互联网金融科技名词解释 新氧科技和美国互联网有关系吗 济南小医互联网科技有限公司招聘 兰石爱特工业互联网科技分公司 唐山双旺合互联网科技产业园 互联网科技自媒体灵感 手冲咖啡和咖啡机区别 互联网与科技 互联网科技工作委员会主任 互联网科技英文翻译 老年人脱离互联网科技的作文 区块链结合互联网科技 云南省自由互联网科技有限公司 昆明中奇联合互联网科技 江苏互联网智能科技产品出厂价 上海旺乐尼互联网科技有限公司
0