Menu
CoddyTech

Ordinare i valori

Fa parte della sezione Dati e grafici del percorso Machine Learning di Coddy. Lezione 39 di 60.

Chi ha totalizzato più punti? Ordinare le risposte a colpo d’occhio. .sort_values("col") ordina le righe in base a una colonna, dalla più piccola alla più grande; ascending=False mette prima la più grande:

La tabella dei giocatori nell’ordine originale a sinistra e, dopo una freccia, ordinata per punti da 31 a 8 a destra; ogni riga mantiene la propria etichetta e i primi due, Ben e Dee, sono contrassegnati con 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))

Questo stampa i primi 2:

  player  points
1    Ben      31
3    Dee      22

Le righe hanno mantenuto le proprie etichette: Ben conserva l’etichetta 1. Quindi la prima riga di top è top.iloc[0], mentre top.loc[0] è ancora Ada.

sort_values restituisce una nuova tabella e lascia players invariata, quindi conserva il risultato in una variabile.

challenge icon

Sfida

Medio

Un app store elenca le app in apps.csv, con le colonne app, downloads_k (migliaia) e rating. Il programma legge il nome di una colonna e un numero n, quindi dovrebbe stampare:

  1. Le n righe con i valori più grandi in quella colonna, in ordine decrescente.
  2. Lowest: e l'app con il valore più piccolo.

Il codice iniziale contiene due errori di ordinamento. Correggili entrambi. Per un altro store, con rating e n = 2:

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

Provalo tu

import pandas as pd

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

# Questo codice stampa risultati errati: correggilo
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 iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Dati e grafici

Esercitati da solo: Compilatore Python online