9. Unterrichtsblock

Python PIP

PIP ist ein Paketmanager für Python-Pakete bzw. Module.

Hinweis: Wenn man Python Version 3.4 oder höher installiert hat, ist PIP standardmäßig enthalten.

Was ist ein Paket?

Ein Paket enthält alle Dateien, die man für ein Modul benötigt. Module sind Python-Codebibliotheken, die man in ein Projekt einbinden können.

Überprüfung, ob PIP installiert ist

Hierzu navigiert man der Befehlszeile zum Speicherort des Python-Skriptverzeichnisses und gibt Folgendes ein:

pip3 --version

oder

pip --version

PIP installieren

Wenn PIP nicht installiert ist, können man es von dieser Seite herunterladen und installieren: https://pypi.org/project/pip/

Paket herunterladen

Das Herunterladen eines Pakets ist sehr einfach.

Hierzu öffnet man die Befehlszeilenschnittstelle und weist PIP an, das gewünschte Paket herunterzuladen. Man navigiert in der Befehlszeile zum Speicherort des Python-Skriptverzeichnisses und gibt Folgendes ein:

Herunterladen des Pakets „camelcase“:

C:\Users\Your Name\AppData\Local\Programs\Python\Python36-32\Scripts>pip3 install camelcase

Jetzt haben wir das erste Paket heruntergeladen und installiert!

Ein Paket verwenden

Sobald das Paket installiert ist, ist es einsatzbereit. Zunächst importieren wir das Paket „camelcase“ in unser Projekt.

Aufgabe

  1. Importiere camelcase in die datei test.py
  2. Lasse den Text „servus leute“ mit Hilfe des Pakets in CamelCase ausgeben

Auflistung einiger Pakete

Weitere Pakete findet man unter https://pypi.org/

Entfernen eines Pakets

Man verwendet den uninstall Befehl, um ein Paket zu entfernen:

pip3 uninstall camelcase

Der PIP-Paketmanager fordert nun auf, zu bestätigen, dass man das Camelcase-Paket entfernen möchte:

Uninstalling camelcase-02.1:
  Would remove:
    c:\users\Your Name\appdata\local\programs\python\python36-32\lib\site-packages\camelcase-0.2-py3.6.egg-info
    c:\users\Your Name\appdata\local\programs\python\python36-32\lib\site-packages\camelcase\*
Proceed (y/n)?

Man drückt y und das Paket wird entfernt.

Pakete auflisten

Hierfür verwendet man den list Befehl, um alle auf dem System installierten Pakete aufzulisten:

pip3 list

Ergebnis:

Package            Version
------------------ ---------
aiohttp            3.8.4
aiosignal          1.3.1
async-timeout      4.0.2
attrs              22.2.0
camelcase          0.2
certifi            2022.12.7
charset-normalizer 3.0.1
frozenlist         1.3.3
idna               3.4
multidict          6.0.4
numpy              1.24.3
openai             0.27.0
pip                23.1.2
requests           2.28.2
setuptools         65.5.0
tqdm               4.64.1
urllib3            1.26.14
yarl               1.8.2

Funktionen

Eine Funktion ist ein Codeblock, der nur ausgeführt wird, wenn er aufgerufen wird. Man kann Daten, sogenannte Parameter, an eine Funktion übergeben.

Als Ergebnis kann eine Funktion Daten zurückgeben.


Erstellen einer Funktion

In Python wird eine Funktion mit dem Schlüsselwort def definiert :

def meine_funktion():
  print("Hallo aus einer Funktion")

Aufrufen einer Funktion

Um eine Funktion aufzurufen, verwendet man den Funktionsnamen gefolgt von Klammern und einem Doppelpunkt. Der auszuführende Code ist eingerückt.

def meine_funktion():
  print("Hallo aus einer Funktion")

meine_funktion()

Argumente

Informationen können als Argumente an Funktionen übergeben werden.

Argumente werden nach dem Funktionsnamen in Klammern angegeben. Man kann beliebig viele Argumente hinzufügen. Diese sind einfach durch ein Komma zu trennen.

Das folgende Beispiel hat eine Funktion mit einem Argument (vorname). Wenn die Funktion aufgerufen wird, übergeben wir einen Vornamen, der innerhalb der Funktion verwendet wird, um den vollständigen Namen auszugeben:

def meine_fuktion(vorname):
  print(vorname + " Maier")

meine_fuktion("Emil")
meine_fuktion("Emilia")
meine_fuktion("Franz")

