【问题标题】:groupby functions to get subsequent valuegroupby 函数获取后续值
【发布时间】:2012-12-14 02:14:28
【问题描述】:

在我的数据中,我有订单顺序和时间的库存量,我需要遍历订单的每个部分并通过抓住链时间的下一部分来找到它何时结束。

我刚开始使用 python,我会通过将每个股票子集到它自己的池中来做到这一点,然后添加然后执行另一个循环来查找该序列的下一个订单的时间。最终,在 R/Matlab 中,您可以使用 X$time[1:end-1] <- X$time[2:end,]

我的问题:我可以使用df.groupby['sequence'].{for each entry get the time from the subsequent entry}???

我认为last() 会给我整个序列的最后一个值,我想要下一个序列开始/出现的时间

我有一组类型:

sequence time
a        1
b        1
a        3
a        5
b        2

我愿意

sequence time  nexttime
a        1       3
b        1       2
a        3       5
a        5       999
b        2       999

【问题讨论】:

    标签: group-by pandas


    【解决方案1】:
    In [24]: df
    Out[24]: 
      sequence  time
    0        a     1
    1        b     1
    2        a     3
    3        a     5
    4        b     2
    
    In [25]: df['nexttime'] = df.groupby('sequence').time.shift(-1).fillna(999)
    
    In [26]: df
    Out[26]: 
      sequence  time  nexttime
    0        a     1         3
    1        b     1         2
    2        a     3         5
    3        a     5       999
    4        b     2       999
    

    【讨论】:

    • 简洁明了,我喜欢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-16
    • 2022-10-25
    • 2020-01-30
    • 2021-12-05
    • 2022-12-20
    • 2021-06-25
    • 2018-12-05
    相关资源
    最近更新 更多