Saltar al contenido

Encuentre el valor máximo de una columna y devuelva los valores de fila correspondientes usando Pandas

Tenemos la mejor información que descubrimos on line. Nuestro deseo es que te sea de mucha ayuda y si deseas aportar alguna mejora puedes hacerlo..

Solución:

Asumiendo df tiene un índice único, esto da la fila con el valor máximo:

In [34]: df.loc[df['Value'].idxmax()]
Out[34]: 
Country        US
Place      Kansas
Value         894
Name: 7

Tenga en cuenta que idxmax índice de rendimiento etiquetas. Entonces, si DataFrame tiene duplicados en el índice, es posible que la etiqueta no identifique la fila de manera única, por lo que df.loc puede devolver más de una fila.

Por lo tanto, si df no tiene un índice único, debe hacer que el índice sea único antes de proceder como se indicó anteriormente. Dependiendo del DataFrame, a veces puede usar stack o set_index para que el índice sea único. O simplemente puede restablecer el índice (para que las filas se vuelvan a numerar, comenzando en 0):

df = df.reset_index()

df[df['Value']==df['Value'].max()]

Esto devolverá la fila completa con el valor máximo

El país y el lugar es el índice de la serie, si no necesita el índice, puede establecer as_index=False:

df.groupby(['country','place'], as_index=False)['value'].max()

Editar:

Parece que desea el lugar con el valor máximo para cada país, el siguiente código hará lo que desee:

df.groupby("country").apply(lambda df:df.irow(df.value.argmax()))

Reseñas y puntuaciones del post

Si estás de acuerdo, eres capaz de dejar un enunciado acerca de qué te ha impresionado de este ensayo.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *