pandas处理时间序列(2):DatetimeIndex、索引和选择、含有重复索引的时间序列、日期范围与频率和移位、时间区间和区间算术...

本文详细介绍了pandas处理时间序列的基础知识,包括DatetimeIndex、索引和选择、日期范围与频率、移位、时间区间和区间算术等。通过示例展示了如何生成和操作时间戳、日期范围、频率调整、时间移位以及Period对象。此外,还讨论了非唯一时间戳的处理和时区处理。文章最后提到了时间戳与Period区间之间的转换,以及如何通过数组创建PeriodIndex。
摘要由CSDN通过智能技术生成

 

一、时间序列基础

1. 时间戳索引DatetimeIndex

生成20个DatetimeIndex

from datetime import datetime
dates = pd.date_range(start='2019-04-01',periods=20)
dates

 用这20个索引作为ts的索引

ts = pd.Series(np.random.randn(20),index=dates)
ts

不同索引的时间序列之间的算术运算在日期上自动对齐

ts + ts[::2]

pandas使用numpy的datetime64数据类型在纳秒级的分辨率下存储时间戳

ts.index.dtype 

DatetimeIndex中的标量值是pandas的Timestamp对象

stamp =ts.index[0]
stamp

 

2. 索引、选择

(1) 索引 

ts是一个series;stamp是索引为2的时间戳,Timestamp('2019-04-03 00:00:00', freq='D')

stamp =ts.index[2]

ts[stamp]

 

为了方便,可以传递一个能解释为日期的字符串

(2) 选择

[1]对于长的时间序列,可以传递一个年份或一个年份和月份来选择数据的切片

longer_ts = pd.Series(np.random.randn(10),index=pd.date_range('4/1/2019',periods=10))
longer_ts

选择2019年4月份的所有数据

longer_ts.loc['2019-4']#可以写成'2019/04',不能写成'201904'

 选择2019年的所有数据

longer_ts['2019'] 

[2]选择一段时间内的数据

ts[datetime(2019,1,1):]

ts['1/4/2019':'4/10/2019']

truncate也可以实现在两个日期间对Series进行切片

ts.truncate(after='4/3/2019')

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值