Я пытаюсь найти среднее значение по событию для каждого раунда (R1, R2, R3, R4). Не сыгранные раунды, к сожалению, представлены тремя различными способами (0, - или пустая ячейка).
event plyr R1 R2 R3 R4
0 Houston Dave 67 90.0 70 72
1 Houston Bobx 69 69.0 69 69
2 Houston Carlx 69 71.0 71 71
3 Miamixx Cliff 67 70.0 70 70
4 Miamixx Dean 70 71.0 71 71
5 Miamixx Clive 69 69.0 - 0
6 Miamixx Patxx 71 70.0 - 0
7 Atlanta Phil 67 70.0 70 72
8 Atlanta Dave 69 NaN 71 73
9 Atlanta Bobx 69 NaN - 0
Я пытался заменить 0 и - на NaN, но все еще получаю разные результаты
df ['R3'] = df ['R3']. replace (['0', '-'], np.nan) df ['R4'] = df ['R4']. replace (['0' , '-'], np.nan)
Результаты
df.groupby('event')['R1','R2', 'R3', 'R4'].mean()
R1 R2 R4
event
Atlanta 68.333333 70.000000 48.333333
Houston 68.333333 76.666667 70.666667
Miamixx 69.250000 70.000000 35.250000