Argumente werden in Python-Dokumentationen oft zu args abgekürzt .

Parameter oder Argumente?

Die Begriffe Parameter und Argument können für dasselbe verwendet werden: Informationen, die an eine Funktion übergeben werden.

Aus Sicht einer Funktion:

Ein Parameter ist die Variable, die in der Funktionsdefinition in Klammern aufgeführt ist.
Ein Argument ist der Wert, der an die Funktion gesendet wird, wenn diese aufgerufen wird.

Anzahl der Argumente

Standardmäßig muss eine Funktion mit der richtigen Anzahl an Argumenten aufgerufen werden. Das heißt, wenn eine Funktion zwei Argumente erwartet, muss man die Funktion auch mit zwei Argumenten aufrufen. Nicht mehr und nicht weniger.

Diese Funktion erwartet 2 Argumente und erhält 2 Argumente:

def meine_funktion(vorname, nachname):
  print(vorname + " " + nachname)

meine_funktion("Emil", "Maier")

Aufgabe

Baue eine Funktion mit zwei Parametern und rufe die Funktion anschließend mit nur einem Argument bzw. mit drei Argumenten auf.

Beliebige Argumente, *args

Wenn man nicht weiß, wie viele Argumente an die Funktion übergeben werden, fügt man ein * vor dem Parameternamen in der Funktionsdefinition hinzu.

Auf diese Weise erhält die Funktion ein Tupel von Argumenten und kann entsprechend auf die Elemente zugreifen:

def meine_funktion(*tiere):
  print("Das kleinste Tier ist " + tiere[2])

meine_funktion("Pferd", "Elefant", "Hund")

Beliebige Argumente werden in Python-Dokumentationen oft zu *args abgekürzt .

Aufgabe

Übergib die Liste mit den 8 Automarken aus dem letzten Unterrichtsblock als Argument an eine Funktion und lasse dir über die Funktion das zweite Element der Liste ausgeben.

Prüfe, ob dafür eine Schleife notwendig ist und wende diese ggf. mit an.

Schlüsselwortargumente

Man kann Argumente auch mit der Syntax „Schlüssel = Wert“ senden. Auf diese Weise spielt die Reihenfolge der Argumente keine Rolle.

def meine_funktion(tier1, tier2, tier3):
  print("Das kleinste Tier ist " + tier3)

my_function(tier1 = "Pferd", tier2 = "Elefant", tier3 = "Hund")

Der Ausdruck „Schlüsselwortargumente“ wird in Python-Dokumentationen häufig zu „kwargs“ abgekürzt.

Beliebige Schlüsselwortargumente, **kwargs

Wenn man nicht weiß, wie viele Schlüsselwortargumente an die Funktion übergeben werden sollen, fügt man zwei Sternchen ** vor dem Parameternamen in der Funktionsdefinition ein:

Auf diese Weise erhält die Funktion ein Dictionary mit Argumenten und kann entsprechend auf die Elemente zugreifen:

def meine_funktion(**kind):
  print("Sein Nachname ist " + kid["nachname"])

meine_funktion(vorname = "Tobias", nachname = "Maier")

Beliebige Schlüsselwort-Argumente werden in Python-Dokumentationen oft mit **kwargs abgekürzt .

Standardparameterwert

Das folgende Beispiel zeigt, wie ein Standardparameterwert verwendet wird. Wenn man die Funktion ohne Argument aufruft, verwendet diese den Standardwert:

def meine-funktion(bundesland = "Bayern"):
  print("Ich komme aus " + bundesland)

my_function("NRW")
my_function("Sachsen")
my_function()
my_function("Hessen")

Übergabe einer Liste als Argument

Man kann beliebige Datentypen von Argumenten an eine Funktion senden (Strings, Zahl, Liste, Dictionary usw.) Diese werden innerhalb der Funktion als derselbe Datentyp behandelt.

Wenn man beispielsweise eine Liste als Argument sendet, ist diese immer noch eine Liste, wenn sie die Funktion erreicht:

def meine_funktion(essen):
  for x in essen:
    print(x)

obst = ["Apfel", "Banane", "Beeren"]

my_function(obst)

Rückgabewerte

Um eine Funktion einen Wert zurückgeben zu lassen, verwendet man die return Anweisung:

def meine_funktion(x):
  return 5 * x

print(meine_funktion(3))
print(meine_funktion(5))
print(meine_funktion(9))

Die pass-Anweisung

