Ein kleiner Unterschied, der riesig aussah
Ein Filialleiter sieht in einem Bericht ein Balkendiagramm. Der Balken für Sonne überragt den für Regen um ein Vielfaches. Er plant für sonnige Tage zwölfmal so viele Räder.
Der echte Unterschied ist viel kleiner. Die Zahlen im Diagramm waren richtig. Falsch waren die Achse und die Frage, die es beantwortete.
Am Ende dieser Lektion
Notiz
Ich kann ein Diagramm wählen, das eine Frage beantwortet.
Schlüsselwörter
| Begriff | Was er bedeutet | Beispiel |
|---|---|---|
| Balkendiagramm | ein Balken je Gruppe, seine Länge ist der Wert | |
| Liniendiagramm | Punkte der Reihe nach verbunden, meist über die Zeit | |
| Histogramm | Balken, die zählen, wie viele Werte in jeden Bereich fallen | |
| Klasse | ein Wertebereich in einem Histogramm | 250 bis 299 |
| Streudiagramm | ein Punkt je Zeile, gesetzt nach zwei Zahlen | |
| Achse | die Skala an einem Rand des Diagramms |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Die Frage wählt das Diagramm
Beginnen Sie bei der Frage, nicht beim Diagramm. Wer Gruppen vergleicht, nimmt ein Balkendiagramm. Wer eine Entwicklung über die Zeit zeigt, nimmt ein Liniendiagramm.
Wie sich eine Zahl verteilt, zeigt ein Histogramm. Ob sich zwei Zahlen gemeinsam bewegen, zeigt ein Streudiagramm.
Ein Kreisdiagramm ist selten die beste Wahl. Längen schätzen Menschen viel besser als Winkel.
Beispiel: vier Fragen, vier Diagramme
| Frage zu den Ausleihen | Diagramm | pandas |
|---|---|---|
| Bei welchem Wetter ist am meisten los? | Balkendiagramm | mittel.plot.bar() |
| Wie ändern sich die Ausleihen übers Jahr? | Liniendiagramm | je_monat.plot.line() |
| Wie viele Tage waren ruhig, normal oder voll? | Histogramm | ausleihen["hires"].plot.hist() |
| Sind warme Tage voller? | Streudiagramm | ausleihen.plot.scatter(x="temp_c", y="hires") |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Mittlere Ausleihen je Monat
docker exec jupyter python3 steps/months.pyHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Im Notebook eingeben: ein Liniendiagramm
import pandas as pd
ausleihen = pd.read_csv("hires.csv")
folge = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
je_monat = ausleihen.groupby("month")["hires"].mean().reindex(folge)
# Eine Linie, weil die Monate eine Reihenfolge haben.
je_monat.plot.line(marker="o", title="Mittlere Ausleihen am Tag")
Ein Histogramm zählt Werte in Klassen
Ein Histogramm teilt eine Zahlenachse in Klassen gleicher Breite. Jeder Wert landet in genau einer Klasse. Die Höhe eines Balkens ist die Zahl der Werte darin.
Bei Klassen der Breite 50 gehört ein Tag mit 273 Ausleihen in die Klasse 250 bis 299. Teilen Sie durch die Breite und lassen Sie den Rest weg: 273 // 50 ist 5, die sechste Klasse ab 0 gezählt.
Die Tage in Klassen zählen
docker exec jupyter python3 steps/hist.pyHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Klassen von Hand
# Die Ausleihen jedes Tages in Klassen zu 100 einteilen.
tage = [35, 64, 150, 199, 200, 268, 351, 480]
breite = 100
anzahlen = [0, 0, 0, 0, 0]
for wert in tage:
platz = wert // breite
anzahlen[platz] = anzahlen[platz] + 1
print(anzahlen)
# Setzen Sie breite auf 50 und anzahlen auf zehn Nullen.
# Welche Klasse ist jetzt am vollsten?
Im Notebook eingeben: Klassen zu hundert
# Die Klasse jedes Tages, dann wie viele Tage in jeder Klasse liegen.
(ausleihen["hires"] // 100).value_counts().sort_index()
Ein Balken beginnt bei null
Einen Balken beurteilt man nach seiner Länge. Deshalb muss die Werteachse eines Balkendiagramms bei null beginnen, sonst lügen die Längen.
axis.py zeichnet die mittleren Ausleihen je Wetter zweimal. Das linke Diagramm beginnt bei 0. Das rechte beginnt bei 220, knapp unter dem Wert für Regen. Es speichert beide als axis.png. Öffnen Sie die Datei aus der Dateiliste in JupyterLab.
Ein Diagramm auf zwei Arten zeichnen
docker exec jupyter python3 steps/axis.pyHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Ein häufiger Fehler
Warnung
Viele denken, eine Achse dürfe bei jedem Diagramm irgendwo beginnen. Beim Balkendiagramm ist die Länge der Wert, also beginnt die Achse bei null. Ein Liniendiagramm zeigt Veränderung statt Größe. Seine Achse darf nah an den Daten beginnen, solange die Beschriftung das zeigt.
Weiterführend: Sonne und Regen übereinander
Zeichnen Sie in Ihrem Notebook ein Histogramm der Ausleihen an sonnigen Tagen und eines an Regentagen, mit denselben Klassen. Nehmen Sie range(0, 550, 50) als Klassen und alpha=0.5, damit beide sichtbar bleiben.
Schreiben Sie einen Satz, nach dem eine Filialleitung handeln kann. Sagen Sie dann, welches Diagramm dieser Lektion dieselbe Frage mit einer Zahl je Gruppe beantwortet.