![v2-c917ecafe086df7178d014c8527991ed_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=4268d8cf-112a-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-c917ecafe086df7178d014c8527991ed_b.jpg)
时间序列数据有许多定义,它们以不同的方式表示相同的含义。一个简单的定义是时间序列数据包括附加到顺序时间点的数据点。
时间序列数据的来源是周期性的测量或观测。许多行业都存在时间序列数据。举几个例子:
- 一段时间内的股票价格
- 每天,每周,每月的销售额
- 流程中的周期性度量
- 一段时间内的电力或天然气消耗率
在这篇文章中,我将列出20个要点,帮助你全面理解如何用Pandas处理时间序列数据。
1.不同形式的时间序列数据
时间序列数据可以是特定日期、持续时间或固定的自定义间隔的形式。
![v2-95b70b9d04a7b121fcdf47985e66b0b1_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=4268d8cf-112a-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-95b70b9d04a7b121fcdf47985e66b0b1_b.jpg)
时间戳可以是给定日期的一天或一秒,具体取决于精度。例如,' 2020-01-01 14:59:30 '是基于秒的时间戳。
2.时间序列数据结构
Pandas提供灵活和高效的数据结构来处理各种时间序列数据。
![v2-4054db356221f4038678038c13698fc4_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=4268d8cf-112a-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-4054db356221f4038678038c13698fc4_b.jpg)
除了这3个结构之外,Pandas还支持日期偏移概念,这是一个与日历算法相关的相对时间持续时间。
3.创建一个时间戳
最基本的时间序列数据结构是时间戳,可以使用to_datetime或Timestamp函数创建
import pandas as pdpd.to_datetime('2020-9-13')
Timestamp('2020-09-13 00:00:00')pd.Timestamp('2020-9-13')
Timestamp('2020-09-13 00:00:00')
4.访问按时间戳保存的信息
我们可以获得存储在时间戳中的关于日、月和年的信息。
a = pd.Timestamp('2020-9-13')a.day_name()
'Sunday'
a.month_name()
'September'
a.day
13
a.month
9
a.year
2020
5. 隐藏信息访问
时间戳对象还保存有关日期算法的信息。例如,我们可以问这一年是不是闰年。以下是我们可以获得的一些更具体的信息:
b = pd.Timestamp('2020-9-30')b.is_month_end
Trueb.is_leap_year
Trueb.is_quarter_start
Falseb.weekofyear
40
6. 欧洲风格的日期
我们可以使用to_datetime函数处理欧洲风格的日期(即日期在先)。dayfirst参数被设置为True。
pd.to_datetime('10-9-2020', dayfi