Software Engineering II - Kapitel 3: NumPy

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Was ist NumPy?

  • Eine Datenbank
  • Ein Open-Source-Paket für wissenschaftliches Rechnen mit Python (correct)
  • Eine Programmiersprache
  • Ein Web-Framework

NumPy wurde von Travis E. Oliphant entwickelt.

True (A)

NumPy ist die Basis für viele weitere Python-Pakete.

True (A)

Wie lautet der Befehl zum Installieren von NumPy?

<p>$ pip install numpy</p> Signup and view all the answers

Welche wichtigen Merkmale hat NumPy?

<p>Alle genannten Optionen. (B)</p> Signup and view all the answers

Was ist ein ndarray-Objekt?

<p>Ein ndarray-Objekt ist ein mehrdimensionaler Container, der Elemente gleichen Typs speichert.</p> Signup and view all the answers

Welches Attribut gibt die Anzahl der Achsen (Dimensionen) eines ndarray-Objekts an?

<p>ndim (B)</p> Signup and view all the answers

Das Attribut ______ gibt ein Tupel zurück, das die Größe jeder Achse eines Arrays angibt.

<p>shape</p> Signup and view all the answers

Wie kann ein 1-dimensionales Array mit NumPy erzeugt werden?

<p>a = np.array([1, 2, 3])</p> Signup and view all the answers

Welche NumPy-Funktion erzeugt ein Array mit Nullen?

<p>np.zeros() (A)</p> Signup and view all the answers

Wie kann ein Array mit fortlaufenden Werten mit NumPy erzeugt werden?

<p>a = np.arange(0, 5)</p> Signup and view all the answers

Wie kann ein Array mit gleichmäßigem Abstand mit NumPy erzeugt werden?

<p>a = np.linspace(0, 10, 5)</p> Signup and view all the answers

Welche NumPy-Funktion erzeugt eine Einheitsmatrix?

<p>np.identity() (B)</p> Signup and view all the answers

Wie kann man ein Array mit Werten einer Funktion mit NumPy erzeugen?

<p>a = np.fromfunction(f, (2, 3))</p> Signup and view all the answers

Wie lässt sich der Datentyp eines Arrays beim Erzeugen angeben?

<p>a = np.array([1, 2, 3], dtype=np.int32)</p> Signup and view all the answers

Welches Symbol wird für den Datentyp Integer verwendet?

<p>i (B)</p> Signup and view all the answers

Signup and view all the answers

Flashcards

Was ist NumPy?

Ein Python-Paket für wissenschaftliches Rechnen mit mehrdimensionalen Arrays.

Was ist ein ndarray-Objekt?

Ein mehrdimensionaler Container für Elemente gleichen Typs.

Was beschreibt das Attribut 'ndim'?

Die Anzahl der Achsen (Dimensionen) eines Arrays.

Was beschreibt das Attribut 'shape'?

Ein Tupel, das die Größe jeder Achse eines Arrays angibt.

Signup and view all the flashcards

Was beschreibt das Attribut 'size'?

Die Anzahl aller Elemente in einem Array.

Signup and view all the flashcards

Was beschreibt das Attribut 'dtype'?

Der Datentyp aller Elemente in einem Array.

Signup and view all the flashcards

Was beschreibt das Attribut 'itemsize'?

Die Größe eines Elements in Bytes.

Signup and view all the flashcards

Was macht NumPy Arrays speichereffizienter als normale Python Sequenzen?

Ein Array mit Werten, die in einem zusammenhängenden Speicherblock liegen.

Signup and view all the flashcards

Was sind vektorisierte Array-Operationen?

Operationen, die auf ganzen Arrays ausgeführt werden, ohne über einzelne Elemente zu iterieren.

Signup and view all the flashcards

Was ist Broadcasting?

Eine Funktion, die es ermöglicht, Operationen auf Arrays mit unterschiedlichen Dimensionen auszuführen.

Signup and view all the flashcards

Was ist Indizierung bei NumPy Arrays?

Ermöglicht den Zugriff auf einzelne Elemente oder Bereiche innerhalb eines Arrays.

Signup and view all the flashcards

Was ist eine View?

Eine neue Sicht auf das ursprüngliche Array. Änderungen an der View wirken sich auch auf das Original aus.

Signup and view all the flashcards

Was ist eine Kopie eines NumPy Arrays?

Eine Kopie des ursprünglichen Arrays. Änderungen an der Kopie wirken sich nicht auf das Original aus.

Signup and view all the flashcards

Was ist eine universelle Funktion (ufunc) in NumPy?

Eine Funktion, die elementweise auf den Elementen eines Arrays operiert.

Signup and view all the flashcards

Was ist eine Aggregatfunktion in NumPy?

