使用日期进行复杂的统计

Posted

技术标签:

【中文标题】使用日期进行复杂的统计【英文标题】:Make complex statistics with date 【发布时间】:2021-10-29 11:51:54 【问题描述】:

我使用一个虚构的问题来说明这是敏感数据。

我有一张大桌子,计算一个国家/地区每个城市每月有多少人(每两个月一行,城市) 在特定事件发生后,我想计算每个月加入城市的人数增加或减少的平均值。

问题:该事件并非在每个城市的同一个月发生。 因此,我不能只根据特定的共同日期进行一般统计。

如果事件发生在 2018 年 12 月在 A 市,而在 2019 年 4 月在 B 市发生,我需要第 0 个月才能成为 A 市的 12 月 18 日和 B 市的 4 月 19 日。

我怎样才能做到这一点?

【问题讨论】:

您有一个包含四列的表:year、month、city 和 people_count。年、月、市各有一行。但是现在您正在谈论在不同时间在不同城市发生的事件。我们在哪里可以看到事件发生的地点和时间?这只是表中的另一列“事件”吗?或者是否有另一个表格列出了特定月份和城市发生的所有事件? 【参考方案1】:

我想出的解决方案是“标准化”日期。我添加了一个名为relative_month 的新列,计算如下:

row_year * 12 + row_month - event_occured_year*12 - event_occured_month

因此,现在每行都标有与事件相关的月份,与实际日期无关。 relative_month 在偶数月份为 0。 relative_month 是活动前 3 个月的 -3。 relative_month 是每个城市的活动 1 年后的 12 岁。

然后我可以通过显示相对月份每个值的平均值来制作图表。

我希望这是有道理的,并对遇到同样问题的人有所帮助。

【讨论】:

以上是关于使用日期进行复杂的统计的主要内容,如果未能解决你的问题,请参考以下文章

Mongodb按照日期分组统计

有没工具可以统计每个人某个时间段内在svn上提交的代码量。

Spark统计每天新增用户

数据仓库统计开发最佳实践

Oracle数据库统计日期

复杂度分析(上)如何分析统计算法的执行效率和资源消耗