Menu
CoddyTech

Trier les valeurs

Fait partie de la section Données et visualisations du Journey Machine Learning de Coddy. Leçon 39 sur 60.

Qui a marqué le plus ? Le tri donne la réponse en un coup d’œil. .sort_values("col") classe les lignes selon une colonne, de la plus petite valeur à la plus grande ; ascending=False place la plus grande valeur en premier :

Le tableau des joueurs dans son ordre d’origine à gauche puis, après une flèche, trié par points de 31 à 8 à droite ; chaque ligne conserve son libellé, et les deux premiers, Ben et Dee, sont marqués head(2)

players = pd.DataFrame({
    "player": ["Ada", "Ben", "Cy", "Dee", "Eli"],
    "points": [14, 31, 8, 22, 17],
})
top = players.sort_values("points", ascending=False)
print(top.head(2))

Cela affiche les 2 premiers :

  player  points
1    Ben      31
3    Dee      22

Les lignes ont conservé leurs étiquettes : Ben garde l’étiquette 1. Ainsi, la première ligne de top est top.iloc[0], tandis que top.loc[0] correspond toujours à Ada.

sort_values renvoie un nouveau tableau et laisse players tel quel, alors stocke le résultat dans une variable.

challenge icon

Défi

Moyen

Une boutique d’applications répertorie les applications dans apps.csv, avec les colonnes app, downloads_k (en milliers) et rating. Le programme lit un nom de colonne et un nombre n, puis doit afficher :

  1. Les n lignes ayant les valeurs les plus élevées dans cette colonne, de la plus élevée à la plus basse.
  2. Lowest: et l’application ayant la valeur la plus faible.

Le code de départ contient deux erreurs de tri. Corrige-les toutes les deux. Pour une autre boutique, avec rating et n = 2 :

       app  downloads_k  rating
2   PetPal           88     4.9
0  Zipline          512     4.5
Lowest: Mosaic

Essayez vous-même

import pandas as pd

apps = pd.read_csv("apps.csv")
column = input()
n = int(input())

# Ce code affiche des réponses incorrectes : corrige-le
apps.sort_values(column, ascending=False)
print(apps.head(n))
lowest = apps.sort_values(column, ascending=False)
print(f"Lowest: {lowest.iloc[0]['app']}")
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Données et visualisations

Entraînez-vous par vous-même : Compilateur Python en ligne