Skip to content

ورقة غش NumPy

نظام NumPy هو امتداد حسابي عددي مفتوح المصدر للغة Python. يمكن استخدام هذه الأداة لتخزين ومعالجة المصفوفات الكبيرة، وهي أكثر كفاءة بكثير من بنية القائمة المتداخلة الخاصة بلغة Python (والتي يمكن استخدامها أيضًا لتمثيل المصفوفات).

توضيح

استخدم arr لتمثيل كائن مصفوفة numpy.

استيراد الوحدة

import numpy as np

الاستيراد/التصدير

np.loadtxt(‘file.txt’) القراءة من ملف نصي
np.genfromtxt(‘file.csv’,delimiter=’,’) القراءة من ملف CSV
np.savetxt(‘file.txt’,arr,delimiter=’ ‘) الكتابة في ملف نصي
np.savetxt(‘file.csv’,arr,delimiter=’,’) الكتابة في ملف CSV

إنشاء مصفوفة

np.array([1,2,3]) مصفوفة أحادية الأبعاد
np.array([(1,2,3),(4,5,6)]) مصفوفة ثنائية الأبعاد
np.zeros(3) مصفوفة أحادية الأبعاد بطول 3 جميعها أصفار
np.ones((3,4)) مصفوفة 3x4 جميع قيمها 1
np.eye(5) مصفوفة 5x5 مع الرقم 1 على القطر و0 في أماكن أخرى (مصفوفة الوحدة)
np.linspace(0,100,6) مصفوفة من 6 قيم متباعدة بالتساوي من 0 إلى 100
np.arange(0,10,3) مصفوفة من القيم من 0 إلى أقل من 10 بخطوة 3 (مثل [0،3،6،9])
np.full((2,3),8) مصفوفة 2x3 جميع قيمها 8
np.random.rand(4,5) مصفوفة 4x5 من الأرقام العشرية العشوائية بين 0-1
np.random.rand(6,7)*100 مصفوفة 6x7 من الأرقام العشرية العشوائية بين 0-100
np.random.randint(5,size=(2,3)) مصفوفة 2x3 بأرقام صحيحة عشوائية بين 0-4

فحص الخصائص

arr.size إرجاع العدد الإجمالي لعناصر المصفوفة
arr.shape إرجاع أبعاد المصفوفة
arr.dtype إرجاع نوع العناصر في المصفوفة
arr.astype(dtype) تحويل نوع عنصر المصفوفة إلى dtype
arr.tolist() تحويل المصفوفة إلى قائمة
np.info(np.eye) عرض وثائق np.eye

النسخ/الترتيب/إعادة التشكيل

np.copy(arr) نسخ arr إلى ذاكرة جديدة
arr.view(dtype) إنشاء عرض لعناصر arr بنوع dtype
arr.sort() ترتيب arr
arr.sort(axis=0) ترتيب محور معين من arr
two_d_arr.flatten() تسطيح المصفوفة ثنائية الأبعاد إلى أحادية الأبعاد
arr.T تبديل مصفوفة arr (الصفوف تصبح أعمدة والعكس صحيح)
arr.reshape(3,4) إعادة تشكيل arr إلى 3 صفوف و4 أعمدة دون تغيير البيانات
arr.resize((5,6)) تغيير شكل arr إلى 5x6 وملء القيم الجديدة بـ 0

إضافة/حذف العناصر

np.append(arr,values) إلحاق القيم بنهاية arr
np.insert(arr,2,values) إدراج القيم في arr قبل الفهرس 2
np.delete(arr,3,axis=0) حذف الصف في الفهرس 3 من arr
np.delete(arr,4,axis=1) حذف العمود في الفهرس 4 من arr

الدمج/التقسيم

np.concatenate((arr1,arr2),axis=0) إضافة arr2 كصفوف إلى نهاية arr1
np.concatenate((arr1,arr2),axis=1) إضافة arr2 كأعمدة إلى نهاية arr1
np.split(arr,3) تقسيم arr إلى 3 مصفوفات فرعية
np.hsplit(arr,5) تقسيم arr أفقيًا عند الفهرس الخامس

الفهرسة/التقطيع/تكوين المجموعات الفرعية

arr[5] إرجاع العنصر الموجود في الفهرس 5
arr[2,5] إرجاع عنصر المصفوفة ثنائية الأبعاد في الفهرس [2][5]
arr[1]=4 تعيين القيمة 4 لعنصر المصفوفة في الفهرس 1
arr[1,3]=10 تعيين القيمة 10 لعنصر المصفوفة في الفهرس [1][3]
arr[0:3] إرجاع العناصر في الفهرس 0,1,2 (في المصفوفة ثنائية الأبعاد: إرجاع الصفوف 0,1,2)
arr[0:3,4] إرجاع العناصر في الصفوف 0,1,2 في العمود 4
arr[:2] إرجاع العناصر في الفهرس 0,1 (في المصفوفة ثنائية الأبعاد: إرجاع الصفوف 0,1)
arr[:,1] إرجاع العناصر في الفهرس 1 في جميع الصفوف
arr<5 إرجاع مصفوفة بقيم بولية
(arr1<3) & (arr2>5) إرجاع مصفوفة بقيم بولية
~arr عكس مصفوفة بولية
arr[arr<5] إرجاع عناصر المصفوفة الأصغر من 5

العمليات الحسابية القياسية (السكالار)

np.add(arr,1) إضافة 1 لكل عنصر في المصفوفة
np.subtract(arr,2) طرح 2 من كل عنصر في المصفوفة
np.multiply(arr,3) ضرب كل عنصر في المصفوفة في 3
np.divide(arr,4) قسمة كل عنصر في المصفوفة على 4 (ترجع np.nan للقسمة على صفر)
np.power(arr,5) رفع كل عنصر في المصفوفة إلى القوة الخامسة

العمليات الحسابية الموجهة (الفيكتور)

np.add(arr1,arr2) إضافة arr2 إلى arr1 عنصرًا بعنصر
np.subtract(arr1,arr2) طرح arr2 من arr1 عنصرًا بعنصر
np.multiply(arr1,arr2) ضرب arr1 في arr2 عنصرًا بعنصر
np.divide(arr1,arr2) قسمة arr1 على arr2 عنصرًا بعنصر
np.power(arr1,arr2) رفع عناصر arr1 إلى قوة عناصر arr2
np.array_equal(arr1,arr2) إرجاع True إذا كانت المصفوفات لها نفس العناصر والشكل
np.sqrt(arr) الجذر التربيعي لكل عنصر في المصفوفة
np.sin(arr) جيب الزاوية (Sine) لكل عنصر في المصفوفة
np.log(arr) اللوغاريتم الطبيعي لكل عنصر في المصفوفة
np.abs(arr) القيمة المطلقة لكل عنصر في المصفوفة
np.ceil(arr) التقريب لأعلى إلى أقرب عدد صحيح
np.floor(arr) التقريب لأسفل إلى أقرب عدد صحيح
np.round(arr) التقريب لأقرب عدد صحيح

الإحصاء

np.mean(arr,axis=0) إرجاع المتوسط على طول محور معين
arr.sum() إرجاع مجموع arr
arr.min() إرجاع القيمة الصغرى لـ arr
arr.max(axis=0) إرجاع القيمة العظمى لمحور معين
np.var(arr) إرجاع تباين المصفوفة
np.std(arr,axis=1) إرجاع الانحراف المعياري لمحور معين
arr.corrcoef() إرجاع معامل الارتباط للمصفوفة