无法自动推断 Quandl 时间序列数据帧的频率
Unable to automatically infer frequency of Quandl Time Series Dataframe
我下载了一个 Quandl 数据集。我无法使用 infer_freq 或 freq 推断或找到数据的频率。这两种方法没有 return 任何东西。我不明白是什么问题。
我想要see/print数据的频率,虽然我知道它是'daily'。
下面是我用过的代码。
!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
对于股票数据,周末没有数据,因此 pandas 无法推断频率。如果缺少数据,pd.infer_freq(df.index)
将 return None。我猜你不想做 df.asfreq('D')
因为这将为缺失数据创建 None 值。
如果你真的想从你的 Dataframe 中推断出频率,你可以只检查连续行之间的时间增量(假设你最终没有得到对应于周末的 3 天的时间增量)
td = df.index[1] - df.index[0]
freq = td.days # or explore td.components
我下载了一个 Quandl 数据集。我无法使用 infer_freq 或 freq 推断或找到数据的频率。这两种方法没有 return 任何东西。我不明白是什么问题。
我想要see/print数据的频率,虽然我知道它是'daily'。
下面是我用过的代码。
!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
对于股票数据,周末没有数据,因此 pandas 无法推断频率。如果缺少数据,pd.infer_freq(df.index)
将 return None。我猜你不想做 df.asfreq('D')
因为这将为缺失数据创建 None 值。
如果你真的想从你的 Dataframe 中推断出频率,你可以只检查连续行之间的时间增量(假设你最终没有得到对应于周末的 3 天的时间增量)
td = df.index[1] - df.index[0]
freq = td.days # or explore td.components