如何使用Pandas从CSV文件加载时间序列数据集
文中机器翻译的部分内容如有不通望见谅
Python中的Pandas库为时间序列数据提供了出色的内置支持。Pandas还提供工具来探索和更好地理解拥有的数据集。
看完这篇教程之后,你能学习到:
如何使用Pandas从CSV文件加载时间序列数据集。
如何查看加载的数据并计算汇总统计信息。
如何绘制和查看时间序列数据。
在这篇文章中,我们将使用每日女性出生数据集作为示例。
这个单变量时间序列数据集描述了1959年加利福尼亚州每日女性出生的数量。单位是计数,有365个观测值。数据集的来源归功于 Newton (1988)。
数据集传送门:
https://raw.githubusercontent.com/jbrownlee/Datasets/master/daily-total-female-births.csv
下面是前5行数据的示例,包括标题行:
下面是整个数据集的图:

下载数据集并将其放置在您当前的工作目录中,文件名为“ daily-total-female-births-in-cal.csv ”。
# 加载时间序列数据
Pandas将时间序列数据集表示为一个系列。数列是一维数组,每行都有一个时间标签。该系列有一个名称,即数据列的列名。
可以看到每行都有一个关联的日期。这实际上不是一个列,而是一个值的时间索引。作为一个索引,一次可以有多个值,并且这些值可能在不同时间间隔均匀或不均匀。
在Pandas中加载CSV数据的主要函数是read_csv()函数。我们可以使用它来将时间序列作为Series对象而不是DataFrame加载,如下所示:
pandas中加载CSV数据的主要功能是read_csv()函数。我们可以使用它将时间序列作为series对象加载,而不是数据帧,如下所示:
请注意read_csv()函数的参数。我们为它提供了许多提示,以确保数据作为系列加载。
header=0: 在第0行指定标题信息。
parse_dates=[0]: 我们给函数一个提示,即第一列中的数据包含需要解析的日期。这个参数接受一个列表,所以我们为它提供一个包含一个元素的列表,它是第一列的索引。
index_col=0: 我们提示第一列包含时间序列的索引信息。
squeeze=True:提示我们只有一个数据列,我们感兴趣的是一个系列,而不是一个数据帧。
为自己的数据使用的另一个参数是date_parser,以指定解析日期时间值的函数。在本例中,已经推断出了日期格式,这在大多数情况下都有效。在少数情况下,指定您自己的日期解析函数,并使用date_parser参数。
运行上面的示例会打印出相同的输出,但也会确认时间序列确实是作为series对象加载的。
在DataFrame中操作时间序列数据通常比在Series对象中更容易。
在这些情况下,您可以轻松地将加载的系列转换为DataFrame,如下所示:
推荐阅读【有关pandas.read_csv()函数的更多信息】:
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html#pandas.read_csv
# 探索时间序列数据
Pandas还提供工具来探索和总结您的时间序列数据。
来看一些常见的操作来探索和总结您加载的时间序列数据。
查看数据
查看加载的数据以确认类型、日期和数据是否按预期加载是一个好主意。
您可以使用head()函数查看前5条记录或指定要查看的前n条记录。
例如,可以按如下方式打印前10行数据。
运行该示例将打印以下内容:
还可以使用tail()函数获取数据集的最后n条记录。
观测值个数
对数据执行的另一个快速检查是加载的观测值的数量。
这有助于解决列标题未按预期处理的问题,并了解如何有效地划分数据以供监督学习算法使用。
可以使用size参数获取系列的维度。
运行这个例子,我们可以看到,正如我们预期的那样,有 365 个观测值,1959 年一年中的每一天。
按时间查询
可以使用时间索引对系列进行切片、切块和查询。
例如,可以按如下方式访问一月份的所有观测值:
运行它会显示1959年1月的31个观测值。
这种基于索引的查询有助于在探索数据集时准备汇总统计数据和绘图。
描述统计学
计算时间序列的描述性统计数据有助于了解价值的分布和扩散。
这可能有助于数据缩放甚至数据清理的想法,您可以稍后在准备数据集进行建模时执行这些想法。
deviation()函数创建加载的时间序列的7个数汇总,包括观察值的平均值、标准偏差、中值、最小值和最大值。
运行此示例将打印出生率数据集的摘要。
绘制时间序列
绘制时间序列数据,尤其是单变量时间序列,是探索数据的重要部分。
通过调用plot()函数在加载的系列上提供此功能。
下面是绘制整个加载的时间序列数据集的示例。
运行该示例将创建一个时间序列图,y轴为每日出生人数,x轴为天数。

文章来源:
https://machinelearningmastery.com/load-explore-time-series-data-python/
免责声明:所载内容来源互联网,仅供参考。转载稿件版权归原作者和机构所有,如有侵权,请联系我们删除。