从Numpy1.7开始,已经有了原生的日期-时间支持,基本类型称为datetime64。

In [1]: import numpy as npIn [2]: nd = np.datetime64('2018-05-08')In [3]: nd
Out[3]: numpy.datetime64('2018-05-08')

和datetime一样,datetime64对象可以表示为字符串对象。

In [4]: np.datetime_as_string(nd)
Out[4]: '2018-05-08'

每个这类对象都保存在元数据,可以通过date_time_date方法访问,两个主要的组成部分是频率信息和单位(D:天)。

In [5]: np.datetime_data(nd)
Out[5]: ('D', 1)

从datetime对象中构造datetime64对象:

In [7]: d = datetime.datetime(2018,7,31,12,16,30,500000)In [8]: d
Out[8]: datetime.datetime(2018, 7, 31, 12, 16, 30, 500000)In [10]: ng = np.datetime64(d)In [11]: ng
Out[11]: numpy.datetime64('2018-07-31T12:16:30.500000')

同样,可以将datetime64对象转换成datetime对象:

In [12]: nd.astype(datetime.datetime)
Out[12]: datetime.date(2018, 5, 8)In [13]: nd.astype(datetime.date)
Out[13]: datetime.date(2018, 5, 8)

另外还有另外一种不常见的datetime64的构造方法:(提供一个字符串解和频率信息)

In [15]: nh = np.datetime64('2015-10','D')In [16]: nh
Out[16]: numpy.datetime64('2015-10-01')

使用arange函数生成一个日期范围,当然可以指定日期范围

In [17]: np.array(['2015-10-01','2015-10-05','2015-10-10'],dtype='datetime64')
Out[17]: array(['2015-10-01', '2015-10-05', '2015-10-10'], dtype='datetime64[D]')In [18]: np.arange('2018-10-01','2018-10-08',dtype='datetime64')
Out[18]:
array(['2018-10-01', '2018-10-02', '2018-10-03', '2018-10-04','2018-10-05', '2018-10-06', '2018-10-07'], dtype='datetime64[D]')In [19]: np.arange('2018-10-01','2018-10-08',dtype='datetime64[D]')
Out[19]:
array(['2018-10-01', '2018-10-02', '2018-10-03', '2018-10-04','2018-10-05', '2018-10-06', '2018-10-07'], dtype='datetime64[D]')In [20]: np.arange('2018-10-01','2018-10-31',dtype='datetime64[W]')
Out[20]:
array(['2018-09-27', '2018-10-04', '2018-10-11', '2018-10-18'],dtype='datetime64[W]')In [21]: dt1 = np.arange('2018-01-01 10:10:10','2018-01-02 10:10:10',dtype='datetime64[h]')[:10]In [22]: dt1
Out[22]:
array(['2018-01-01T10', '2018-01-01T11', '2018-01-01T12', '2018-01-01T13','2018-01-01T14', '2018-01-01T15', '2018-01-01T16', '2018-01-01T17','2018-01-01T18', '2018-01-01T19'], dtype='datetime64[h]')
In [36]: np.arange('2016-01-01T00:00:00','2016-01-02T00:00:00',dtype='datetime64[s]')[:20]
Out[36]:
array(['2016-01-01T00:00:00', '2016-01-01T00:00:01','2016-01-01T00:00:02', '2016-01-01T00:00:03','2016-01-01T00:00:04', '2016-01-01T00:00:05','2016-01-01T00:00:06', '2016-01-01T00:00:07','2016-01-01T00:00:08', '2016-01-01T00:00:09','2016-01-01T00:00:10', '2016-01-01T00:00:11','2016-01-01T00:00:12', '2016-01-01T00:00:13','2016-01-01T00:00:14', '2016-01-01T00:00:15','2016-01-01T00:00:16', '2016-01-01T00:00:17','2016-01-01T00:00:18', '2016-01-01T00:00:19'],dtype='datetime64[s]')In [37]: np.arange('2016-01-01T00:00:00','2016-01-02T00:00:00',dtype='datetime64[ms]')[:20]
Out[37]:
array(['2016-01-01T00:00:00.000', '2016-01-01T00:00:00.001','2016-01-01T00:00:00.002', '2016-01-01T00:00:00.003','2016-01-01T00:00:00.004', '2016-01-01T00:00:00.005','2016-01-01T00:00:00.006', '2016-01-01T00:00:00.007','2016-01-01T00:00:00.008', '2016-01-01T00:00:00.009','2016-01-01T00:00:00.010', '2016-01-01T00:00:00.011','2016-01-01T00:00:00.012', '2016-01-01T00:00:00.013','2016-01-01T00:00:00.014', '2016-01-01T00:00:00.015','2016-01-01T00:00:00.016', '2016-01-01T00:00:00.017','2016-01-01T00:00:00.018', '2016-01-01T00:00:00.019'],dtype='datetime64[ms]')

简单应用:

