Невозможно автоматически определить частоту фрейма данных временных рядов Quandl

#python #pandas #dataframe #time-series #quandl

#python #pandas #фрейм данных #временные ряды #quandl

Вопрос:

Я загрузил набор данных Quandl. Я не могу определить или найти частоту данных, используя infer_freq или freq. Эти два метода ничего не возвращают. Я не понимаю, в чем проблема.

Я хотел бы видеть / печатать частоту данных, хотя я знаю, что это «ежедневно».

Ниже приведен код, который я использовал.

 !pip install quandl

QUANDL_KEY = {my key}
quandl.ApiConfig.api_key = QUANDL_KEY

df = quandl.get(dataset='WIKI/SLB',  start_date='2018-01-01', end_date='2020-12-17')

pd.infer_freq(df.index, warn=True) #returns nothing
#df.index.freq  ## also returns nothing

#type(df.index) #pandas.core.indexes.datetimes.DatetimeIndex

 

Ответ №1:

Для данных о запасах нет данных по выходным, и из-за этого pandas не может определить частоту. pd.infer_freq(df.index) вернет None, если отсутствуют данные. Я думаю, вы не хотите этого делать df.asfreq('D') , потому что это приведет к созданию значений None для отсутствующих данных. Если вы действительно хотите вывести частоту из своего фрейма данных, вы можете просто проверить интервал времени между последовательными строками (учитывая, что вы не получаете интервал времени в 3 дня, соответствующий выходным)

 td = df.index[1] - df.index[0]
freq = td.days  # or explore td.components