Numpy中的时间类型
从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中的时间类型相关推荐
- Mysql在sql中截取时间类型字段的年月日和时间-DATE_FORMAT() 函数
Mysql在sql中截取时间类型字段的年月日和时间 DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. 下面的脚本使用 DATE_FORMAT() 函数来显示不同的格式.我们使用 N ...
- java时间定义什么类型_1 Java中的时间类型
总结:sql中的时间转 util的时间直接赋值即可:反过来,必须先吧util下的时间转换成毫秒,再通过sql的构造器生成sql的时间格式. 1Java中的时间类型 java.sql包下给出三个与数据库 ...
- MySQL时间戳和unix时间戳区别、MySQL中的时间类型
文章目录 1 时间戳 1.1 unix时间戳(unix timestamp) 1.2 MySQL时间戳(timestamp) 2 MySQL中timestamp和datetime的不同点 3 MySQ ...
- MySQL中的时间类型
时间是一类重要的数据,MySQL中有多种关于时间的类型可以选择.这篇文章主要介绍MySQL中的时间类型,主要参考MySQL文档:https://dev.mysql.com/doc/refman/8.0 ...
- mysql中的时间类型和比较大小
mysql中的时间类型和比较大小 一.时间类型 二.时间比较 一.时间类型 mysql有五大时间类型: datetime 可以存储年月日时分秒类型的时间,如果在设计字段的时候可以设置获取当前时间,插入 ...
- mysql中所有时间类型_MySQL 中的日期时间类型
INSERT INTO todo (title,created_on) VALUES ('blah','2019-09-31'); ERROR 1292 (22007): Incorrect date ...
- MySql中的时间类型datetime,timestamp,date,year比较
MySQL日期类型.日期格式.存储空间.日期范围比较. 日期类型 存储空间 日期格式 日期范围 ------------ --------- ...
- MySQL中日期时间类型与格式化
关联博文: MySQL中常用函数之日期函数使用详解 [1]MySQL中的日期时间类型 MySQL中常用的几种时间类型有:date.datetime.time.year.timestamp 数据类型 占 ...
- 由echarts想到的js中的时间类型
在工作中使用echarts时,偶然发现折线图中对时间类型变量的用法: now前面的+号何解? now = new Date(+now + oneDay); 后来查阅资料,看到一篇博客,解释如下:这是对 ...
最新文章
- mysql分库分表事务控制_数据库分库分表之后,你是如何解决事务问题?
- Windows环境下Pin(二进制动态插桩引擎)搭建
- 给医生的R语言课程:零基础入门篇
- 如何自己找出SMBDA服务使用的端口号
- kafka指定分区消费
- tomcat启动时,没有启动你所配置的项目(原因可能是Eclipse 中的工程builed 失败造成),如何解决~
- HDU 3966 dfs序+LCA+树状数组
- 转载--Ajax学习---DOM进行Web响应
- [洛谷P2370]yyy2015c01的U盘
- 上班按小时的怎么记,小时工计时怎么用便签记上个月的工时
- Java 图标logo的由来
- linux虚拟串口控制器驱动开发及代码实现(uart driver)
- iPhone XR/XS/XS Max 适配,最全iPhone尺寸
- 想在Windows上使用getopt,我教你原地起飞
- 快手官宣全员开启大小周?996、997,网友:「国产式加班」花样真多!
- imagecreatefromjpeg(),imagecreatefrompng()打开不同格式的图片报错误
- 【点云处理技术之open3d】第四篇:使用open3d绘制常用类型——箭头、圆柱、长方体、球形、箭头、坐标轴和线条
- 阿里巴巴的 eclipse 代码检查工具如何安装?
- 机载计算机系统教材,机载计算机系统故障诊断.pdf
- IDEA开发工具调试技巧(极大提升开发效率)
热门文章
- class ts 扩展方法_一个class文件到底包含了哪些东西?
- 嵌入式在线html编辑器,嵌入式HTML编辑器的设计与实现.ppt
- java math mod_java8 Math新增方法介绍
- Linux下安装golang
- wxpython 调用子窗口_wxpython简介
- 27.将 VMware 服务器上的虚拟机备份到 Azure(上)
- 无人机成为黑客的新工具,可黑掉部分家用的智能设备
- 附加作业:源自邹老师的作业“链接”
- Javascript in one picture
- JVM原理及调优--网页链接收藏