[Python3] Pandas v1.0 —— (八) 处理时间序列


[ Pandas version: 1.0.1 ]


十一、处理时间序列

本文涉及的日期与时间数据主要包含三类:

  • 时间戳:表示某个具体的时间点
  • 时间间隔周期:表示开始时间点与结束时间点之间的时间长度,周期通常指一种特殊形式的时间间隔,每个间隔长度相同,彼此之间不会重叠
  • 时间增量(time delta)或持续时间(duration):表示精确的时间长度

(一)Python的日期与时间工具

在Python标准库与第三方库中有许多可以表示日期、时间、时间增量和时间跨度(timespan)的工具,尽管Pandas提供的时间序列工具更适合处理数据科学问题,但了解Pandas与Python标准库以及第三方库中的其他时间序列工具之间的关联性将大有裨益。

(1) 原生的Python日期与时间工具:datetimedateutil

Python基本的日期与时间功能都在标准库的datetime模块中,如果和第三方库dateutil模块搭配使用,可以快速实现许多处理日期与时间的功能。

优缺点:datetimedateutil模块在灵活性和易用性方面都表现出色,但如果处理的时间数据量比较大,速度会比较慢。

# 用datetime类型创建日期
from datetime import datetime
datetime(year=2020, month=5, day=8)
# datetime.datetime(2020, 5, 8, 0, 0)

# 使用dateutil模块对各种字符串格式的日期进行解析
from dateutil import parser
date = parser.parse("8th of May, 2020")
date
# datetime.datetime(2020, 5, 8, 0, 0)

# 打印date是星期几
date.strftime('%A')
# 'Friday'

(2) 时间类型数组:NumPy的datetime64类型

datetime64类型将日期编码为64位整数,使日期数组更节省内存,datetime64需要在设置日期时确定具体的输入类型

import numpy as np
date = np.array('2020-05-08', dtype=np.datetime64)
date
# array('2020-05-08', dtype='datetime64[D]')

# 可以进行快速的向量化运算
date + np.arange(12)
# array(['2020-05-08', '2020-05-09', '2020-05-10', '2020-05-11',
#        '2020-05-12', '2020-05-13', '2020-05-14', '2020-05-15',
#        '2020-05-16', '2020-05-17', '2020-05-18', '2020-05-19'],
#       dtype='datetime64[D]')

datetime64是在基本时间单位(fundamental time unit)的基础上建立的,可编码的时间范围是基本单元的 2 64 2^{64} 264倍,在时间精度(time

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值