Eine Funktion, die auf mehreren Elementen eines Arrays operiert, um einen einzelnen Wert zu berechnen.

Signup and view all the flashcards

Wie können Pseudozufallszahlen in NumPy erzeugt werden?

Die Erzeugung von Pseudozufallszahlen innerhalb von NumPy.

Signup and view all the flashcards

Was ist die Funktion 'permutation' im NumPy Random Modul?

Eine Funktion, die eine Permutation der Elemente eines Arrays generiert.

Signup and view all the flashcards

Wie funktioniert die lineare Algebra mit NumPy?

Ermöglicht die Durchführung von Skalarprodukten und Matrixmultiplikationen.

Signup and view all the flashcards

Wie können lineare Gleichungssysteme mit NumPy gelöst werden?

Ermöglicht das Lösen von linearen Gleichungssystemen.

Signup and view all the flashcards

Wie kann die Determinante einer Matrix mit NumPy berechnet werden?

Ermöglicht die Berechnung der Determinante einer Matrix.

Signup and view all the flashcards

Wie kann die Inverse einer Matrix mit NumPy berechnet werden?

Ermöglicht die Berechnung der Inversen einer Matrix.

Signup and view all the flashcards

Was macht die Funktion 'reshape' in NumPy.

Eine Funktion, die eine neue View auf ein Array erzeugt, die die gleiche Datenstruktur hat wie das Original, aber eine andere Form besitzt.

Signup and view all the flashcards

Was macht die Funktion 'ravel' in NumPy?

Eine Funktion, die ein neues, flaches Array aus den Elementen eines mehrdimensionalen Arrays erzeugt.

Signup and view all the flashcards

Was ist ein Array mit Nullen? (np.zeros)

Ein Array, das mit Nullen gefüllt wird.

Signup and view all the flashcards

Was ist ein Array mit Einsen? (np.ones)

Ein Array, das mit Einsen gefüllt wird.

Signup and view all the flashcards

Was macht die Funktion 'arange'?

Ein Array, das eine Folge von Zahlen mit einem definierten Abstand erzeugt.

Signup and view all the flashcards

Was macht die Funktion 'linspace'?

Eine Funktion, die eine Sequenz von Werten mit gleichem Abstand innerhalb eines gegebenen Bereichs erzeugt.

Signup and view all the flashcards

Was macht die Funktion 'identity'?

Eine Funktion, die eine Einheitsmatrix erzeugt.

Signup and view all the flashcards

Was macht die Funktion 'fromfunction'?

Eine Funktion, die ein Array erzeugt, dessen Elemente anhand einer Funktion berechnet werden.

Signup and view all the flashcards

Was macht die Funktion 'full'?

Eine Funktion, die ein Array mit gleichen Werten erzeugt, der angegebenen Größe.

Signup and view all the flashcards

Was sind strukturierte Arrays?

Ein Datentyp in NumPy, der aus einer Kombination von anderen Datentypen besteht.

Signup and view all the flashcards

Was ist ein Rekordarray?

Ein Datentyp in NumPy, der eine Tabelle aus mehreren Spalten mit verschiedenen Datentypen darstellt.

Signup and view all the flashcards

Study Notes

Software Engineering II - Vorlesung Kapitel 3

  • Thema: Wissenschaftliches Rechnen mit NumPy
  • Wintersemester: 2024/25
  • Dozent: Prof. Dr. Norman Lahme-Hütig
  • Inhalt:
    • Einleitung in NumPy
    • Zentrale Datenstrukturen (Arrays)
    • Grundlegende Operationen
    • Weiterführende Operationen

Einleitung NumPy

  • NumPy: Ein grundlegendes Open-Source-Paket für wissenschaftliches Rechnen mit Python
  • Entwicklung: Entwickelt von Travis E. Oliphant durch Zusammenführung von Numeric und Numarray
  • Basis für weitere Pakete: Grundlage für viele weitere Python-Pakete, wie z.B. Pandas
  • Webseiten: https://numpy.org
  • Quellcode: https://github.com/numpy/numpy
  • Installation: $ pip install numpy

Wesentliche Merkmale NumPy Arrays

  • Homogene mehrdimensionale Arrays: Arrays mit Elementen gleichen Datentyps
  • Speichereffizient: Daten werden intern in einem zusammenhängenden Speicherblock abgelegt, was effizienter als Python-Sequenzen ist
  • Vektorisierte Array-Operationen: Operationen auf ganzen Arrays ohne Iterationen über einzelne Elemente
  • Flexible Broadcasting-Fähigkeit: Operationen zwischen Arrays mit unterschiedlichen Dimensionen sind möglich, solange die Voraussetzungen erfüllt sind.
  • C-API: Einfache Anbindung von Programmen, die in C, C++ oder Fortran geschrieben wurden.

