Podcast
Questions and Answers
Was ist NumPy?
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.
NumPy wurde von Travis E. Oliphant entwickelt.
True (A)
NumPy ist die Basis für viele weitere Python-Pakete.
NumPy ist die Basis für viele weitere Python-Pakete.
True (A)
Wie lautet der Befehl zum Installieren von NumPy?
Wie lautet der Befehl zum Installieren von NumPy?
Welche wichtigen Merkmale hat NumPy?
Welche wichtigen Merkmale hat NumPy?
Was ist ein ndarray-Objekt?
Was ist ein ndarray-Objekt?
Welches Attribut gibt die Anzahl der Achsen (Dimensionen) eines ndarray-Objekts an?
Welches Attribut gibt die Anzahl der Achsen (Dimensionen) eines ndarray-Objekts an?
Das Attribut ______ gibt ein Tupel zurück, das die Größe jeder Achse eines Arrays angibt.
Das Attribut ______ gibt ein Tupel zurück, das die Größe jeder Achse eines Arrays angibt.
Wie kann ein 1-dimensionales Array mit NumPy erzeugt werden?
Wie kann ein 1-dimensionales Array mit NumPy erzeugt werden?
Welche NumPy-Funktion erzeugt ein Array mit Nullen?
Welche NumPy-Funktion erzeugt ein Array mit Nullen?
Wie kann ein Array mit fortlaufenden Werten mit NumPy erzeugt werden?
Wie kann ein Array mit fortlaufenden Werten mit NumPy erzeugt werden?
Wie kann ein Array mit gleichmäßigem Abstand mit NumPy erzeugt werden?
Wie kann ein Array mit gleichmäßigem Abstand mit NumPy erzeugt werden?
Welche NumPy-Funktion erzeugt eine Einheitsmatrix?
Welche NumPy-Funktion erzeugt eine Einheitsmatrix?
Wie kann man ein Array mit Werten einer Funktion mit NumPy erzeugen?
Wie kann man ein Array mit Werten einer Funktion mit NumPy erzeugen?
Wie lässt sich der Datentyp eines Arrays beim Erzeugen angeben?
Wie lässt sich der Datentyp eines Arrays beim Erzeugen angeben?
Welches Symbol wird für den Datentyp Integer verwendet?
Welches Symbol wird für den Datentyp Integer verwendet?
Flashcards
Was ist NumPy?
Was ist NumPy?
Ein Python-Paket für wissenschaftliches Rechnen mit mehrdimensionalen Arrays.
Was ist ein ndarray-Objekt?
Was ist ein ndarray-Objekt?
Ein mehrdimensionaler Container für Elemente gleichen Typs.
Was beschreibt das Attribut 'ndim'?
Was beschreibt das Attribut 'ndim'?
Die Anzahl der Achsen (Dimensionen) eines Arrays.
Was beschreibt das Attribut 'shape'?
Was beschreibt das Attribut 'shape'?
Signup and view all the flashcards
Was beschreibt das Attribut 'size'?
Was beschreibt das Attribut 'size'?
Signup and view all the flashcards
Was beschreibt das Attribut 'dtype'?
Was beschreibt das Attribut 'dtype'?
Signup and view all the flashcards
Was beschreibt das Attribut 'itemsize'?
Was beschreibt das Attribut 'itemsize'?
Signup and view all the flashcards
Was macht NumPy Arrays speichereffizienter als normale Python Sequenzen?
Was macht NumPy Arrays speichereffizienter als normale Python Sequenzen?
Signup and view all the flashcards
Was sind vektorisierte Array-Operationen?
Was sind vektorisierte Array-Operationen?
Signup and view all the flashcards
Was ist Broadcasting?
Was ist Broadcasting?
Signup and view all the flashcards
Was ist Indizierung bei NumPy Arrays?
Was ist Indizierung bei NumPy Arrays?
Signup and view all the flashcards
Was ist eine View?
Was ist eine View?
Signup and view all the flashcards
Was ist eine Kopie eines NumPy Arrays?
Was ist eine Kopie eines NumPy Arrays?
Signup and view all the flashcards
Was ist eine universelle Funktion (ufunc) in NumPy?
Was ist eine universelle Funktion (ufunc) in NumPy?
Signup and view all the flashcards
Was ist eine Aggregatfunktion in NumPy?
Was ist eine Aggregatfunktion in NumPy?
Signup and view all the flashcards
Wie können Pseudozufallszahlen in NumPy erzeugt werden?
Wie können Pseudozufallszahlen in NumPy erzeugt werden?
Signup and view all the flashcards
Was ist die Funktion 'permutation' im NumPy Random Modul?
Was ist die Funktion 'permutation' im NumPy Random Modul?
Signup and view all the flashcards
Wie funktioniert die lineare Algebra mit NumPy?
Wie funktioniert die lineare Algebra mit NumPy?
Signup and view all the flashcards
Wie können lineare Gleichungssysteme mit NumPy gelöst werden?
Wie können lineare Gleichungssysteme mit NumPy gelöst werden?
Signup and view all the flashcards
Wie kann die Determinante einer Matrix mit NumPy berechnet werden?
Wie kann die Determinante einer Matrix mit NumPy berechnet werden?
Signup and view all the flashcards
Wie kann die Inverse einer Matrix mit NumPy berechnet werden?
Wie kann die Inverse einer Matrix mit NumPy berechnet werden?
Signup and view all the flashcards
Was macht die Funktion 'reshape' in NumPy.
Was macht die Funktion 'reshape' in NumPy.
Signup and view all the flashcards
Was macht die Funktion 'ravel' in NumPy?
Was macht die Funktion 'ravel' in NumPy?
Signup and view all the flashcards
Was ist ein Array mit Nullen? (np.zeros)
Was ist ein Array mit Nullen? (np.zeros)
Signup and view all the flashcards
Was ist ein Array mit Einsen? (np.ones)
Was ist ein Array mit Einsen? (np.ones)
Signup and view all the flashcards
Was macht die Funktion 'arange'?
Was macht die Funktion 'arange'?
Signup and view all the flashcards
Was macht die Funktion 'linspace'?
Was macht die Funktion 'linspace'?
Signup and view all the flashcards
Was macht die Funktion 'identity'?
Was macht die Funktion 'identity'?
Signup and view all the flashcards
Was macht die Funktion 'fromfunction'?
Was macht die Funktion 'fromfunction'?
Signup and view all the flashcards
Was macht die Funktion 'full'?
Was macht die Funktion 'full'?
Signup and view all the flashcards
Was sind strukturierte Arrays?
Was sind strukturierte Arrays?
Signup and view all the flashcards
Was ist ein Rekordarray?
Was ist ein Rekordarray?
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.