gpt4 book ai didi

Python:带有 Pandas 的时间序列

转载 作者:行者123 更新时间:2023-12-01 02:01:04 25 4
gpt4 key购买 nike

我想对 Pandas 使用时间序列。我从一个 csv 文件中一一读取了多个时间序列,该文件的“日期”列中的日期为 (YYYY-MM-DD):

Date,Business,Education,Holiday
2005-01-01,6665,8511,86397
2005-02-01,8910,12043,92453
2005-03-01,8834,12720,78846
2005-04-01,8127,11667,52644
2005-05-01,7762,11092,33789
2005-06-01,7652,10898,34245
2005-07-01,7403,12787,42020
2005-08-01,7968,13235,36190
2005-09-01,8345,12141,36038
2005-10-01,8553,12067,41089
2005-11-01,8880,11603,59415
2005-12-01,8331,9175,70736


df = pd.read_csv(csv_file, index_col = 'Date',header=0)
Series_list = df.keys()

时间序列可以有不同的频率:日、周、月、季度、年,我想根据在生成 Arima 模型之前决定的频率对时间序列进行索引。有人可以解释一下如何定义该系列的频率吗?

stepwise_fit = auto_arima(df[Series_name]....

最佳答案

pandas 有一个内置函数pandas.infer_freq()

import pandas as pd
df = pd.DataFrame({'Date': ['2005-01-01', '2005-02-01', '2005-03-01', '2005-04-01'],
'Date1': ['2005-01-01', '2005-01-02', '2005-01-03', '2005-01-04'],
'Date2': ['2006-01-01', '2007-01-01', '2008-01-01', '2009-01-01'],
'Date3': ['2006-01-01', '2006-02-06', '2006-03-11', '2006-04-01']})
df['Date'] = pd.to_datetime(df['Date'])
df['Date1'] = pd.to_datetime(df['Date1'])
df['Date2'] = pd.to_datetime(df['Date2'])
df['Date3'] = pd.to_datetime(df['Date3'])

pd.infer_freq(df.Date)
#'MS'
pd.infer_freq(df.Date1)
#'D'
pd.infer_freq(df.Date2)
#'AS-JAN'

或者,您也可以使用列的日期时间功能。

df.Date.dt.freq
#'MS'

当然,如果您的数据实际上没有真实频率,那么您将不会得到任何结果。

pd.infer_freq(df.Date3)
#

频率描述记录在 offset-aliases 下.

关于Python:带有 Pandas 的时间序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49615438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com