pandas时间序列处理

时间序列

  • 时间戳(timestamp)
  • 固定周期(period)
  • 时间间隔(interval)

date_range

  • 可以指定开始时间与周期
  • H:小时
  • D:天
  • M:月
import pandas as pd
import numpy as np
#TIMES #2019 Jul 1 #7/7/2019 1/7/2016 2019-7-01 2019/07/01
rng=pd.date_range('2019-07-01',periods=10,freq='D')#可以指定开始时间与周期:H:小时,D:天,M:月,前面可以加数字,如‘3D’
rng

在这里插入图片描述

time=pd.Series(np.random.randn(20),
           index=pd.date_range(pd.datetime(2019,1,1),periods=20))
print(time)

在这里插入图片描述

#truncate过滤
time.truncate(before='2019-01-10')#2019-1-10之后的数据,包括2019-01-10

在这里插入图片描述

time.truncate(after='2019-1-10')#由上可知

在这里插入图片描述

print(time['2019-01-15'])

0.22996364154291105

data=pd.date_range('2010-01-01','2011-01-01',freq='M')
print(data)

在这里插入图片描述
在这里插入图片描述

时间戳

pd.Timestamp('2019-01-10')
#out : imestamp('2019-01-10 00:00:00')
# 可以指定更多细节
pd.Timestamp('2016-07-10 10')
pd.Timestamp('2016-07-10 13:14')
pd.Timestamp('2016-07-10 13:14:55')
时间戳

pd.Period('2019-01')
pd.Period('2016-01-01')

在这里插入图片描述

时间偏移量
pd.Timedelta('1 day')
print(pd.Period('2016-01-01 10:10') + pd.Timedelta('1 day'))
print(pd.Timestamp('2016-01-01 10:10') + pd.Timedelta('1 day'))
print(pd.Timestamp('2016-01-01 10:10') + pd.Timedelta('15 ns'))

在这里插入图片描述

p1 = pd.period_range('2016-01-01 10:10', freq = '25H', periods = 10)
p1

在这里插入图片描述

p2 = pd.period_range('2016-01-01 10:10', freq = '1D1H', periods = 10)#一天一个小时
p2

在这里插入图片描述

指定索引
rng = pd.date_range('2019 Jul 1', periods = 10, freq = 'D')

pd.Series(range(len(rng)), index = rng)

在这里插入图片描述

#根据时间点获取数据
periods = [pd.Period('2019-01'), pd.Period('2019-02'), pd.Period('2019-03')]
ts = pd.Series(np.random.randn(len(periods)), index = periods)
ts

在这里插入图片描述

时间戳和时间周期可以转换
ts = pd.Series(range(10), pd.date_range('07-10-16 8:00', periods = 10, freq = 'H'))
ts

在这里插入图片描述

ts_period = ts.to_period()
ts_period

在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值