Beispiel für Leistungsunterschied

  • NumPy-Arrays: deutlich schneller als Listen für dieselben Berechnungen

Arrays erzeugen:

  • Explizite Werte: Arrays können direkt mit Werten initialisiert werden.
  • Hilfsfunktionen: NumPy bietet Funktionen zur Erzeugung von Arrays mit Nullen, Einsen oder fortlaufenden Werten.
  • Gleichmäßige Abstände: Werte mit einem festgelegten Abstand zwischen den einzelnen Werten.
  • Hilfsfunktionen: Arrays lassen sich anhand von Hilfsfunktionen generieren

Arrays erzeugen: Datentypen

  • Angabe des Datentyps: NumPy-Arrays können mit spezifischen Datentypen erzeugt werden.
  • Attribute: ndim, shape, size, dtype, itemsize
  • Beispiel: a = np.array([1, 2, 3], dtype=np.int32)

Arrays erzeugen: Strukturierte Arrays

  • Zusammensetzung aus anderen Datentypen: Kombination aus verschiedenen Datentypen mit optionalen Beschriftungen.
  • Tabellarische Darstellung: Ideal für tabellarische Strukturen.
  • Spaltenzugriff: Zugriff auf Spalten über die Beschriftung.

Arrays verändern

  • Transponieren: Spiegelung der Zeilen und Spalten
  • 1-dimensionales Array: Umwandlung in ein eindimensionales Array
  • Reshape: Änderung der Dimensionen
  • Resize: Modifikation des vorhandenen Arrays
  • Stacken: Verketten von Arrays

Stapeln von Arrays

  • Spaltenstack: Vertikale Verkettung von Arrays
  • Zeilenstack: Horizontale Verkettung von Arrays
  • Verkettung entlang einer Achse: Erstellung eines neuen Arrays durch Verkettung entlang einer bestimmten Achse

Elemente selektieren

  • Indizierung: Einzelne Elemente oder Ausschnitte eines Arrays können durch Indizierung ausgewählt werden.
  • Alternative Argumente: Einzelne Werte, Index-Arrays, Slices, boolesche Arrays
  • Selektion mittels Slices: Auswahl von Teil-Arrays (Spalten- und Zeilenweisen) anhand von Start- und Endpositionen.

Boolesche Index Arrays

  • Auswahl von Elementen, die eine bestimmte Bedingung erfüllen - numerische Werte zu booleschen Werten

Slicing

  • Selektion von Arrays(Teile von Zeilen und Spalten) mittels Slicing

Beispiele zu Broadcasting

  • Broadcasting erweitert einen kleineren Array zu einem grösseren

Arithmetische Operatoren

  • Elemente-weise Berechnung: Arithmetische Operatoren bearbeiten die Elemente der Arrays einzeln.
  • Beispiel: Addition, Multiplikation

Zuweisung

  • Einzelne Elemente ersetzen: Veränderung von einzelnen Elementen im Array
  • Bereich ersetzen: Veränderung eines gesamten Bereichs durch Zuweisung

Vergleichsoperatoren

  • Vergleich verschiedener Arrays ergibt boolesches Array
  • Kombination mit Boolean-Arrays: Kombination von Booleschen Werten zur effizienten Selektion

Universelle Funktionen

  • Elementweise Berechnung mit Funktionen (Potenzieren, Quadratwurzel, mathematische Funktionen etc.)
  • Funktionen auf numerische Werte angewendet

Aggregatfunktionen

  • Berechnung auf allen Elementen: Summe, maximaler Wert, minimaler Wert
  • Achsenbezug: Berechnungen auf Zeilen- oder Spaltenebene

Sonstige Funktionen

  • Sortieren: Sortierung von Arrays
  • Indirektes Sortieren: Sortierung mit Ausgabe der entsprechenden Index-Position
  • Bedingte Auswahl von Elementen: Auswahl basierend auf Bedingungen

Mikroübung (Richtig/Falsch)

  • Fragen zur Korrektheit verschiedener Aussagen über NumPy

Pseudozufallszahlen

  • Generierung von Zufallzahlen mit unterschiedlichen Verteilungen (normal, gleichverteilt, etc)

Lineare Algebra

  • Skalarprodukt: Berechnung des Skalarprodukts
  • Matrixmultiplikation: Matrixmultiplikationen
  • Lösen linearer Gleichungen: Lösung von Gleichungssystemen
  • Determinante: Berechnung der Determinante
  • Inverse Matrix: Berechnung der inversen Matrix

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

More Like This

Numpy Mastery Quiz
5 questions

Numpy Mastery Quiz

UnequivocalGreenTourmaline avatar
UnequivocalGreenTourmaline
NumPy Fundamentals Quiz
10 questions
Use Quizgecko on...
Browser
Browser