python标准库包含于日期(date)和时间(time)数据的数据类型,datetime、time以及calendar模块会被经常用到。
datetime以毫秒形式存储日期和时间,datetime.timedelta表示两个datetime对象之间的时间差。
下面我们先简单的了解下python日期和时间数据类型及工具
给datetime对象加上或减去一个或多个timedelta,会产生一个新的对象
datetime模块中的数据类型
类型
说明
date
以公历形式存储日历日期(年、月、日)
time
将时间存储为时、分、秒、毫秒
datetime
存储日期和时间
timedelta
表示两个datetime值之间的差(日、秒、毫秒)
字符串和datetime的相互转换
1)python标准库函数
日期转换成字符串:利用str 或strftime
字符串转换成日期:datetime.strptime
2)第三方库dateutil.parser的时间解析函数
3)pandas处理成组日期
pandas通常用于处理成组日期,不管这些日期是DataFrame的轴索引还是列,to_datetime方法可以解析多种不同的日期表示形式。
datetime 格式定义
代码
说明
%Y
4位数的年
%y
2位数的年
%m
2位数的月[01,12]
%d
2位数的日[01,31]
%H
时(24小时制)[00,23]
%l
时(12小时制)[01,12]
%M
2位数的分[00,59]
%S
秒[00,61]有闰秒的存在
%w
用整数表示的星期几[0(星期天),6]
%F
%Y-%m-%d简写形式例如,2017-06-27
%D
%m/%d/%y简写形式
pandas时间序列基础以及时间、日期处理
pandas最基本的时间序列类型就是以时间戳(时间点)(通常以python字符串或datetime对象表示)为索引的Series:
pandas不同索引的时间序列之间的算术运算会自动按日期对齐
索引为日期的Series和DataFrame数据的索引、选取以及子集构造
方法:
1).index[number_int]
2)[一个可以被解析为日期的字符串]
3)对于,较长的时间序列,只需传入‘年'或‘年月'可返回对应的数据切片
4)通过时间范围进行切片索引
带有重复索引的时间序列
1).index.is_unique检查索引日期是否是唯一的
2)对非唯一时间戳的数据进行聚合,通过groupby,并传入level = 0(索引的唯一一层)
0
1
2017-06-01
0
1
2017-06-02
2
3
2017-06-02
4
5
2017-06-02
6
7
2017-06-03
8
9
0
1
2017-06-01
0
1
2017-06-02
4
5
2017-06-03
8
9
本文总结了以下4个知识点
1)字符串、日期的转换方法
2)日期和时间的主要python,datetime、timedelta、pandas.to_datetime等
3)以时间为索引的Series和DataFrame的索引、切片
4)带有重复时间索引时的索引,.groupby(level=0)应用
原文链接:http://blog.csdn.net/LY_ysys629/article/details/73822716