【问题标题】:Python Pandas Groupby averagesPython Pandas Groupby 平均值
【发布时间】:2021-10-20 10:40:52
【问题描述】:

I这是我目前拥有的。我想知道一个玩家第一次玩的平均值是什么,以及一个玩家第二次玩的平均值是什么。

Player Time
A 5
A 8
B 7
B 12

我想知道玩家第一次的平均时间是多少,第二次的平均时间是多少。所以第一次平均为 6,第二次平均为 10。

【问题讨论】:

  • 我需要看看玩家第二次玩的时间是否增加了?
  • 非groupby方法df.set_index(['Player',df.groupby('Player').cumcount()]).unstack().mean().droplevel(0)

标签: pandas group-by mean


【解决方案1】:

使用groupby + cumcount(),我们得到每个组内的行数,即每个玩家的时间是第一、第二等:

>>> df.groupby('Player').cumcount()
0    0
1    1
2    0
3    1
dtype: int64

在简单的groupby.mean() 中重用它,我们有以下解决方案:

>>> df['Time'].groupby(df.groupby('Player').cumcount()).mean()
0     6.0
1    10.0
Name: Time, dtype: float64

【讨论】:

  • @Maria。如果这符合您的需要,请不要忘记接受答案。请。
猜你喜欢
  • 1970-01-01
  • 2017-08-05
  • 1970-01-01
  • 1970-01-01
  • 2018-10-02
  • 2022-01-24
  • 2014-01-26
  • 2020-03-09
相关资源
最近更新 更多