funktion Definitionen dürfen nicht leer sein. Wenn man jedoch aus irgendeinem Grund eine funktion Definition ohne Inhalt hat, fügt man die pass-Anweisung hinzu, um eine Fehlermeldung zu vermeiden.

def meine_funktion():
  pass

Rekursion

Python akzeptiert auch Funktionsrekursion, was bedeutet, dass eine definierte Funktion sich selbst aufrufen kann.

Rekursion ist ein gängiges Mathematik- und Programmierkonzept. Es bedeutet, dass eine Funktion sich selbst aufruft. Dies hat den Vorteil, dass man Daten durchlaufen kann, um zu einem Ergebnis zu gelangen.

Der Entwickler sollte bei der Rekursion sehr vorsichtig sein, da es sehr leicht passieren kann, dass er eine Funktion schreibt, die niemals beendet wird oder übermäßig viel Speicher oder Prozessorleistung verbraucht. Bei korrekter Schreibweise kann die Rekursion jedoch ein sehr effizienter und mathematisch eleganter Programmieransatz sein.

In diesem Beispiel ist tri_recursion() eine Funktion, die so definiert wurde, dass sie sich selbst aufruft („recurse“). Wir verwenden die k-Variable als Zahl, die bei jeder Rekursion um ( -1 ) dekrementiert wird. Die Rekursion endet, wenn die Bedingung nicht größer als 0 ist (dh wenn sie 0 ist).

Für einen neuen Entwickler kann es einige Zeit dauern, herauszufinden, wie genau das funktioniert. Der beste Weg, dies herauszufinden, besteht darin, es zu testen und zu ändern.

Rekursionsbeispiel

def versuch_rekursion(k):
  if(k > 0):
    ergebnis = k + versuch_rekursion(k - 1)
    print(ergebnis)
  else:
    ergebnis = 0
  return ergebnis

print("\n\nRekursionsbeispiel Ergebnisse")
versuch_rekursion(6)

Aufgabe

Baue o.g. Codes nach und übe die Anwedung von Funktionen. Baue eine Funktion, in welcher das Paket „camelcase“ zum einsatz kommt.

Aufgabe 1: Fakultätsberechnung

Schreiben Sie eine rekursive Funktion namens berechne_fakultät, die eine positive ganze Zahl n als Parameter entgegennimmt und die Fakultät dieser Zahl zurückgibt. Die Fakultät einer Zahl n ist das Produkt aller positiven ganzen Zahlen kleiner oder gleich n. Zum Beispiel ist die Fakultät von 5 (bezeichnet als 5!) gleich 5 * 4 * 3 * 2 * 1 = 120.

Beispiel einer Fakultät:

Beispiel: Die Fakultät von 5 (mathematisch geschrieben als 5!) wird wie folgt berechnet: 5 x 4 x 3 x 2 x 1 = 120. Demnach lautet die Lösung hier: 5! = 120.

Hinweis: Denken Sie daran, dass die Fakultät von 0 als 1 definiert ist. Dies wird oft als Basisfall für die rekursive Lösung verwendet.

Aufgabe 2: Fibonacci-Zahlenreihe

Schreiben Sie eine rekursive Funktion namens fibonacci, die eine Zahl n als Parameter entgegennimmt und das n-te Element der Fibonacci-Reihe zurückgibt. In der Fibonacci-Reihe ist das erste und zweite Element jeweils 1, und jedes folgende Element ist die Summe der beiden vorhergehenden Elemente. Zum Beispiel sind die ersten zehn Elemente der Fibonacci-Reihe: 1, 1, 2, 3, 5, 8, 13, 21, 34 und 55.

Recherchieren Sie vorher zur Fibonacci-Folge auf Google

Hinweis: Für n <= 1 soll die Funktion direkt n zurückgeben, da die ersten beiden Zahlen der Fibonacci-Reihe durch Definition 0 und 1 sind. Dieser Fall dient als Basisfall für Ihre rekursive Lösung.

Eingebaute Funktionen in Python

Python verfügt auch über eingebaute Funktionen.

