Menu
CoddyTech

Arrays verbinden

Teil des Abschnitts Daten und Diagramme der Machine Learning-Journey von Coddy. Lektion 17 von 60.

Ein Museum zählte an drei Vormittagen und dann an zwei Abenden Besucher. np.concatenate fügt Arrays hintereinander zusammen:

Fünf Zellen in einer Zeile: die Besucherzahlen der Vormittage 12, 15, 19 gefolgt von den Besucherzahlen der Abende 20, 18

Der Code:

morning = np.array([12, 15, 19])
evening = np.array([20, 18])
print(np.concatenate([morning, evening]))

Dies gibt [12 15 19 20 18] aus. Ein Modell erwartet etwas anderes: eine Zeile pro Stichprobe, eine Spalte pro Merkmal. np.column_stack fügt Arrays nebeneinander als Spalten ein:

Eine Tabelle mit 3 Wohnungen in 2 Spalten: Größen 45, 60, 82 neben Mieten 900, 1200, 1500, eine Wohnung pro Zeile

Im Code:

sizes = np.array([45, 60, 82])
rents = np.array([900, 1200, 1500])
table = np.column_stack([sizes, rents])
print(table.shape)

Dies gibt (3, 2) aus. Jede Zeile übernimmt einen Wert aus jedem Array, daher müssen ihre Längen übereinstimmen.

challenge icon

Aufgabe

Einfach

Für eine Studie wird eine Tabelle mit Personen benötigt: das Alter in der ersten Spalte, die täglichen Bildschirmstunden in der zweiten, zuerst Gruppe 1. Der Code eines Kollegen bricht mit einem Fehler ab, und selbst nach dessen Behebung ist die Tabelle noch immer falsch.

Korrigiere die drei Zeilen, die ages, hours und table erstellen. Lass die letzten beiden Zeilen unverändert.

Für eine kleinere Studie mit drei Personen gibt das korrigierte Programm Folgendes aus:

[[30  5]
 [28  8]
 [62  2]]
People: 3, measurements each: 2

Probier es selbst

import numpy as np

# Erste Gruppe: Alter und tägliche Bildschirmzeit jeder Person in Stunden
ages_1 = np.array([23, 35, 41])
hours_1 = np.array([6, 4, 3])
# Zweite Gruppe
ages_2 = np.array([19, 52])
hours_2 = np.array([7, 2])

# Für die Studie wird eine Zeile pro Person benötigt: zuerst das Alter, dann die Stunden. Korrigiere die folgenden Zeilen
ages = np.concatenate([ages_1, ages_2])
hours = np.concatenate(hours_1, hours_2)
table = np.concatenate([ages, hours])

# Ändere die folgenden Zeilen nicht
print(table)
print(f"People: {table.shape[0]}, measurements each: {table.shape[1]}")
quiz iconTeste dich selbst

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

Übe selbstständig: Online-Python-Compiler