问题描述
我下载了 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
解决方法
对于股票数据,周末没有数据,因此熊猫无法推断频率。如果缺少数据,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