pandas DataFrame - 如何获得不同玩家的持续时间

时间:2016-04-06 17:12:14

标签: python pandas duration

我是Python新手,正在使用pandas分析出价记录。我想知道每个玩家(7000人)的持续时间(首次竞标的最后竞标时间),但我不知道如何继续。见下面的数据:

name  bids  profit  date    WeekOfYear
JEFF    3   -75    2012-05-25   21
JEFF    13  -325   2012-05-25   21
eQB     1   -25    2012-05-25   21  
eQB     1   -25    2012-07-02   27
eQB     1   -25    2012-07-09   28
alianx  7   -175   2012-05-25   21
alianx  19  -475   2012-05-25   21
alianx  59  -1475  2012-05-26   21
alianx  13  -325   2012-05-26   21
alianx  7   -175   2012-05-27   21


Data columns (total 5 columns):
name_x        95640 non-null object
date          95640 non-null datetime64[ns]

预期结果:

name  duration first_time   last_time
JEFF     1     2012-05-25   2012-05-25
eQB      46    2012-05-25   2012-07-09
alianx   3     2012-05-25   2012-05-27

我在尝试计算每位玩家的first_time和last_time时遇到问题:

data['last_time'] = data.groupby(['date','name_x']).max().reset_index()

但似乎没有用。 提前谢谢!

1 个答案:

答案 0 :(得分:0)

我不确定您的数据是基于您上面提出的建议(即我在数据框中没有看到name_x,但是假设它必须在那里)。我会尝试:

data['last_time'] = data.groupby(['name_x'])['date'].transform('max')