Software Engineering II - Kapitel 3: NumPy
17 Questions
2 Views

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

    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

    Description

    In diesem Quiz geht es um wissenschaftliches Rechnen mit NumPy. Sie lernen die zentralen Datenstrukturen, grundlegende sowie weiterführende Operationen kennen. Testen Sie Ihr Wissen über diese essentielle Bibliothek für Python.

    More Like This

    Numpy Mastery Quiz
    5 questions

    Numpy Mastery Quiz

    UnequivocalGreenTourmaline avatar
    UnequivocalGreenTourmaline
    NumPy Fundamentals Quiz
    10 questions
    Week 2: Introduction to NumPy
    37 questions
    Use Quizgecko on...
    Browser
    Browser