我将尽力解释最好的方法,对于每个用户,我每15分钟增加2个counterq(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文件
如何计算:
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
提前致谢
我试图找出您需要的东西。希望答案是您需要的:
df =pd.read_excel('USERS_FILE.xlsx')
df=(
df
.assign(diff1 = lambda x: x[['ID','date_collection','traf1']].groupby(['ID','date_collection']).diff())
.assign(diff2 = lambda x: x[['ID','date_collection','traf2']].groupby(['ID','date_collection']).diff())
)
print(
df[['ID','time_collect_traf1','diff1']]
.sort_values('diff1',ascending=False)
.groupby(['ID'])
.head(1)
.merge(
(
df[['ID','time_collect_traf2','diff2']]
.sort_values('diff2',ascending=False)
.groupby(['ID'])
.head(1)),
on='ID',
how='left'
)
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句