时间序列--日期和时间数据类型及工具

时间序列(time series)数据是一种重要得结构化数据形式,在多个时间点观察或测量到得任何事物都可以形成一段时间序列,很多时间序列是固定频率的。也就是说,数据点是根据某种规律定期出现的(比如15s、5min、1mont)。时间序列也可以是不定期的。时间序列的意义取决于具体的应用场景,主要有以下几种:

  • 时间戳(timestamp),特定的时刻
  • 固定日期(period),如2007年1月或2010年全年
  • 时间间隔(interval),由起始和结束时间戳表示,时期(period)可以被看作间隔(interval)的特例
  • 实验或过程时间,每个时间点都是相对于特定起始时间的一个度量

pandas提供了一组标准的时间序列处理工具和数据算法。

1.1 日期和时间数据类型及工具

python标准库包含用于日期(date)和时间(time)数据的数据类型,以及日历方面的功能。主要用到datetime、time以及calendar模块。

约定:from datetime import datetime

1 >>> from datetime import datetime
2 >>> now = datetime.now()
3 >>> now
4 datetime.datetime(2020, 2, 5, 10, 58, 59, 339099)
5 >>> now.year, now.month, now.day
6 (2020, 2, 5)

datetime以毫秒形式存储日期和时间,datetime.timedelta表示两个datetime对象之间的时间差:

1 >>> delta = datetime(2011, 1, 7) - datetime(2011, 1, 6)
2 >>> delta.days
3 1
4 >>> delta.seconds
5 0
6 >>>

可以给datetime对象加上(或减去)一个或多个timedelta。

1 >>> from datetime import timedelta
2 >>> start = datetime(2011, 1, 7)
3 >>> start + timedelta(12)
4 datetime.datetime(2011, 1, 19, 0, 0)
5 >>> start - 2 * timedelta(12)
6 datetime.datetime(2010, 12, 14, 0, 0)

datetime模块中的数据类型如下表所示:


类型


说明


date


以公历形式存储日历日期(年、月、日)


time


将时间存储为时、分、秒、毫秒


datetime


存储日期和时间


timedelta


表示两个datetime值之间的差(日、秒、毫秒)

1.1.1  字符串和datetime的相互转换

利用str或strftime方法(传入一个格式化字符串),datetime对象和pandas的Timestamp对象可以被格式化为字符串。

1 >>> stamp = datetime(2020, 2, 5)
2 >>> str(stamp)
3 ‘2020-02-05 00:00:00‘
4 >>> stamp.strftime(‘%Y-%m-%d‘)
5 ‘2020-02-05‘

下表是全部的格式化编码,datatime.strptime可以用这些格式化编码将字符串转换为日期:


代码


说明


%Y


4位数的年


%y


2位数的年


%m


2位数的月[01, 12]


%d


2位数的日[01, 31]


%H


时(24小时制)[00, 23]


%


时(12小时制)[01, 12]


%M


2位数的分[00, 59]


%S


秒[00, 60](秒60和61用于闰秒)


%w


用整数表示的星期几[0(星期天), 6]


%U


每年的第几周[00, 53],星期天被认为是每周的第一天,每年第一个星期天之前的那几天被认为是“第0周”。


%W


每年的第几周[00, 53],星期一被认为是每周的第一天,每年第一个星期一之前的那几天被认为是“第0周”


%z


以+HHMM或-HHMM表示的UTC时区偏移量,如果时区为naïve,则返回空字符串


%F


%Y-%m-%d简写形式,例如2012-4-18


%D


%m/%d/%y简写形式,例如04/18/12

datetime对象还有一些特定于当前环境(位于不同国家或不同语言的系统)的格式化选项。如下表所示:


代码


说明


%a


星期几的简写


%A


星期几的全称


%b


月份的简写


%B


月份的全称


%c


完整的日期和时间,例如“Tue 01 May 2012 04:20:57 PM”


%p


不同环境中的AM或PM


%x


适合于当前环境的日期格式


%X


适用于当前环境的时间格式

原文地址:https://www.cnblogs.com/mrlayfolk/p/12268394.html

时间: 2024-11-07 10:09:18

时间序列--日期和时间数据类型及工具的相关文章

CAST CONVERT转换日期和时间数据类型

