Pandas - 如何动态获取列中每个会话的最小值和最大值

时间:2014-02-14 16:18:43

标签: python pandas dataframe

所以我有一个类似的数据框:

timestamp   |   name   
------------+------------
   1        |    a
   1        |    b
   2        |    c
   2        |    d
   2        |    e
   3        |    f
   4        |    g

基本上我想获得每个时间戳会话的最小值和最大值(由唯一的时间戳值定义,在此示例中有4个会话),预期结果将是这样的:

timestamp   |   name   | start  | end  
------------+----------+--------+------
   1        |    a     |   1    |  2
   1        |    b     |   1    |  2
   2        |    c     |   2    |  3
   2        |    d     |   2    |  3
   2        |    e     |   2    |  3
   3        |    f     |   3    |  4
   4        |    g     |   4    |  4

我在考虑时间戳列上的索引,然后将索引“向上移动”1,但这种方法在上面示例中的第四个桶上不起作用。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

尝试numpy.clip(),例如df['end']=numpy.clip(df['timestamp']+1, 0, 4)