大数跨境
0
0

系列一:教女朋友学时间序列

系列一:教女朋友学时间序列 数据皮皮侠
2020-04-08
0
导读:微信公众号:数据皮皮侠关注可了解更多的教程及排版技巧。问题或建议,请公众号留言;**[如果你觉得公众号的推文

微信公众号:数据皮皮侠
关注可了解更多的教程及排版技巧。问题或建议,请公众号留言;
**[如果你觉得公众号的推文对你和朋友有帮助,欢迎关注和推广]

内容目录:时间序列的Python实现

时间序列 简介一、创建时间序列1.1 date_range1.2 truncate过滤

时间序列 简介

一、创建时间序列

1.1 date_range

可以指定开始时间与周期
H:小时
D:天
M:月

1import pandas as pd
2import numpy as np

从2016-07-01开始,周期为10,间隔为3天,生成的时间序列为下:

1rng = pd.date_range('2016-07-01', periods = 10, freq = '3D')
2rng
1DatetimeIndex(['2016-07-01''2016-07-04''2016-07-07''2016-07-10',
2               '2016-07-13''2016-07-16''2016-07-19''2016-07-22',
3               '2016-07-25''2016-07-28'],
4              dtype='datetime64[ns]', freq='3D')

其中,起始日期也可以写成’2016 Jul 1’、‘7/1/2016’、‘1/7/2016’、‘2016-07-01’、'2016/07/01’中的任何一种形式:

1# TIMES #2016 Jul 1 7/1/2016 1/7/2016 2016-07-01 2016/07/01
2rng = pd.date_range('2016 Jul 1', periods = 10, freq = '3D')
3rng
1DatetimeIndex(['2016-07-01''2016-07-04''2016-07-07''2016-07-10',
2               '2016-07-13''2016-07-16''2016-07-19''2016-07-22',
3               '2016-07-25''2016-07-28'],
4              dtype='datetime64[ns]', freq='3D')

在Series中,指定index,将时间作为索引,产生随机序列:

1time=pd.Series(np.random.randn(20),
2      index=pd.date_range(dt.datetime(2016,1,1),periods=20))
3print(time)

1.2 truncate过滤

过滤掉2016-1-10之前的数据:

1time.truncate(before='2016-1-10')

结果显示:

 12016-01-10   -0.005444
22016-01-11   -0.134409
32016-01-12    0.249318
42016-01-13   -0.297842
52016-01-14   -0.128514
62016-01-15    0.063690
72016-01-16   -2.246031
82016-01-17    0.359552
92016-01-18    0.383030
102016-01-19    0.402717
112016-01-20   -0.694068
12FreqDdtypefloat64

过滤掉2016-1-10之后的数据:

1time.truncate(after='2016-1-10')

结果显示:

 12016-01-01   -0.129379
22016-01-02    0.164480
32016-01-03   -0.639117
42016-01-04   -0.427224
52016-01-05    2.055133
62016-01-06    1.116075
72016-01-07    0.357426
82016-01-08    0.274249
92016-01-09    0.834405
102016-01-10   -0.005444
11FreqDdtypefloat64

通过时间索引,提取数据:

1print(time['2016-01-15'])

通过切片,将一段时间间隔的数据提取出来:

1print(time['2016-01-15':'2016-01-20'])

我们也可以指定起始时间和终止时间,产生时间序列:

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

参数freq中可以选的数值:

【声明】内容源于网络
0
0
数据皮皮侠
社科数据综合服务中心,立志服务百千万社科学者
内容 2137
粉丝 0
数据皮皮侠 社科数据综合服务中心,立志服务百千万社科学者
总阅读615
粉丝0
内容2.1k