pandas:减去上一行的每一行,并按max将结果分组

淋巴瘤

我将尽力解释最好的方法,对于每个用户,我每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

提前致谢

梅迪(Mehdi Golzadeh)

我试图找出您需要的东西。希望答案是您需要的:

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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将分组中的max附加到结果的每一行?

来自分类Dev

将向量减去到数据帧的每一行

来自分类Dev

如何将按数据帧分组的另一行减去另一行?

来自分类Dev

按 max(year) 选择一行并按名称分组,但也包括结果集中的其他值

来自分类Dev

将MAX(id)添加到结果集的每一行

来自分类Dev

将查询结果分组为一行

来自分类Dev

用张量 B 的每一行减去张量 A 的每一行

来自分类Dev

在 Pandas 数据帧的每一行上应用函数

来自分类Dev

numpy通过向量减去矩阵的每一行

来自分类Dev

从opencv的矩阵的每一行中减去向量?

来自分类Dev

MATLAB 用给定的向量减去矩阵的每一行

来自分类Dev

减去另一行

来自分类Dev

将每一行读入数组

来自分类Dev

从上一行减去与分组有关的值

来自分类Dev

将每五行分组为一行-Regex NotePad ++

来自分类Dev

将每五行分组为一行-Regex NotePad ++

来自分类Dev

如何从引导行中的每前一行减去R中的每五行?

来自分类Dev

将grep结果列出一行?

来自分类Dev

使用awk,在所有列中减去上一行并打印结果

来自分类Dev

计算分组均值而忽略每一行值

来自分类Dev

Scala,读取文件操作每一行,将每一行插入列表

来自分类Dev

Perl:将文件的每一行与该文件的每一行进行比较

来自分类Dev

MySQL将每一行连接到除自身之外的每一行

来自分类Dev

将每一行转换为一个数据框并连接结果

来自分类Dev

如何将一行的两个datetime列拆分为多个行并按日期分组

来自分类Dev

如何根据上一行的数据对表进行分组并获得行的结果

来自分类Dev

在MySQL中,将每一行的值设置为同一行上的DATEDIFF计算

来自分类Dev

将&& \添加到文本文件上的每一行(最后一行除外)

来自分类Dev

Python Pandas条件总和减去前一行

Related 相关文章

  1. 1

    将分组中的max附加到结果的每一行?

  2. 2

    将向量减去到数据帧的每一行

  3. 3

    如何将按数据帧分组的另一行减去另一行?

  4. 4

    按 max(year) 选择一行并按名称分组,但也包括结果集中的其他值

  5. 5

    将MAX(id)添加到结果集的每一行

  6. 6

    将查询结果分组为一行

  7. 7

    用张量 B 的每一行减去张量 A 的每一行

  8. 8

    在 Pandas 数据帧的每一行上应用函数

  9. 9

    numpy通过向量减去矩阵的每一行

  10. 10

    从opencv的矩阵的每一行中减去向量?

  11. 11

    MATLAB 用给定的向量减去矩阵的每一行

  12. 12

    减去另一行

  13. 13

    将每一行读入数组

  14. 14

    从上一行减去与分组有关的值

  15. 15

    将每五行分组为一行-Regex NotePad ++

  16. 16

    将每五行分组为一行-Regex NotePad ++

  17. 17

    如何从引导行中的每前一行减去R中的每五行?

  18. 18

    将grep结果列出一行?

  19. 19

    使用awk,在所有列中减去上一行并打印结果

  20. 20

    计算分组均值而忽略每一行值

  21. 21

    Scala,读取文件操作每一行,将每一行插入列表

  22. 22

    Perl:将文件的每一行与该文件的每一行进行比较

  23. 23

    MySQL将每一行连接到除自身之外的每一行

  24. 24

    将每一行转换为一个数据框并连接结果

  25. 25

    如何将一行的两个datetime列拆分为多个行并按日期分组

  26. 26

    如何根据上一行的数据对表进行分组并获得行的结果

  27. 27

    在MySQL中,将每一行的值设置为同一行上的DATEDIFF计算

  28. 28

    将&& \添加到文本文件上的每一行(最后一行除外)

  29. 29

    Python Pandas条件总和减去前一行

热门标签

归档