7
votes

Trouvez la valeur max et le nom de la colonne / d'index correspondant dans l'ensemble de lataframe

Je veux sélectionner la valeur maximale dans un fichier de données, puis découvrez l'index et le nom de la colonne de cette valeur. Y a-t-il un moyen de le faire?

dire, dans l'exemple ci-dessous, je veux d'abord trouver la valeur max ( 31 ), puis renvoyer l'index et le nom de la colonne de cette valeur (20, r20d) xxx

merci!


0 commentaires

3 Réponses :


9
votes

Si vous appelez a.max (Axis = 0) Vous obtenez une série de max sur chaque colonne: xxx

si vous appelez max sur cette série, vous obtenez le maximum de: xxx

vous donne la valeur maximale. De même: xxx

vous donne le nom de la colonne et xxx

vous donnera la ligne.


2 commentaires

Merci. S'il vous plaît envisager d'accepter ma réponse si cela vous a aidé.


Ryanwalker: toujours préférable d'attendre au moins 24h pour d'autres réponses, même si vous avez répondu complètement. La réponse de Boud est intéressante, bien que probablement moins évolutive.



7
votes

Transformez votre DataFrame en une série multiplexIndex et demandez l'index de l'élément max avec argmax code> ou iDXMAX code> Fonction:

df.loc[coord]
31


1 commentaires

Cela ne fonctionne pas pour moi. Le a.stack (). Argmax () retourné 2 (qui est le numéro d'index) au lieu de (20, "r20d") vous avez noté.



1
votes

Puisque je ne peux pas commenter avec ma réputation limitée, voici une réponse supplémentaire à la réponse de @boud: elle n'a pas fonctionné pour moi avec argmax () , mais en utilisant IDXMAX () a résolu le problème et renvoie la sortie correcte de (20, "r20d") xxx


0 commentaires