FunktionBeschreibung
abs()Gibt den absoluten Wert einer Zahl zurück
all()Gibt true zurück, wenn alle Elemente in einem iterbaren Objekt wahr sind
any()Gibt true zurück, wenn ein Element in einem iterbaren Objekt wahr ist
ascii()Gibt eine lesbare Version eines Objekts zurück. Ersetzt Nicht-ASCII-Zeichen durch Escape-Zeichen
bin()Gibt die binäre Version einer Nummer zurück
bool()Gibt den Booleschen Wert des angegebenen Objekts zurück
bytearray()Gibt eine Reihe von Bytes zurück
bytes()Gibt ein Bytes -Objekt zurück
callable()Gibt true zurück, wenn das angegebene Objekt aufrufbar ist, ansonsten falsch
chr()Gibt ein Zeichen aus dem angegebenen Unicode -Code zurück.
classmethod()Umwandelt eine Methode in eine Klassenmethode
compile()Gibt die angegebene Quelle als Objekt zurück, die zur Ausführung bereitgestellt werden kann
complex()Gibt eine komplexe Nummer zurück
delattr()Löscht das angegebene Attribut (Eigenschaft oder Methode) aus dem angegebenen Objekt
dict()Gibt ein Wörterbuch zurück (Array)
dir()Gibt eine Liste der Eigenschaften und Methoden des angegebenen Objekts zurück
divmod()Gibt den Quotienten und den Rest zurück, wenn Argument1 durch Argument2 geteilt wird2
enumerate()Nimmt eine Sammlung (z. B. ein Tupel) und gibt sie als Aufzählung von Objekt zurück
eval()Bewertet und führt einen Ausdruck aus. Als Beispiel die Anwendung von eval() auf einen String: eval("print(100)") gibt 100 aus
exec()Führt den angegebenen Code (oder Objekt) aus
filter()Verwenden Sie eine Filterfunktion, um Elemente in einem iterbaren Objekt auszuschließen
float()Gibt eine schwimmende Punktzahl zurück
format()Formatiert einen bestimmten Wert
frozenset()Gibt ein Frozenset -Objekt zurück
getattr()Gibt den Wert des angegebenen Attributs (Eigenschaft oder Methode) zurück
globals()Gibt die aktuelle globale Symboltabelle als Wörterbuch zurück
hasattr()Gibt true zurück, wenn das angegebene Objekt das angegebene Attribut (Eigenschaft/Methode) hat
hash()Gibt den Hash -Wert eines bestimmten Objekts zurück
help()Führt das integrierte Hilfesystem aus
hex()Konvertiert eine Zahl in einen hexadezimalen Wert
id()Gibt die ID eines Objekts zurück
input()Benutzereingabe zulassen
int()Gibt eine Ganzzahlnummer zurück
isinstance()Gibt true zurück, wenn ein bestimmtes Objekt eine Instanz eines bestimmten Objekts ist
issubclass()Gibt true zurück, wenn eine bestimmte Klasse eine Unterklasse eines bestimmten Objekts ist
iter()Gibt ein Iteratorobjekt zurück
len()Gibt die Länge eines Objekts zurück
list()Gibt eine Liste zurück
locals()Gibt ein aktualisiertes Wörterbuch der aktuellen lokalen Symboltabelle zurück
map()Gibt den angegebenen Iterator mit der angegebenen Funktion zurück, die auf jedes Element angewendet wird
max()Gibt den größten Artikel in einem iterablen zurück
memoryview()Gibt ein Speicheransichtsobjekt zurück
min()Gibt den kleinsten Gegenstand in einem iterablen zurück
next()Gibt den nächsten Artikel in einem iterablen zurück
object()Gibt ein neues Objekt zurück
oct()Konvertiert eine Zahl in ein Oktal
open()Öffnet eine Datei und gibt ein Dateiobjekt zurück
ord()Konvertieren Sie eine Ganzzahl, die den Unicode des angegebenen Zeichens darstellt
pow()Gibt den Wert von x an die Kraft von y zurück
print()Drucke zum Standardausgabergerät
property()Bekommt, setzt, löscht eine Eigenschaft
range()Gibt eine Abfolge von Zahlen ab 0 und in Schritten um 1 zurück (standardmäßig).
repr()Gibt eine lesbare Version eines Objekts zurück
reversed()Gibt einen umgekehrten Iterator zurück
round()Rundet eine Zahlen
set()Gibt ein neues Set -Objekt zurück
setattr()Legt ein Attribut (Eigenschaft/Methode) eines Objekts fest
slice()Gibt ein Slice -Objekt zurück
sorted()Gibt eine sortierte Liste zurück
staticmethod()Umwandelt eine Methode in eine statische Methode
str()Gibt ein String -Objekt zurück
sum()Fasst die Gegenstände eines Iterators zusammen
super()Gibt ein Objekt zurück, das die übergeordnete Klasse darstellt
tuple()Gibt ein Tupel zurück
type()Gibt den Typ eines Objekts zurück
vars()Gibt die __Dict__ -Eigenschaft eines Objekts zurück
zip()Gibt einen Iterator von zwei oder mehr Iteratoren zurück

