我有一个时间戳系列
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。
是否有使用非计数日期推断频率的方法?
答案 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)