Menu
CoddyTech

Grupowanie danych

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

W którym mieście sprzedaje się więcej? Jedna średnia dla wszystkich wierszy nie daje odpowiedzi. Podziel wiersze na grupy, po jednej na miasto, a następnie oblicz średnią dla każdej grupy:

Sześć wierszy z danymi sklepów podzielonych na trzy grupy według miasta: Lyon, Nicea i Paryż, a następnie obliczono średnią dla każdej grupy: Lyon 23.0, Nicea 18.0, Paryż 38.0

Jedna linia robi obie rzeczy:

shops = pd.DataFrame({
    "city": ["Lyon", "Paris", "Lyon", "Nice", "Paris", "Lyon"],
    "sales": [20, 35, 26, 18, 41, 23],
})
means = shops.groupby("city")["sales"].mean()
print(means)

To wyświetla:

city
Lyon     23.0
Nice     18.0
Paris    38.0
Name: sales, dtype: float64

groupby("city") tworzy grupy, ["sales"] wybiera kolumnę, a .mean() oblicza średnią dla każdej grupy. Działają też .sum(), .min() i .max().

Aby uszeregować stosy, posortuj je: means.sort_values(ascending=False).index[0] to Paris, najlepiej sprzedający się produkt.

challenge icon

Wyzwanie

Średni

Klub biegowy zapisuje każdy bieg w pliku runs.csv: runner, distance_km, minutes i climb_m. Kod początkowy wczytuje jedną z kolumn liczbowych do column.

  1. Wypisz średnią wartość z tej kolumny dla każdego biegacza.
  2. Następnie podaj imię biegacza z największą średnią, tak jak w ostatnim wierszu poniżej.

Dla klubu z dwoma biegaczami i kolumny distance_km:

runner
Ana    6.1
Bo     8.4
Name: distance_km, dtype: float64
Top runner: Bo with 8.4

Spróbuj swoich sił

import pandas as pd

runs = pd.read_csv("runs.csv")
column = input()

# Napisz swój kod poniżej
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