【发布时间】:2020-10-09 21:33:55
【问题描述】:
我会尽力解释,对于每个用户,我有 2 个 counterq 每 15 分钟递增一次(Traf1 和 Traf2,我每天计算 96 个值),我需要每 15 分钟计算 2 个新值通过从以前的值(15 分钟前)中减去用户并计算每个用户的最大值,最后加入该最大值的确切时间集合(使用我的 excel 文件更清楚)。
ID date_collection time_collect_traf1 traf1 time_collect_traf2 traf2
USER1 06/10/2020 06/10/2020 00:02 42722552446 06/10/2020 00:02 48354907401
USER1 06/10/2020 06/10/2020 00:17 42723408951 06/10/2020 00:17 48355583235
USER1 06/10/2020 06/10/2020 00:32 42724472767 06/10/2020 00:32 48356231232
USER1 06/10/2020 06/10/2020 00:47 42725824692 06/10/2020 00:47 48356923086
USER1 06/10/2020 06/10/2020 01:02 42726780008 06/10/2020 01:02 48357843935
USER1 06/10/2020 06/10/2020 01:17 42727942297 06/10/2020 01:17 48358668348
USER1 06/10/2020 06/10/2020 01:32 42728814704 06/10/2020 01:32 48359370387
USER1 06/10/2020 06/10/2020 01:47 42729720388 06/10/2020 01:47 48360064369
USER1 06/10/2020 06/10/2020 02:03 42730648238 06/10/2020 02:03 48360775116
USER1 06/10/2020 06/10/2020 02:17 42732118437 06/10/2020 02:17 48361489390
USER1 06/10/2020 06/10/2020 02:32 42735743381 06/10/2020 02:32 48362475815
文件示例:Excel file
如何计算:
1-对于traf1,traf2列,对于每个用户,我需要根据time_collection从前一个值中减去每个值
2-一旦计算出增量,我必须按最大值分组,并且对于每个达到最大值时我都需要 time_collection。
例如,在我的excel文件中我计算了Delta1和Delta2,我需要的最大值是黄色的,这个最大值的时间也是。
我的 excel 文件输出必须是这样的:
ID date_collection time_collect_traf1 time_collect_traf2 Max_Delta_Traf1 Max_Delta_traf2
USER1 06/10/2020 06/10/2020 22:02 126733343 06/10/2020 10:32 5442197
USER2 06/10/2020 06/10/2020 13:17 1917627204 06/10/2020 15:17 84254498
提前致谢
【问题讨论】:
-
这个问题有点含糊。您想要每个用户的 delta1 和 delta2 之间的最大记录吗?在您的示例中,您错过了列 delta2
标签: python-3.x pandas anaconda