Menu
CoddyTech

Sortowanie wartości

Część sekcji Dane i wykresy ścieżki Machine Learning w Coddy. Lekcja 39 z 60.

Kto zdobył najwięcej punktów? Sortowanie odpowiedzi na pierwszy rzut oka. .sort_values("col") porządkuje wiersze według kolumny, od najmniejszej wartości; ascending=False ustawia kolejność od największej wartości:

Tabela graczy w pierwotnej kolejności po lewej, a po strzałce — posortowana według punktów od 31 do 8 po prawej; każdy wiersz zachowuje swoją etykietę, a dwaj najlepsi, Ben i Dee, są oznaczeni jako 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))

To wyświetla 2 najlepsze wyniki:

  player  points
1    Ben      31
3    Dee      22

Wiersze zachowały swoje etykiety: Ben zachowuje etykietę 1. Zatem pierwszy wiersz top to top.iloc[0], podczas gdy top.loc[0] nadal oznacza Adę.

sort_values zwraca nową tabelę i pozostawia players bez zmian, więc zapisz wynik w zmiennej.

challenge icon

Wyzwanie

Średni

Sklep z aplikacjami wyświetla aplikacje z pliku apps.csv, zawierającego kolumny app, downloads_k (tysiące) i rating. Program odczytuje nazwę kolumny i liczbę n, a następnie powinien wypisać:

  1. n wierszy z największymi wartościami w tej kolumnie, od największej.
  2. Lowest: i aplikację z najmniejszą wartością.

W kodzie początkowym są dwa błędy sortowania. Popraw oba. Dla innego sklepu, gdy rating i n = 2:

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

Spróbuj swoich sił

import pandas as pd

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

# Ten kod wyświetla błędne wyniki: popraw go
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 iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Dane i wykresy

Poćwicz samodzielnie: Kompilator Python online