大数据,机器学习,人工智能人工智能/模式识别/机器学习精华专题玩转大数据

利用Python进行数据分析(5)- 3大时间序列模块

2020-04-10  本文已影响0人  皮皮大

时间序列在很多的领域都是重要的结构化数据形式,例如经济学、金融、生态学、物理学等,其特点是:

image

时间序列的应用

  1. 时间戳
  2. 固定的时间区间
  3. 时间间隔

笔记1:最广泛和最简单的时间序列是时间戳引起的

处理时间的3大模块

下面👇详细介绍3大模块的使用

calendar

日历模块calendar中,常用的方法是

image-20200409205954204

calendar

calendar(year,w=2,l=1,c=6):返回year年的日历,3个月一行,间隔距离(每2个月的间隔,总共2个间隔)为c,每个宽度间隔w字符,每行长度:21*w+18(3*6)+2*c

打印2020年完整日历:

import calendar
year = calendar.calendar(2020)
print(year)
image

isleap(year)

判断某个年份是否是闰年

image

leapdays(y1,y2)

返回两个年份之间的闰年总数,包含y1,不包含y2

image

month(year,month,w=2,l=1)

返回的是year年month月的日历,两行标题,一周一行(l=1)。每日间隔宽度为w字符,每行的宽度是7*w+6,l=1是每星期的行数

image

monthcalendar(year, month)

返回的是列表,列表中的元素还是列表

image

对比

image

monthrange(year,month)

返回的是个元组,两个数字:

  1. 第一个:从星期几开始,0代表星期1,6代表星期日
  2. 第二个:该月共多少天
image

weekday(y,m,d)

输入年月日,知道是星期几

注意:返回值依然是从0-6对应的是星期一到星期日

image

time

time模块的各种属性方法总结如下:

image

time

time.time()是获取当前的时间,准确地说是时间戳

笔记2:时间戳timestamp是指一连串的数据中加入文字,比如时间或者日期等,用以保证本地的数据更新和远程一致。

时间戳是以1970-01-01 00:00:00为起点

image

localtime

time.localtime打印当前的时间,得到的结果是时间元组,具体含义:

序号 属性
0 tm_year 2020
1 tm_mon 1 到 12
2 tm_mday 1 到 31
3 tm_hour 0 到 23
4 tm_min 0 到 59
5 tm_sec 0 到 61 (60或61 是闰秒)
6 tm_wday 0到6 (0是周一)
7 tm_yday 1 到 366(儒略历)
8 tm_isdst -1, 0, 1, -1是决定是否为夏令时的旗帜

time.localtime的参数默认是time.time()的时间戳,可以自己输入某个时间戳来获取其对应的时间

image

gmtime

localtime得到的是本地时间,如果需要国际化,使用gmtime

格林威治标准时间:位于英国伦敦郊区的皇家格林威治天文台的标准时间,本初子午线经过那里。

image

asctime

time.asctime的参数为空时,默认是以time.localtime的值为参数,得到当前的日期、时间、星期

image

ctime

获取当前时间信息,参数默认是time.time()的时间戳

image

mktime

mktime也是以时间元组为参数,比如传入localtime()的返回值;

方法返回的是时间戳格式,类似localtime的逆过程

image

strftime

将时间元组按照指定的格式转化成字符串,如果不指定时间元组,默认是localtime的值

image

python中的时间日期格式:

格式 含义 取值范围(样式)
%y 去掉世纪的年份 00-99,如“19”
%Y 完整的年份 如2019
%j 指定日期是一年中的第几天 范围001-366
%m 返回的是月份 范围:01-12
%b 本地简化月份的名称 简写的英文月份
%B 本地完整月份的名称 完整的英文月份
%d 该月的第几日 如,5月1日返回的是“01”
%H 第几小时,24小时制 00-23
%l 第几小时,12小时制 00-12
%M 分钟 00-59
%S 00-59
%U 该年中的第几个星期(周日为一周的起点) 00-53
%W 同上,周一为起点 00-53
%w 一个星期中的第几天 0-6
%Z 时区 在大陆测试返回的是CST
%x 日期 日/月/年
%X 时间 时:分:秒
%c 详细日期时间 日/月/年时:分:秒
%% %字符 '%'字符
%p 上下午 AM or PM

strptime

strptime的作用是将字符串转化成时间元组,有两个参数:

image

datetime

datetime模块中常用的几个类:

image

date

image

不能直接使用datetime.date.year(),因为year不是一个方法

image

时间戳与格式化时间的转化

image

time

time类也要先生成time对象才能使用

image

timedelta

image

datetime

对象属性信息

datetime中既保存了日期,也保存了细化到微秒的时间。

image
字符串和datetime的转换

通过使用str方法或者strftime()方法来对datetime对象和pandas中的timestamp对象进行格式化

image image

dateutil

第三方包dateutilparser.parse。安装pandas的时候自动安装

image
上一篇下一篇

猜你喜欢

热点阅读