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.