我是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()
但似乎没有用。 提前谢谢!
答案 0 :(得分:0)
我不确定您的数据是基于您上面提出的建议(即我在数据框中没有看到name_x
,但是假设它必须在那里)。我会尝试:
data['last_time'] = data.groupby(['name_x'])['date'].transform('max')