pandas检索时间序列的频率

zsl*_*ius 9 python pandas

有没有办法检索熊猫时间序列的频率?

rng = date_range('1/1/2011', periods=72, freq='H')
ts =pd.Series(np.random.randn(len(rng)), index=rng)
Run Code Online (Sandbox Code Playgroud)

ts.frequency或ts.period不是可用的方法.

谢谢

编辑: 我们可以推断出没有指定频率的时间序列的频率吗?

import pandas.io.data as web
aapl = web.get_data_yahoo("AAPL")

<class 'pandas.tseries.index.DatetimeIndex'>
[2010-01-04 00:00:00, ..., 2013-12-19 00:00:00]
Length: 999, Freq: None, Timezone: None
Run Code Online (Sandbox Code Playgroud)

我们能以某种方式获得aapl的频率吗?我们知道,这是工作日.

swe*_*eam 15

要推断频率,只需使用内置的fct'infer_freq'

import pandas as pd
pd.infer_freq(ts.index)
Run Code Online (Sandbox Code Playgroud)


alk*_*lko 11

对于 DatetimeIndex

>>> rng
<class 'pandas.tseries.index.DatetimeIndex'>
[2011-01-01 00:00:00, ..., 2011-01-03 23:00:00]
Length: 72, Freq: H, Timezone: None
>>> len(rng)
72
>>> rng.freq
<1 Hour>
>>> rng.freqstr
'H'
Run Code Online (Sandbox Code Playgroud)

与此索引索引的系列相似

>>> ts.index.freq
<1 Hour>
Run Code Online (Sandbox Code Playgroud)