获取非连续熊猫时间戳记的频率

时间:2019-02-19 14:52:04

标签: python pandas

我有一个时间戳系列

times= pd.to_datetime(['2018-03-01', '2018-03-02', '2018-03-03', '2018-03-06',
           '2018-03-07', '2018-03-08', '2018-03-09', '2018-03-10',
           '2018-03-13', '2018-03-14',

           '2018-07-19', '2018-07-20', '2018-07-21', '2018-07-24',
           '2018-07-25', '2018-07-26', '2018-07-27', '2018-07-28',
           '2018-07-31', '2018-08-01'])

我想发现频率,是每天,每周还是每月。

但是由于没有连续数据,因此pandas方法仅返回None。

是否有使用非计数日期推断频率的方法?

1 个答案:

答案 0 :(得分:0)

由于您的数据不连续,因此频率不明确。但是

s = pd.Series(times)
agg = (s - s.shift(1)).to_frame().groupby(0)[0].agg(len)

您将获得有关时间偏移的概览,并且最常出现的值是您要查找的内容的候选者。

编辑

每日数据:

agg.idxmax() == pd.Timedelta(days=1)

每周数据:

agg.idxmax() == pd.Timedelta(days=7)