【问题标题】:pandas DataFrame - how to get the duration of different playerspandas DataFrame - 如何获取不同玩家的持续时间
【发布时间】:2016-04-06 17:12:13
【问题描述】:

我是 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()

但它似乎不起作用。 提前致谢!

【问题讨论】:

    标签: python pandas duration


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2018-01-23
      • 1970-01-01
      • 1970-01-01
      • 2011-11-05
      • 2020-11-04
      • 1970-01-01
      • 2018-02-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多