【问题标题】:Filter certain months from time series with frequency=365从频率 = 365 的时间序列中过滤某些月份
【发布时间】:2020-06-22 13:24:56
【问题描述】:

我正在处理气候数据,并有一个从 1974 年到 2012 年的每日温度测量时间序列。我想将我的时间序列分成 2 个时间序列,一个是生长季节(4 月 1 日 - 8 月 31 日),另一个是非- 生长季节(9 月 1 日至 3 月 31 日)。

我的数据如下所示:

[1] 98.9 98.7 100.9 102.4 105.1 106.7 105.9 104.6 103.9 103.8 107.0 108.4 108.0 107.4 110.6 107.3 [17] 106.2 108.7 108.2 106.5 102.3 102.1 107.5 106.5 105.7 103.7 104.8 105.8 105.1 104.6 106.1 106.6 [33] 106.0 103.3 103.1 104.4 102.9 103.0 104.0 109.8 110.5 111.5 107.9 106.1 104.9 105.7 107.1 104.8 [49] 105.7 103.5 101.4 103.1 105.7 105.7 101.7 100.7 102.1 101.4 101.9 101.9 101.4 101.4 101.2 101.2

我该怎么做?

提前致谢

【问题讨论】:

    标签: time filter subset series


    【解决方案1】:

    根据您使用的工具,有多种方法可以做到这一点。时间序列数据库非常适合这种工作流程。以 QuestDB 为例,您可以按如下方式获得:

    -- Growing season
    select * from weather where month(timestamp)>3 and month(timestamp)<9;
    

    您可以在实际天气数据集here 上尝试此精确查询(只需将上面的粘贴复制到编辑器中,然后单击run)。我的数据集有大约 30 分钟的分辨率,但这在你的日常数据集上应该是一样的。

    您可以将此查询修改为其他季节。然后您可以将结果下载为 csv。最后,如果您希望输出按时间戳排序(在我的示例中已经存在,但您的原始数据可能是无序的),您可以使用ORDER BY timestamp

    【讨论】:

      猜你喜欢
      • 2021-12-28
      • 1970-01-01
      • 2022-08-14
      • 2023-03-21
      • 2021-05-05
      • 2021-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多