[python] Obtenez le rang des valeurs dans la liste par ordre croissant / décroissant

Contenu de l'article

Je souhaite obtenir le classement des valeurs de la liste Python par ordre croissant / décroissant. J'ai trouvé l'ordre croissant dès que je l'ai recherché, mais je l'ai laissé sous forme de note car l'ordre décroissant nécessitait une certaine ingéniosité.

code

C'est un code immédiatement.

from scipy.stats import rankdata

# Données cibles
array = [10,30,30,40,20]

# Obtenez le classement de chaque index avec les données de classement
asc = rankdata(array)

# Afficher par ordre croissant
print(type(asc))
print(asc.astype(float))

# Calcul décroissant
desc = (len(asc) - asc + 1).astype(float)

# Afficher par ordre décroissant
print(type(desc))
print(desc)

Il semble que le processus d'acquisition par ordre décroissant ne soit pas implémenté dans les données de classement, il était donc nécessaire de calculer l'ordre décroissant. Après avoir essayé diverses choses, je pense que cela semble être le plus simple.

Voici les résultats de l'exécution.

<class 'numpy.ndarray'>
[1. 3. 5. 4. 2.]
<class 'numpy.ndarray'>
[5. 3. 1. 2. 4.]

Si vous remplacez un type par un type (int)

<class 'numpy.ndarray'>
[1 3 5 4 2]
<class 'numpy.ndarray'>
[5 3 1 2 4]

Ce sera comme ça.

Si la même valeur est entrée dans cet état ...

# Données cibles
array = [10,30,30,40,20]
<class 'numpy.ndarray'>
[1 3 3 5 2]
<class 'numpy.ndarray'>
[5 2 2 1 4]

Ce sera comme ça. Le résultat a changé. S'il reste flottant

<class 'numpy.ndarray'>
[1.  3.5 3.5 5.  2. ]
<class 'numpy.ndarray'>
[5.  2.5 2.5 1.  4. ]

Ce sera comme ça.

Lorsque les données ne sont pas couvertes, il s'agit d'une méthode limitée.

Postscript

La méthode indiquée par konandoirusa est extrêmement simple, je l'ai donc ajoutée.

import numpy as np
from scipy.stats import rankdata
# Données cibles
array = [10,30,30,40,20]

# ordre croissant
print(rankdata(np.array(array)))
# Ordre décroissant
print(rankdata(-np.array(array)))

Résultat d'exécution

[1.  3.5 3.5 5.  2. ]
[5.  2.5 2.5 1.  4. ]

Recommended Posts

[python] Obtenez le rang des valeurs dans la liste par ordre croissant / décroissant
Trier la liste des tuples en Python en spécifiant l'ordre croissant / décroissant de plusieurs clés
[python] Récupère la liste des classes définies dans le module
[Python] Comment afficher les valeurs de liste dans l'ordre
Obtenez le nombre d'éléments spécifiques dans la liste python
Obtenir la liste de codes EDINET en Python
[Python] Trier la liste de pathlib.Path dans l'ordre naturel
Récupérer l'appelant d'une fonction en Python
Copiez la liste en Python
Comment obtenir le nombre de chiffres en Python
Obtenir la taille (nombre d'éléments) de Union Find en Python
[Python] Obtenir la liste des noms ExifTags de la bibliothèque Pillow
[Python] Affiche toutes les combinaisons d'éléments de la liste
Obtenez l'URL de la destination de la redirection HTTP en Python
Comment obtenir une liste de fichiers dans le même répertoire avec python
Essayez d'obtenir la liste des fonctions du paquet Python> os
Comment obtenir la dernière (dernière) valeur d'une liste en Python
Obtenir l'index de la nième valeur la plus grande / la plus petite de la liste en Python
Comment obtenir une liste d'exceptions intégrées pour python
Obtenez le nombre d'occurrences pour chaque élément de la liste
Obtenez l'index de chaque élément de la matrice de confusion en Python
Obtenir l'index de la nième valeur la plus grande / la plus petite de la liste en Python
Obtenez le chemin du bureau en Python
Obtenez le chemin du script en Python
Obtenez le chemin du bureau en Python
Obtenez le nom d'hôte en Python
À propos de la liste de base des bases de Python
Obtenir la valeur d'une clé spécifique jusqu'à l'index spécifié de la liste de dictionnaires en Python
Essayez d'obtenir la liste des fils du bulletin d'information (je n'aime pas) avec Python.
python> Afficher 3 fractions au format ".3f, .3f, .3f" / Obtenir 3 valeurs de coordonnées dans la plage [-1: 1]
Obtenez une liste de fichiers dans un dossier avec python sans chemin
Obtenez le titre et la date de livraison de Yahoo! News en Python
Obtenez le nombre de lecteurs d'articles sur Mendeley en Python
Vérifiez le comportement du destroyer en Python
Obtenez les nièmes valeurs les plus importantes dans Pandas
Mettre ensemble des valeurs consécutives dans la liste
Afficher une liste d'alphabets en Python 3
Obtenez la liste des colonnes et la liste des données de CASTable
[python] Obtenir une liste de variables d'instance
Principes de base pour exécuter NoxPlayer en Python
Résumé des méthodes intégrées, etc. de la liste Python
scipy.sparse.linalg.svds renvoie des valeurs singulières dans l'ordre croissant
À la recherche du FizzBuzz le plus rapide en Python
[Python] Récupère le code de caractère du fichier
[Python] Obtenir une liste de dossiers uniquement
Débarrassez-vous des images DICOM en Python
Python VBA pour obtenir une capture de la page WEB entière avec Selenium
Obtenez une liste des packages installés dans l'environnement actuel avec python
Cliquez sur les liens Selenium afin d'obtenir les éléments des pages individuelles
Je souhaite trier une liste dans l'ordre des autres listes
Recevez une liste des résultats du traitement parallèle en Python avec starmap
Obtenez une instance datetime à tout moment de la journée en Python
Obtenez la clé pour la migration de la deuxième couche de données JSON avec python
Récupérer le contenu de git diff depuis python
Sortie du nombre de cœurs de processeur en Python
[python] Vérifier les éléments de la liste tous, tous
Obtenez la météo à Osaka via l'API Web (python)
[Python] Obtenir / modifier l'étiquette d'échelle de la figure
Afficher le résultat du traitement de la géométrie en Python
Obtenir uniquement les éléments de sous-classe dans une liste