尝尝pandas(5)
今天的内容很简单,我们一起来学习在pandas中对时间的处理。
date_range
首先给大家介绍date_range的用法,看名字大家就因该猜得到这个方法的用法了吧,它就是用来处理时间的跨度的。
首尾时间
当然,除了日/月/年这种写法,还有年/月/日以及年-月-日这两种。
指定开始和时间的跨度(periods),跨度单位默认为天。
跨度单位除了天(D)之外,还有一个小时(H),两个小时(2H),两天两小时(2D2H),工作日(B),一周(W,取星期日)
时区,设置tz参数为上海时间,因为上海时间采用东八区的北京时间,所以是比格林尼治时间晚8个小时。不过奇怪的是,这里我设置北京时间却报错,而且更奇怪的是我查看了官方文档里面是举了北京这个例子的,着实让人摸不着头脑,知道原因的读者请后台留言告诉我,谢谢。
上面的开始和结束都是闭合的,我们也可以指定其左右(即开始和结束)是否闭合。
Timestamp
Timestamp是pandas中的一个表示时间戳的类。
注意上面的14是以微秒而不是毫秒为单位。
更好玩的是这货竟然还可以使用减法。
如果指定的时间不在限定的范围之内,则报错。
to_datetime
顾名思义,这是一个将某些东西转换为时间的方法。
将表格类型转为时间,注意字典中的键不能更改名字。
将字符串转为时间,时间必须合法(比如2月30日为非法时间),否则报错。
解析为年月日格式,存在分秒等其它时间格式则报错。
通过设置errors参数为ignore或coerce可以忽略错误输出原字符串或者输出NaT。
通过设置exact为False,更智能地将其转为正确的时间格式,比如这里不会转为2018-13-50,不过在时间错误的情况下,需要使用format格式化。
距离1970年1月1日0时0分0秒1435488505秒的时间。跨度的的类型为字符串类型或整型均可。
为了验证确实是距离1970年1月1日的时间,在这里我将单位设置为天,跨度为1,输出的确实是1970-01-02 00:00:00
上面的默认起始时间是1970年1月1日,我们还可以设置其它时间,不过需要注意的是这里的跨度类型不能为字符串,即[1,2]不能写成['1','2']
以年或天为首。
通过设置box为Flase将返回的类型变为数组类型。
python小白联盟