#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