Google cloud platform GCP数据准备-移动窗口

Google cloud platform GCP数据准备-移动窗口,google-cloud-platform,google-cloud-dataprep,Google Cloud Platform,Google Cloud Dataprep,我有一个以下格式的CSV文件,我正试图与GCP dataprep进行争论 Timestamp Tag Value 2018-05-01 09:00:00 Temperature 40.1 2018-05-01 09:00:00 Humidity 80 2018-05-01 09:05:00 Temperature 40.2 2018-05-01 09:05:00

我有一个以下格式的CSV文件,我正试图与GCP dataprep进行争论

   Timestamp                 Tag           Value
   2018-05-01 09:00:00     Temperature     40.1
   2018-05-01 09:00:00     Humidity        80
   2018-05-01 09:05:00     Temperature     40.2
   2018-05-01 09:05:00     Humidity        80
   2018-05-01 09:10:00     Temperature     40.0
   2018-05-01 09:10:00     Humidity        82
数据以5分钟为间隔扩展2周。 我想对其进行转换,以便在每10分钟的间隔内,我显示前10分钟的平均值(或最小值/最大值/中值),并对其进行旋转,这样我得到的最终结果如下:

  Timestamp             Temperature    Humidity
 2018-05-01 09:10:00      40.1         80.06
所以本质上,09:10的值是09:00、09:05和09:10的平均值

09:25的值就是09:15,09:20,09:25的平均值

我尝试过窗口函数和聚合,但似乎无法使其工作


谢谢你的意见

如果每行的格式为:

  Timestamp                Temperature      Humidity 
  2018-05-01 09:00:00      40.1             80
  2018-05-01 09:05:00      40.2             80
  2018-05-01 09:10:00      40               82
  2018-05-01 09:15:00      41               81
  2018-05-01 09:20:00      40.8             81
  2018-05-01 09:25:00      40.2             84
这将使数据大小减少一半,并减少正在使用的存储空间量。您可以在Dataprep中使用“将值转换为列”函数。这将创建一个温度列和一个湿度列

一旦采用这种格式,就可以使用window函数计算平均值。通过设置以下参数,使函数计算其前面两行的平均值:

rollingaverage(Temperature, 2, 0)
第一个参数是列名,第二个参数是前面的行,最后一个参数是计算平均值的后续行数。对湿度柱重复上述功能。结果应如下所示:

接下来,在filter rows选项下,使用“rows at regular Interval”(定期行数)函数保持每三行从第三个条目开始。设置参数如下:

删除两个原始温度和湿度行,您将获得以下结果:

  Timestamp                Temperature      Humidity 
  2018-05-01 09:10:00      40.1             80.67
  2018-05-01 09:25:00      41               82