مقدمة عن مكتبة NumPy
تُعد مكتبة NumPy الأساس المتين للحسابات العلمية في Python. بفضل numpy python، يمكن للمطورين العمل بكفاءة مع المصفوفات متعددة الأبعاد والمصفوفات (الماتركس) وتنفيذ عمليات حسابية عالية الأداء.
تُعتبر NumPy جزءًا لا يتجزأ من النظام البيئي لتحليل البيانات والتعلم الآلي والحسابات الهندسية. تستخدم هذه المكتبة بنشاط أطر عمل شهيرة مثل Pandas وScikit-learn وTensorFlow والعديد من أدوات البرمجة العلمية الأخرى.
يقدم هذا المحتوى دليلاً شاملاً عن numpy arrays لمساعدتك على إتقان العمل مع المصفوفات والمصفوفات متعددة الأبعاد. ستتعلم كيفية تنفيذ العمليات الحسابية والمنطقية، بالإضافة إلى دمج وتعديل هياكل البيانات بكفاءة.
تثبيت المكتبة والإعداد الأولي
عملية تثبيت NumPy
لتثبيت مكتبة numpy python، استخدم مدير الحزم pip:
pip install numpy
التحقق من صحة التثبيت
بعد التثبيت، يُنصح بالتحقق من إصدار المكتبة:
import numpy as np
print(np.__version__)
سيقوم هذا الأمر بعرض الإصدار الحالي للمكتبة المثبتة، مما يؤكد نجاح عملية التثبيت.
الكائنات الأساسية في NumPy: العمل مع المصفوفات
ما هو ndarray
الكائن الرئيسي في المكتبة هو المصفوفة (ndarray). وهي نسخة محسّنة من القوائم القياسية في Python، ومُحسّنة خصيصًا للتنفيذ السريع للعمليات الحسابية. يتم تخزين مصفوفات NumPy في الذاكرة بشكل أكثر كفاءة وتتم معالجتها بشكل أسرع بكثير من القوائم العادية.
إنشاء مصفوفات أحادية البعد
أبسط طريقة لإنشاء مصفوفة:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr) # [1 2 3 4 5]
العمل مع المصفوفات متعددة الأبعاد
لإنشاء مصفوفة ثنائية الأبعاد (ماتركس):
matrix = np.array([[1, 2], [3, 4]])
print(matrix)
النتيجة:
[[1 2]
[3 4]]
الخصائص الأساسية لمصفوفات NumPy
السمات الرئيسية للمصفوفات
كل مصفوفة numpy تمتلك مجموعة من الخصائص الهامة:
- ndim - عدد أبعاد المصفوفة
- shape - أبعاد المصفوفة على شكل tuple
- size - العدد الإجمالي للعناصر في المصفوفة
- dtype - نوع بيانات عناصر المصفوفة
الاستخدام العملي للخصائص
arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr.ndim) # 2 (مصفوفة ثنائية الأبعاد)
print(arr.shape) # (2, 3) (صفان، 3 أعمدة)
print(arr.size) # 6 (إجمالي 6 عناصر)
print(arr.dtype) # int64 (نوع البيانات)
فهم هذه الخصائص ضروري للغاية للعمل بكفاءة مع مصفوفات numpy ذات الأبعاد المختلفة.
دوال خاصة لإنشاء المصفوفات
مصفوفات بقيم محددة مسبقًا
توفر NumPy دوالًا ملائمة لإنشاء مصفوفات من أنواع خاصة:
- np.zeros() - إنشاء مصفوفة من الأصفار
- np.ones() - إنشاء مصفوفة من الآحاد
- np.eye() - إنشاء مصفوفة الوحدة (Identity Matrix)
- np.full() - إنشاء مصفوفة بقيمة محددة
zeros_array = np.zeros((2, 3)) # مصفوفة 2x3 من الأصفار
ones_array = np.ones((3, 3)) # مصفوفة 3x3 من الآحاد
identity = np.eye(3) # مصفوفة وحدة 3x3
دوال لتوليد المتتاليات
- np.arange() - إنشاء متتالية حسابية
- np.linspace() - إنشاء قيم موزعة بشكل متساوٍ