Aufgabe

1 Hallo Welt Funktion

Schreiben Sie eine Funktion namens hallo_welt, die beim Aufruf „Hallo Welt!“ auf dem Bildschirm ausgibt und bei der das Modul „camelcase“ zum Einsatz kommt.

2 Additionsfunktion

Schreiben Sie eine Funktion namens addiere, die zwei Zahlen als Parameter entgegennimmt und ihre Summe zurückgibt.

3 Flächenberechnung

Schreiben Sie eine Funktion namens berechne_fläche, die die Länge und Breite eines Rechtecks als Parameter entgegennimmt und die Fläche des Rechtecks zurückgibt.

4 Temperaturumrechnung mit Rückgabewert

Schreiben Sie zwei Funktionen. Die erste Funktion celsius_zu_fahrenheit soll eine Temperatur in Celsius entgegennehmen und in Fahrenheit umrechnen. Die umgerechnete Temperatur soll zurückgegeben werden. Die zweite Funktion fahrenheit_zu_celsius nimmt die von der ersten Funktion zurückgegebene Temperatur entgegen und rechnet sie zurück in Celsius.

5 Maximalwert-Funktion

Schreiben Sie eine Funktion namens finde_max, die drei Zahlen als Parameter entgegennimmt und die größte Zahl zurückgibt. Schreiben Sie dann eine weitere Funktion drucke_max, die den von finde_max zurückgegebenen Wert entgegennimmt und in einem Satz ausgibt, z.B.: „Die größte Zahl ist 10.“

Aufgaben zur Vorbereitung auf die Kurzarbeit

Aufgabe 1. Begrüßungsfunktion

Schreiben Sie eine Funktion namens begruesse_person, die einen Namen als Parameter entgegennimmt und eine persönliche Begrüßung ausgibt. Der Name soll aus einer Liste von Namen ausgewählt und an die Funktion übergeben werden.

Aufgabe 2: Quadratzahlen-Berechner

Erstellen Sie eine Funktion berechne_quadrat, die eine Zahl entgegennimmt, deren Quadrat berechnet und das Ergebnis zurückgibt. Die Zahl soll aus einer Liste von Zahlen ausgewählt und an die Funktion übergeben werden.

Aufgabe 3: Runden von Dezimalzahlen

Implementieren Sie eine Funktion runde_zahl, die eine Dezimalzahl und die Anzahl der Stellen, auf die gerundet werden soll, als Parameter entgegennimmt. Verwenden Sie die Funktion round(), um die Zahl zu runden. Die Werte sollen aus zwei Listen extrahiert werden.

Aufgabe 4. Umwandlung in String und Verkettung

Schreiben Sie eine Funktion verkette_zahlen, die zwei Zahlen entgegennimmt, beide in Strings umwandelt und sie dann verkettet. Die Zahlen sollen aus einer Liste entnommen werden.

Aufgabe 5. Eingabe und Ausgabe von Daten

Erstellen Sie eine Funktion frage_und_berechne, die den Benutzer auffordert, eine Zahl einzugeben. Die Funktion soll dann das Quadrat dieser Zahl berechnen und ausgeben. Verwenden Sie die input()-Funktion, um die Eingabe zu erhalten.

Bitte beachten Sie, dass die letzte Aufgabe interaktiven Benutzereingaben erfordert und daher in einigen Entwicklungsumgebungen oder beim Kopieren und Einfügen des Codes in Dateien möglicherweise nicht wie erwartet funktioniert.

Machinelle Lernanwendung zur Bilderkennung

Zielanwendung

  • Das Programm soll lernen, Bilder von Hunden und anderen Tieren zu unterscheiden.
  • Benötigt wird ein binärer Klassikfikator (Klassifikatoren, die in zwei Gruppen sortieren)
  • Perzeptron (Übliches Werkzeug, um so einen Klassifikator zu bauen)

Vortrag aus der letzten Stunde

  • Wir benötigen gelabelte Daten
  • Die Werten sollen nicht doppelt vorkommen
  • Die Werte sollen in einer bestimmten Reihenfolge aufrufbar sein
  • Man soll die Werte auch einem bestimmten Schlüssel zuordnen können

Hierfür verwenden wir ein Dictionary mit mehreren Listen, die wir einem Schlüssel zuordnen. Somit können wir mit Indexwerten in jeder Liste arbeiten.

