Indizieren und Slicing
Teil des Abschnitts Daten und Diagramme der Machine Learning-Journey von Coddy. Lektion 8 von 60.
Arrays werden wie Listen ab 0 indiziert. Fünf Tage Klavierübung in Minuten:
practice = np.array([20, 0, 35, 15, 40])
print(practice[0]) # erstes Element
print(practice[-1]) # letztes Element
print(practice[1:4]) # Positionen 1 bis 3Dies gibt Folgendes aus:
20
40
[ 0 35 15]Ein 2D-Array verwendet eine Zeile und eine Spalte in einem Klammerpaar, zuerst die Zeile. Jede Zeile von stock steht für ein Geschäft, jede Spalte für ein Produkt:
stock = np.array([[5, 8, 2, 6], [9, 1, 4, 3], [7, 0, 6, 8]])
print(stock[1, 2]) # ein einzelner Wert
print(stock[0]) # eine ganze Zeile
print(stock[:, 3]) # eine ganze SpalteDies gibt Folgendes aus:
4
[5 8 2 6]
[6 3 8]In der Zeilenposition bedeutet ein Doppelpunkt jede Zeile und ein Slice wie 0:2 einige davon. Also ist data[:, column] ein Merkmal für jede Stichprobe.
Aufgabe
EinfachDer Bericht eines Hotels ist falsch. bookings enthält eine Zeile pro Woche und eine Spalte pro Tag, von Montag bis Sonntag. Das Programm liest eine Woche und einen Tag ein, jeweils ab 1 gezählt.
Jede Zeile enthält einen Fehler. Korrigiere sie entsprechend den Beschriftungen:
Week: die gesamte WocheWeekend: ihre letzten beiden Tage, ein SliceDay: dieser Tag, jede WocheBooked: genau dieser eine Tag
Für Woche 3, Tag 5:
Week 3: [11 12 13 17 20 24 26]
Weekend: [24 26]
Day 5: [18 19 20 21]
Booked: 20Probier es selbst
import numpy as np
# Gebuchte Zimmer in einem kleinen Hotel: eine Zeile pro Woche (Wochen 1 bis 4),
# eine Spalte pro Tag (Tage 1 bis 7, Montag bis Sonntag)
bookings = np.array([
[12, 15, 14, 16, 18, 25, 27],
[10, 13, 15, 14, 19, 26, 28],
[11, 12, 13, 17, 20, 24, 26],
[9, 14, 16, 15, 21, 27, 29],
])
week = int(input())
day = int(input())
# Der Bericht gibt falsche Zahlen aus: Korrigiere die folgenden Zeilen
row = bookings[week]
print(f"Week {week}: {row}")
print(f"Weekend: {row[5:6]}")
print(f"Day {day}: {bookings[day - 1]}")
print(f"Booked: {bookings[day - 1, week - 1]}")
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Daten und Diagramme
2NumPy-Arrays
Arrays erstellenForm und GrößeZahlenbereicheIndizieren und SlicingRückblick: Temperaturgitter5Linien- und Streudiagramme
Beschriftungen und TitelStreudiagrammeMehrere Linien und LegendenFarben und MarkerAbbildungen und AchsenRückblick: Wöchentliche Schritte8Filtern und Sortieren
Zeilen auswählenZeilen filternWerte sortierenNeue SpaltenRückblick: Top-Produkte3Rechnen mit Arrays
Rechnen mit ganzen ArraysZusammenfassende StatistikenStatistiken nach AchsenBroadcastingBoolesche MaskenRückblick: Prüfungsergebnisse6Diagramme für Daten
BalkendiagrammeHistogrammeMehrere Diagramme in einemBilder als ArraysRückblick: Niederschlagsbericht9Gruppieren und Bereinigen
Werte zählenDaten gruppierenMehrere ZusammenfassungenFehlende WerteRückblick: Umfrageergebnisse12Abschließende Herausforderungen
VerkaufsberichtSensormesswerteZiffern auf einen BlickPinguin-EntdeckerÜbe selbstständig: Online-Python-Compiler