计算由时间间隔分隔的连续每小时记录块的平均值

Posted

技术标签:

【中文标题】计算由时间间隔分隔的连续每小时记录块的平均值【英文标题】:Calculate average values over blocks of consecutive hourly records separated by gaps in time 【发布时间】:2015-04-22 22:30:17 【问题描述】:

数据来自 Excel。当然,MS-Access 也可用。我也有 SAS 和 Python。

我在两列中有数据,我命名为 DateTimeObservation。观测值是数字,对应于每小时读数。排序后,在一天或多天的时间内连续每小时观察一次,逻辑上(且不规则地)由大于一小时的时间间隔分开。

我需要自动识别时间块(24,000 条记录)并计算每个离散时间块的平均值、最小值和最大值 Observation

【问题讨论】:

您是否更喜欢在 Excel 和 Access 中执行此操作?就像@pnuts 所说,查看数据透视表。您是否至少在如何解决问题的逻辑上进行过任何尝试?您是否对主要数据是否排序有偏好(假设 Excel 且没有数据透视表)? 如何定义时间块? 对使用的软件没有偏好。我可以对 DateTime 字段进行排序并观察连续每小时读数块的出现位置。时间块由每小时数据中的任何中断定义(即跳过一个或多个小时 - 表示新时间块的开始)。这在电子表格或数据透视表中很容易看到,但是如何自动选择这些不规则大小的块并计算它们的统计数据?在枢轴示例中,如何标记 GP? 24,000 条记录。 "需要自动识别时间块" 好的,那么这些块是如何识别的呢?这种自动化应该使用什么逻辑? 【参考方案1】:

这是一个数据透视表示例:-

【讨论】:

以上是关于计算由时间间隔分隔的连续每小时记录块的平均值的主要内容,如果未能解决你的问题,请参考以下文章

平均无故障时间的计算方法及公式?

如何从 cvs 连续数据集中计算平均值/最小值?

计算基于时间的指标(每小时)

如果数据丢失,平均每小时添加一条空记录

熊猫 - 计算每小时平均滚动 10 分钟

mysql查询每小时平均值