LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 175|回复: 0

Pandas:从时间序列数据中处理,分割和提取统计信息

[复制链接]
发表于 2023-12-31 01:14:26 | 显示全部楼层 |阅读模式
Pandas:从时间序列数据中处理,分割和提取统计信息
如果必须使用时间序列数据,Pandas是一个非常有用的工具。 在Pandas的帮助下,可以执行以下操作 -
  • 使用pd.date_range包创建一系列日期
  • 通过使用pd.Series包对带有日期数据进行索引
  • 使用ts.resample包执行重新采样
  • 改变频率
示例
以下示例显示使用Pandas处理和分割时间序列数据。 请注意,这里使用月度北极涛动数据,可以从monthly.ao.index.b50.current.ascii下载并可以转换为文本格式。
处理时间序列数据
要处理时间序列数据,您必须执行以下步骤 -
第1步 ,导入以下软件包 -
import numpy as npimport matplotlib.pyplot as pltimport pandas as pd

接下来,定义一个函数,它将从输入文件中读取数据,如以下代码所示 -
def read_data(input_file):   input_data = np.loadtxt(input_file, delimiter = None)

现在,将这些数据转换为时间序列。 为此,请创建时间序列的日期范围。 在这个例子中,我们保留一个月的数据频率。 文件中是存储从1950年1月开始的数据。
dates = pd.date_range('1950-01', periods = input_data.shape[0], freq = 'M')

在这一步中,在Pandas Series的帮助下创建时间序列数据,如下所示 -
output = pd.Series(input_data[:, index], index = dates)    return outputif __name__=='__main__':

如下所示,指定输入文件的路径 -
input_file = "/Users/admin/AO.txt"

现在,将列转换为时间序列格式,如下所示 -
timeseries = read_data(input_file)

最后,使用显示的命令绘制并可视化数据 -
plt.figure()timeseries.plot()plt.show()

观察如下图所示 -


切片时间序列数据
切片涉及仅检索时间序列数据的一部分。 作为示例的一部分,我们仅在1980年到1990年间对数据进行分割。请注意以下执行此任务的代码 -
timeseries['1980':'1990'].plot()   <matplotlib.axes._subplots.AxesSubplot at 0xa0e4b00>plt.show()

当您运行切片时间序列数据的代码时,可以观察下图所示的图形 -

//更多请阅读:https://www.yiibai.com/ai_with_p ... me_series_data.html




您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表