1 USE AdventureWorks2008R2; 2 GO 3 --CAST 4 5 SELECT 'CAST' "CAST", 6 CAST('1990-11-1' AS VARCHAR(10)) 转为字符串, 7 CAST('1990-11-1' AS DATETIME) 转为日期 8 9 --CONVERT 10 SELECT 'CONVERT' "CONVERT", 11 CONVERT(VARCHAR(10),'2999') 转为字符串, 12 CO

日期和时间处理函数

这篇文章要总结的是SQL在日期和时间处理方面的函数,总结起来,主要有以下这些函数在我们的开发过程中使用得比较多的. 1,获取当前系统时间 2,DATEADD函数 3,DATEDIFF函数 4,DATEPART函数 5,YEAR,MONTH和DAY函数 6,DATENAME函数 7,ISDATE函数 获取当前系统时间 获取当前系统时间的函数有很多,但是最常用就两个,CURRENT_TIMESTAMP和GETDATE.它们返回的日期和时间格式完全相同,但是因为CURRENT_TIMESTAMP是标准

跟王老师学MySQL:MySQL数据类型之日期与时间类型

跟王老师学MySQL:MySQL数据类型之日期与时间类型 主讲教师:王少华   QQ群号:483773664 学习内容 YEAR类型的特点及使用 TIME类型的特点及使用 DATE类型的特点及使用 DATETIME类型的特点及使用 TIMESTAMP类型的特点及使用 MySQL表示日期和时间的数据类型有以下几种: 1.YEAR类型 2.TIME类型 3.DATE类型 4.DATETIME类型 5.TIMESTAMP类型 一.Year类型 (一)简介 year使用一个字符串来表示年份 MySQL中

MySQL数据类型--------日期与时间类型实战

1. 背景 * MySQL支持多种表示日期和时间的数据类型,如YEAR.TIME.DATETIME.TIMESTAMP等等-- * MySQL 5.6.4版本开始支持微秒(支持类型:TIMTE.DATETIME.TIMESTAMP, 微秒长度最大为6) 2. 日期与时间类型所属空间与表示范围 类型 5.6.4版本之前 占用字节 5.6.4版本之后 (包含5.6.3版本) 占用字节 表示范围 DATETIME 8 6+(微秒长度-1 )/2 1000-01-01 00:00:00 ~ 9999-1

6、SQL基础整理(日期时间数据类型,转换函数)

日期时间数据类型 *系统常量: @@DATEFIRST(返回当前时间) DATEADD 增加时间 语法:DATEADD (datepart , number , date ) select DATEADD(YEAR,2,'2013-11-2') DATEDIFF 两个日期之间的距离 select DATEDIFF(YEAR,'2011-7-18','2014-11-2') DATENAME 返回某个时间值里面想要得到某块类型的数 select DATENAME(YEAR,'2011-7-8')

MySQL 数据类型:数值、日期和时间、字符串等类型详解

MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的. MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型. 数值类型 MySQL支持所有标准SQL数值数据类型. 这些类型包括严格数值数据类型(INTEGER.SMALLINT.DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT.REAL和DOUBLE PRECISION). 关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词. BIT数据类型保存位字

日期时间操作的工具类

1 /** 2 * 对日期时间中的相关方法进行分装,主要包括了获取当前时间,已经当前时间中运算关系等方法 3 */ 4 public class DateTime { 5 6 final static String datePattern = "yyyy-MM-dd HH:mm:ss"; 7 final static String dateonlyPattern = "yyyy-MM-dd"; 8 9 final static SimpleDateFormat sf

Python工具 | 10个用于处理日期和时间的 Python 库

1??arrow 更好的 Python 日期时间操作类库. 官网 2??Chronyk Python 3 的类库,用于解析手写格式的时间和日期. GitHub 3??dateutil Python datetime 模块的扩展. GitHub 4??delorean 解决 Python 中有关日期处理的棘手问题的库. 官网 5??maya 人性化的时间处理库. GitHub 6??moment 一个用来处理时间和日期的 Python 库.灵感来自于?Moment.js. GitHub 7??pe

(十六)PL/SQL日期及时间

PL/SQL提供两个日期和时间相关的数据类型: 1.日期时间(Datetime)数据类型 DATE TIMESTAMP TIMESTAMP WITH TIME ZONE TIMESTAMP WITH LOCAL TIME ZONE 2.间隔数据类型 INTERVAL YEAR TO MONTH INTERVAL DAY TO SECOND   一.日期时间字段值和间隔数据类型这两个日期时间和间隔数据类型包括字段.这些字段的值确定的数据类型的值.下表列出了时间和间隔的字段及其可能的值. 字段名称