Pandas - 计算字段的平均值并乘以出现次数

Posted

技术标签:

【中文标题】Pandas - 计算字段的平均值并乘以出现次数【英文标题】:Pandas - Calculating Average of Field and Multiply By Number of Occurrences 【发布时间】:2017-06-13 17:43:48 【问题描述】:

这是一个数据框。我想计算播放类型(short_pass、long_pass、deep_pass)的平均比率,并将其乘以 play_type 发生的频率。

我可以做一个 group_by play_type 并获得个人平均值,但我坚持获取 play_type 发生的次数(短传发生两次),然后将两者相乘。

谢谢!

Quarterback   Play_Type Ratio

Brady   Short_Pass    5.4
Brady   Long_Pass     7.2
Brady   Deep_Pass     8.1
Rodgers Long_Pass     6.4
Rodgers Deep_Pass     7.2
Miller  Short_Pass    4.2
Miller  Deep_Pass     7.3

【问题讨论】:

【参考方案1】:
g = df.groupby('Play_Type')
g.Ratio.mean() * g.Play_Type.count()

Play_Type
Deep_Pass     22.6
Long_Pass     13.6
Short_Pass     9.6
dtype: float64

不过,这和sum是一样的

g = df.groupby('Play_Type')
g.Ratio.sum()

Play_Type
Deep_Pass     22.6
Long_Pass     13.6
Short_Pass     9.6
Name: Ratio, dtype: float64

【讨论】:

谢谢。我试图用多个 groupby 语句来做这更清楚。度过一个愉快的夜晚!

以上是关于Pandas - 计算字段的平均值并乘以出现次数的主要内容,如果未能解决你的问题,请参考以下文章

Pandas - 计算并获取列中字符串值的唯一出现次数

平均观察在 Pandas 数据框中出现的总次数 [重复]

pandas使用groupby函数基于指定分组变量对dataframe数据进行分组使用mean函数计算所有分组中指定数值变量的聚合平均值即字段在指定分组的平均值([]方括号指定需要计算的数值字段)

连接 2 个表并计算 SQL 中特定字段的出现次数

计算单元格 pandas 中多个子字符串的出现次数

Pandas:将日期分成 30 分钟间隔并计算平均值