es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo obtener la cantidad máxima de puntos anotada por cada jugador en cada año?

Tengo un conjunto de datos como este:

Nombre   Puntos  Año
Player1  498.0   2010
Player2  454.0   2010
Player1  396.0   2011
Player3  214.0   2011
Player2  163.0   2011

Ahora quiero ver qué jugador obtuvo la máxima cantidad de puntos en cada año.

Intenté esto:

Puntuación_máxima = df.groupby(['Año'])['Puntos'].max()

y obtuve el resultado:

Año
2010   498.0
2011   396.0

Pero también quiero conocer el nombre del jugador. ¿Cómo puedo hacer esto?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Puedes utilizar idxmax con groupby para obtener el índice que corresponde al valor máximo para cada grupo, y luego utilizar el índice para obtener el nombre del jugador:

    max_score_idx = df.groupby(['Año'])['Punto'].idxmax()
    max_scores_with_names = df.loc[max_score_idx, ['Nombre', 'Punto', 'Año']].reset_index(drop=True)
    

    Esto te dará un DataFrame con el nombre del jugador, el punto y el año para el valor máximo de cada grupo.

Comments are closed.