python - 获取非连续熊猫时间戳的频率
问题描述
我有一个时间戳系列
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。
使用非计数日期推断频率的任何方法?
解决方案
由于您的数据不连续,因此频率不明确。但随着
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)
推荐阅读
- nginx - 如何使 nginx 将子域重定向到文件夹?
- c# - 将 16 位无符号整数状态字转换为位数组
- postgresql - 无法在 MacOS PostgreSQL 上启动 Strapi
- batch-file - 如何设置 Windows 10 计划任务在另一个任务失败时触发?
- ruby-on-rails - 带有可选条件的 Array.select
- python - python:使用 CSV 阅读器和从 tarfile 中提取的单个文件
- performance - 采样率对性能的性能影响 - 更高的采样率在 NXP S32 上花费*更少*开销?
- flutter - Flutter - Listview.builder 将初始偏移设置为最后一个位置或像素?
- nearprotocol - 合约可以在 NEAR 协议中自行删除吗?
- c++ - C ++如何产生完全由种子决定的随机序列,独立于编译器或操作系统