0Pricing
Python Academy · Lektion

NumPy-Arrays und dtypes

Erstellen Sie ndarrays, verstehen Sie dtypes und erkunden Sie Array-Eigenschaften.

NumPy-Arrays und dtypes ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Was ist NumPy?

NumPy stellt das ndarray bereit – ein Array mit festem Datentyp und zusammenhängendem Speicher, das vektorisierte Operationen unterstützt, die um Größenordnungen schneller sind als mit Python-Listen.

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr)          # [1 2 3 4 5]
print(arr * 2)      # [ 2  4  6  8 10]   (no Python loop)

Arrays erstellen

Häufige Funktionen zum Erstellen von Arrays sind: np.array(), np.zeros(), np.ones(), np.arange(), np.linspace().

import numpy as np

print(np.zeros((2, 3)))     # 2x3 array of 0.0
print(np.ones(5))           # [1. 1. 1. 1. 1.]
print(np.arange(0, 10, 2))  # [0 2 4 6 8]
print(np.linspace(0, 1, 5)) # [0.   0.25 0.5  0.75 1.  ]

dtypes

Jedes NumPy-Array besitzt genau einen dtype. Häufige dtypes sind: int32, int64, float32, float64, bool, complex128.

import numpy as np

a = np.array([1, 2, 3])           # int64 by default
b = np.array([1.0, 2.0])          # float64
c = np.array([1, 2], dtype=np.float32)

print(a.dtype)  # int64
print(c.dtype)  # float32

Array-Shape und ndim

shape ist ein Tupel mit den Größen der Dimensionen. ndim ist die Anzahl der Dimensionen. size ist die Gesamtzahl der Elemente.

import numpy as np

m = np.ones((3, 4))
print(m.shape)   # (3, 4)
print(m.ndim)    # 2
print(m.size)    # 12
print(m.dtype)   # float64

Umformen

reshape() gibt eine Sicht mit einer neuen Shape zurück (dieselben Daten). flatten() gibt eine Kopie als 1-D-Array zurück.

import numpy as np

arr = np.arange(12)
mat = arr.reshape(3, 4)
print(mat)
# [[ 0  1  2  3]
#  [ 4  5  6  7]
#  [ 8  9 10 11]]
print(mat.flatten())   # [ 0  1  2  3 ...]

Typumwandlung

Verwenden Sie arr.astype(dtype), um ein Array in einen anderen Typ umzuwandeln. Dabei wird immer eine Kopie zurückgegeben.

import numpy as np

arr = np.array([1, 2, 3])
float_arr = arr.astype(np.float64)
print(float_arr)   # [1. 2. 3.]
print(float_arr.dtype)   # float64

Zufallsarrays

Erzeugen Sie mit np.random Zufallsarrays: gleichverteilt, normalverteilt oder mit ganzen Zahlen.

import numpy as np

rng = np.random.default_rng(seed=42)   # reproducible
print(rng.random(5))         # 5 uniform [0,1)
print(rng.standard_normal(3)) # 3 normal(0,1)
print(rng.integers(1, 10, 4)) # 4 ints [1,10)

Array-Speicher untersuchen

itemsize gibt die Bytezahl pro Element an; nbytes gibt die Gesamtzahl der Byte an.

import numpy as np

arr = np.zeros(1_000_000, dtype=np.float64)
print(arr.itemsize)   # 8
print(arr.nbytes)     # 8_000_000 (8 MB)

small = arr.astype(np.float32)
print(small.nbytes)   # 4_000_000 (4 MB)

np.empty und np.full

np.empty reserviert Speicher, ohne ihn zu initialisieren (schnell). np.full füllt das Array mit einem konstanten Wert.

import numpy as np

e = np.empty((2,3))          # uninitialised — random garbage values
f = np.full((2,3), fill_value=7)
print(f)
# [[7 7 7]
#  [7 7 7]]

Kopie oder Sicht

Das Slicing eines NumPy-Arrays gibt eine Sicht zurück (keine Kopie). Änderungen an der Sicht ändern das ursprüngliche Array. Verwenden Sie .copy() für ein unabhängiges Array.

import numpy as np

arr = np.array([1, 2, 3, 4])
view = arr[1:3]
view[0] = 99
print(arr)    # [ 1 99  3  4]  — original changed!

copy = arr[1:3].copy()
copy[0] = 0
print(arr)    # unchanged

Strukturierte Arrays

Strukturierte Arrays speichern heterogene Daten (wie eine C-Struktur) in einem einzelnen ndarray mit benannten Feldern.

import numpy as np

dt = np.dtype([('name', 'U10'), ('age', np.int32), ('score', np.float64)])
people = np.array([
    ('Alice', 30, 95.5),
    ('Bob',   25, 87.3),
], dtype=dt)
print(people['name'])   # ['Alice' 'Bob']

Kurzer Test

Was gibt arr.reshape(3, 4) zurück?

Zusammenfassung

Das NumPy-ndarray ist ein Array mit festem Datentyp und zusammenhängendem Speicher. Wichtige Attribute sind: shape, dtype, ndim, nbytes. Slicing gibt Sichten zurück; verwenden Sie .copy() für ein unabhängiges Array. Wählen Sie den kleinsten ausreichenden dtype, um Speicher zu sparen.

Häufig gestellte Fragen

Ist die Lektion „NumPy-Arrays und dtypes“ kostenlos?

Ja — der vollständige Text von „NumPy-Arrays und dtypes“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „NumPy-Arrays und dtypes“?

Erstellen Sie ndarrays, verstehen Sie dtypes und erkunden Sie Array-Eigenschaften. Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Python Academy zu starten?

Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „NumPy-Arrays und dtypes“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?

Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. NumPy-Arrays und dtypes
  2. Array-Operationen und Broadcasting
  3. Indizierung, Slicing und Fancy Indexing
  4. Lineare Algebra mit NumPy
← Zurück zu Python Academy