# Menge als Dictionary mit mehreren Listen

beine = [4, 4, 4, 4, 2]
groesse = [35.6, 28.4, 55.9, 46.1, 5.2]
breite = [32.2, 18.5, 42.8, 39.3, 4.1]
farbe = ["Braun", "Schwarz", "Beige", "Weiß", "Rot"]
label = ["Hund", "Hund", "Hund", "Hund", "nicht Hund"]

rohdaten = {
 'beine': beine,
 'groesse': groesse,
 'breite': breite,
 'farbe': farbe,
 'label': label
}

Aufgabe

Gib einen Sammelwert aus o.g. Menge aus und anschließend einen Einzelwert.

Welche Werte können innerhalb eines Perzeptrons verarbeitet werden?

In unser Dictionary haben sich zwei Schlüssel-Wert-Paare eingeschlichen, die so noch nicht verarbeitet werden können. Eines der Schlüssel-Wert-Paare kann für die weitere Verrabeitung konvertiert werden. Das andere für unser einfaches Beispiel nicht.

Aufgabe

Diskutiere die o.g. Schlüssel-Wert-Paare mit anderen Klassenkameraden und sortiere eines der Schlüssel-Wert-Paare aus und benenne das andere Schlüssel-Wert-Paar, welches vor der Verarbeitung im Perzeptron noch konvertiert werden muss.

Begründe die Entscheidungen.

Effizientere Mengen mit NumPy (Numerisches Python)

Da wir für das Trainieren große Datenmengen benötigen, reichen unsere Dictionarys und Listen nicht aus und wir bedienen uns sog. Arrays und Matritzen aus der Bibliothek NumPy (sonst dauert das Trainieren mehrere Wochen / Monate)

Arrays aus NumPy sind bis zu 50 mal schneller als Listen & Dictionarys aufgrund der optimierten Speicher und Serverarchitekturen der NumPy-Rechner.

  • Arrays sind geordnete, änderbare Mengen
  • Matritzen (auch Matrix) sind zweidimensionale Arrays, also Arrays von Arrays. In der Mathematik auch als „Tabellen“ bezeichnet.

Der Einbau von NumPy funktioniert über das PIP Modul

Aufgabe

Installiere numpy in VisualStudioCode. Prüfe die erfolgreiche Installation durch Eingabe des folgenden Codes.

import numpy as np

neue_matrix = np.array([[1,2,3],[4,5,6],[7,8,9]])

print(neue_matrix)

Erstellen eines Arrays

Um ein Array zu erstellen, verwendet man in numpy das array Schlüsselwort und speichert die Daten in einer Variablen.

groesse = np.array([35.6, 28.4, 55.9, 46.1, 5.2])

print(groesse)

Aufgabe

Erstelle ein einzelnes Array für das Schlüssel-Wert-Paar „beine“ aus dem Dicitionary „rohdaten“ heraus

Probiere auch aus, das o.g. Dictionary „rohdaten“ als Ganzes in ein Array zu speichern und prüfe was dabei herauskommt. Diskutiere in der Klassen, ob die Ausgabe so verwendet werden kann. Kleiner Tipp: „Matritze / Matrix“

Erstellen einer Matritze (Matrix)

Um eine Matritze zu erstellen, generieren wir ein Array von einem Array.

import numpy as np

beine = [4, 4, 4, 4, 2]
groesse = [35.6, 28.4, 55.9, 46.1, 5.2]
breite = [32.2, 18.5, 42.8, 39.3, 4.1]
label = [1, 1, 1, 1, 0]

rohdaten = {
 'beine': beine,
 'groesse': groesse,
 'breite': breite,
 'label': label
}

# Einzelne Arrays erstellen
groesse = np.array(rohdaten['groesse'])

# Matrix erstellen
feature = np.array([rohdaten['beine'], rohdaten['groesse'], rohdaten['breite']])

print(feature)

Aufgabe

Um große Datenmengen zu prüfen, ist es nicht optimal, sich diese komplett durch die print-Funktion ausgeben zu lassen. Recherchiere daher die https://numpy.org/doc/stable/reference/generated/numpy.ndarray.shape.html Funktion, welche die Anzahl der Spalten und Reihen der Matrix anzeigt und probiere diese Funktion aus.

Recherchiere auch nach der Funktion, welche die Spalten und Reihen vertauscht bzw. transponiert und führe den Tausch durch.

Aufgabe

Kurzarbeit