Datatypes (טיפוסי נתונים)

Datatypes (טיפוסי נתונים)#

כל מערך ב־NumPy מכיל איברים מאותו טיפוס. ספריית NumPy מספקת מגוון טיפוסים מספריים, לרוב היא תנחש את הטיפוס בעת יצירה, אך ניתן גם לציין טיפוס במפורש.

כאשר יוצרים מערך ממספרים שלמים רגילים, NumPy בוחר טיפוס שלם (int):

🤖 Ask PyProf.
import numpy as np
x = np.array([1, 2])       # NumPy infers integer type
print(x.dtype)             # Usually int32 or int64 depending on the system
int64

כאשר יוצרים מערך ממספרים ממשיים (עם נקודה עשרונית), NumPy בוחר טיפוס נקודה צפה (float).

x = np.array([1.0, 2.0])   # NumPy infers float type
print(x.dtype)             # Usually float64
float64

ניתן גם להכריח שימוש בטיפוס מסוים בזמן יצירת המערך, באמצעות הפרמטר dtype.

x = np.array([1, 2], dtype=np.int64)   # Force explicit integer type (int64)
print(x.dtype)
int64

מעבר לטיפוסים בסיסיים כמו int ו־float, NumPy תומך גם בטיפוסים נוספים:

  • מספרים מרוכבים (complex64, complex128) - שימושי במכניקה קוונטית ובעיבוד אותות.

  • טיפוסי נקודה צפה מדויקים יותר או פחות (float32, float64) - בחירה בהתאם לאיזון בין דיוק למהירות/זיכרון.

  • טיפוסי שלם שונים (int8, int16, int32, int64) - שימושי כשיש מגבלות זיכרון או צורך ביעילות.

יכולת השליטה בטיפוס הנתונים מאפשרת גם חיסכון במשאבים וגם התאמה לצרכים המדעיים הספציפיים של החישוב.

# Example with complex numbers
z = np.array([1+2j, 3+4j])    # Complex array
print(z.dtype)                # complex128 by default

# Example with lower precision floats
f = np.array([1.5, 2.5], dtype=np.float32)  # Explicit float32
print(f.dtype)
complex128
float32