pandas—时间序列基础

时间序列基础

时间序列(time series)数据是一种重要的结构化数据形式。数据点是根据某种规律定期出现的(比如每15秒、每5分钟、每月出现一次)。
时间序列也可以是不定期的,没有固定的时间单位或单位之间的偏移量。时间序列数据的意义取决于具体的应用场景。

  • 时间戳(timestamp),特定的时刻。
  • 固定时期(period),如2007年1月或2010年全年。
  • 时间间隔(interval),由起始和结束时间戳表示。时期(period)可以被看做间隔(interval)的特例。

Python标准库包含用于日期(date)和时间(time)数据的数据类型,如:datetime、time以及calendar模块。
其中,datetime以毫秒形式存储日期和时间。timedelta表示两个datetime对象之间的时间差。

datetime模块中的数据类型
在这里插入图片描述
字符串和datetime的相互转换
利用str或strftime方法(传入一个格式化字符串),datetime对象和pandas的Timestamp对象(稍后就会介绍)可以被格式化为字符串。

datetime.strptime可以用这些格式化编码将字符串转换为日期
在这里插入图片描述在这里插入图片描述
datetime.strptime是通过已知格式进行日期解析的最佳方式。但是每次都要编写格式定义是很麻烦的事情,尤其是对于一些常见的日期格式。这种情况下,你可以用dateutil这个第三方包中的parser.parse方法。dateutil可以解析几乎所有人类能够理解的日期表示形式

from dateutil.parser import parse
parse('2011-01-03')
# datetime.datetime(2011, 1, 3, 0, 0)
parse('Jan 31, 1997 10:45 PM')
# datetime.datetime(1997, 1, 31, 22, 45)
parse('6/12/2011', dayfirst=True)
# datetime.datetime(2011, 12, 6, 0, 0)

pandas时间序列

pandas最基本的时间序列类型就是以时间戳(通常以Python字符串或datatime对象表示)为索引的Series。

# dates为Python字符串或datatime对象
ts = pd.Series(np.random.randn(6), index=dates)

基本的时间序列频率
在这里插入图片描述在这里插入图片描述在这里插入图片描述
pandas中的原生时间序列一般被认为是不规则的,也就是说,它们没有固定的频率。
但是,pandas有一整套标准时间序列频率以及用于重采样、频率推断、生成固定频率日期范围的工具。例如,我们可以将之前那个时间序列转换为一个具有固定频率(每日)的时间序列,只需调用resample即可
resample重采样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值