我想通过在熊猫中使用bygroup来计算每个区域的得分率,但不确定如何做到这一点:
假设df有两列,分别是:
Shot_type Shot_zone
Goal Penalty_area
Saved Penalty_area
Goal Goal Box
Saved Goal Box
在这里,我想按Shot_zone分组,并根据Shot_type的目标计数/每种Shot_zone类型的len()计算得分率。这里每个Shot_zone都有1个进球和1个保存,因此结果应类似于:
Penalty_area 50%
Goal Box 50%
有没有使用Pandas的可理解方法?非常感谢你!
也可以groupby
和apply
df.groupby('Shot_zone').Shot_type.apply(lambda s: '{}%'.format((s[s=='Goal']).size/(s.size) * 100))
Shot_zone
Goal_Box 50.0%
Penalty_area 50.0%
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句