import matplotlib.pyplot as plt
%matplotlib inline
np.random.seed(3000)
rnd = np.random.standard_normal(len(dt1)).cumsum()  ** 2
fig = plt.figure()
plt.plot(dt1.astype(datetime.datetime), rnd)
plt.grid(True)
fig.autofmt_xdate()

效果图:

转载于:https://www.cnblogs.com/yangmingxianshen/p/9661956.html

Numpy中的时间类型相关推荐

  1. Mysql在sql中截取时间类型字段的年月日和时间-DATE_FORMAT() 函数

    Mysql在sql中截取时间类型字段的年月日和时间 DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. 下面的脚本使用 DATE_FORMAT() 函数来显示不同的格式.我们使用 N ...

  2. java时间定义什么类型_1 Java中的时间类型

    总结:sql中的时间转 util的时间直接赋值即可:反过来,必须先吧util下的时间转换成毫秒,再通过sql的构造器生成sql的时间格式. 1Java中的时间类型 java.sql包下给出三个与数据库 ...

  3. MySQL时间戳和unix时间戳区别、MySQL中的时间类型

    文章目录 1 时间戳 1.1 unix时间戳(unix timestamp) 1.2 MySQL时间戳(timestamp) 2 MySQL中timestamp和datetime的不同点 3 MySQ ...

  4. MySQL中的时间类型

    时间是一类重要的数据,MySQL中有多种关于时间的类型可以选择.这篇文章主要介绍MySQL中的时间类型,主要参考MySQL文档:https://dev.mysql.com/doc/refman/8.0 ...

  5. mysql中的时间类型和比较大小

    mysql中的时间类型和比较大小 一.时间类型 二.时间比较 一.时间类型 mysql有五大时间类型: datetime 可以存储年月日时分秒类型的时间,如果在设计字段的时候可以设置获取当前时间,插入 ...

  6. mysql中所有时间类型_MySQL 中的日期时间类型

    INSERT INTO todo (title,created_on) VALUES ('blah','2019-09-31'); ERROR 1292 (22007): Incorrect date ...

  7. MySql中的时间类型datetime,timestamp,date,year比较

    MySQL日期类型.日期格式.存储空间.日期范围比较. 日期类型        存储空间       日期格式                 日期范围 ------------ ---------  ...

  8. MySQL中日期时间类型与格式化

    关联博文: MySQL中常用函数之日期函数使用详解 [1]MySQL中的日期时间类型 MySQL中常用的几种时间类型有:date.datetime.time.year.timestamp 数据类型 占 ...

  9. 由echarts想到的js中的时间类型

    在工作中使用echarts时,偶然发现折线图中对时间类型变量的用法: now前面的+号何解? now = new Date(+now + oneDay); 后来查阅资料,看到一篇博客,解释如下:这是对 ...

最新文章

  1. mysql分库分表事务控制_数据库分库分表之后,你是如何解决事务问题?
  2. Windows环境下Pin(二进制动态插桩引擎)搭建
  3. 给医生的R语言课程:零基础入门篇
  4. 如何自己找出SMBDA服务使用的端口号
  5. kafka指定分区消费
  6. tomcat启动时,没有启动你所配置的项目(原因可能是Eclipse 中的工程builed 失败造成),如何解决~
  7. HDU 3966 dfs序+LCA+树状数组
  8. 转载--Ajax学习---DOM进行Web响应
  9. [洛谷P2370]yyy2015c01的U盘
  10. 上班按小时的怎么记,小时工计时怎么用便签记上个月的工时
  11. Java 图标logo的由来
  12. linux虚拟串口控制器驱动开发及代码实现(uart driver)
  13. iPhone XR/XS/XS Max 适配,最全iPhone尺寸
  14. 想在Windows上使用getopt,我教你原地起飞
  15. 快手官宣全员开启大小周?996、997,网友:「国产式加班」花样真多!
  16. imagecreatefromjpeg(),imagecreatefrompng()打开不同格式的图片报错误
  17. 【点云处理技术之open3d】第四篇:使用open3d绘制常用类型——箭头、圆柱、长方体、球形、箭头、坐标轴和线条
  18. 阿里巴巴的 eclipse 代码检查工具如何安装?
  19. 机载计算机系统教材,机载计算机系统故障诊断.pdf
  20. IDEA开发工具调试技巧(极大提升开发效率)

热门文章

  1. class ts 扩展方法_一个class文件到底包含了哪些东西?
  2. 嵌入式在线html编辑器,嵌入式HTML编辑器的设计与实现.ppt
  3. java math mod_java8 Math新增方法介绍
  4. Linux下安装golang
  5. wxpython 调用子窗口_wxpython简介
  6. 27.将 VMware 服务器上的虚拟机备份到 Azure(上)
  7. 无人机成为黑客的新工具,可黑掉部分家用的智能设备
  8. 附加作业:源自邹老师的作业“链接”
  9. Javascript in one picture
  10. JVM原理及调优--网页链接收藏