【发布时间】:2021-12-29 18:25:01
【问题描述】:
我希望能够计算每个射手姓名的平均“进球”、“射门”和“未命中”,以用于进一步分析和可视化
下面的代码为我提供了按“射手姓名”排序的“事件”列中 3 个属性(射门、进球、未命中)的计数
数据框列:
season period time teamCode event goal xCord yCord xCordAdjusted yCordAdjusted ... playerPositionThatDidEvent timeSinceFaceoff playerNumThatDidEvent shooterPlayerId shooterName shooterLeftRight shooterTimeOnIce shooterTimeOnIceSinceFaceoff shotDistance
对应数据
2020 1 16 PHI SHOT 0 -74 29 74 -29 ... C 16 11 8478439.0 Travis Konecny R 16 16 32.649655
2020 1 34 PIT SHOT 0 49 -25 49 -25 ... C 34 9 8478542.0 Evan Rodrigues R 34 34 47.169906
2020 1 65 PHI SHOT 0 -52 -31 52 31 ... L 65 86 8480797.0 Joel Farabee L 31 31 48.270074
2020 1 171 PIT SHOT 0 43 39 43 39 ... C 42 9 8478542.0 Evan Rodrigues R 42 42 60.307545
2020 1 209 PHI MISS 0 -46 33 46 -33 ... D 38 5 8479026.0 Philippe Myers R 38 38 54.203321
当前代码:
dft['count'] = df.groupby(['shooterName', 'event'])['event'].agg(['count'])
dft
电流输出:
shooterName event count
A.J. Greer GOAL 1
MISS 6
SHOT 29
Aaron Downey GOAL 1
MISS 4
SHOT 35
Zenon Konopka GOAL 8
MISS 57
SHOT 176
期望的输出:
shooterName event count %totalshooterNameevents
A.J. Greer GOAL 1 .0277
MISS 6 .1666
SHOT 29 .805
Aaron Downey GOAL 1 .025
MISS 4 .1
SHOT 35 .875
Zenon Konopka GOAL 8 .0331
MISS 57 .236
SHOT 176 .7302
类似的东西。我的最终目标是能够将每个“事件”属性计算为“射手名称”占总“事件”的百分比。下面我添加了一个列“%totalshooterNameevents”,它是“简单的目标”、“射门”和“未命中”,由每个“射手名称”的“目标、射门和未命中”之和计算得出
【问题讨论】:
-
您能否提供数据框的前几行以检查它的外观?
-
希望这样会更好
标签: python-3.x pandas dataframe numpy group-by