مقدمة قصيرة لـ NumPy

بعض المعرفة الأساسية بمكتبة NumPy وufuncs

تصوير إريك ماكلين on Unsplash

NumPy يرمز إلى Numerical Python وهو بايثون مكتبة للعمل مع المصفوفات. وبمساعدة هذه المصفوفات، يمكن تمثيل عناصر من الجبر الخطي، مثل المتجهات والمصفوفات، في بايثون. نظرًا لأن جزءًا كبيرًا من المكتبة مكتوب بلغة C، فيمكنها إجراء عمليات حسابية فعالة وسريعة بشكل خاص حتى مع المصفوفات الكبيرة.

بايثون يقدم مجموعة متنوعة من هياكل البيانات التي يمكن استخدامها لتخزين البيانات دون مكتبات إضافية. ومع ذلك، فإن هذه الهياكل، مثل قوائم بايثون، فهي غير مناسبة للعمليات الرياضية. إضافة اثنين القوائم يمكن أن يؤدي استخدام الأرقام عنصرًا تلو الآخر إلى الإضرار بسرعة بالأداء عند التعامل مع كميات كبيرة من البيانات.

لهذا السبب، تم تطوير NumPy، لأنه يوفر إمكانية إجراء العمليات العددية بسرعة وكفاءة. تعتبر الحسابات من مجال الجبر الخطي ذات أهمية خاصة، مثل ضرب المصفوفات.

NumPy، مثل العديد من المكتبات الأخرى، يمكن تثبيته مباشرة من دفتر ملاحظات باستخدام النقطة. للقيام بذلك، استخدم الأمر "pip install" مع اسم الوحدة. يجب أن يسبق هذا السطر علامة تعجب حتى يتعرف الدفتر على أنه أمر طرفي:

إذا نجح التثبيت، فيمكن ببساطة استيراد الوحدة واستخدامها في الكمبيوتر المحمول. غالبًا ما يتم استخدام الاختصار "np" هنا لتوفير القليل من الوقت أثناء البرمجة وعدم الاضطرار إلى إدخال NumPy في كل مرة:

تعتبر صفائف NumPy بديلاً صالحًا للصفائف التقليدية قوائم بايثون. أنها توفر إمكانية تخزين مجموعات متعددة الأبعاد من البيانات. في معظم الحالات، يتم تخزين الأرقام وتستخدم المصفوفات كمتجهات أو مصفوفات. على سبيل المثال، يمكن أن يبدو المتجه أحادي البعد كما يلي:

إلى جانب الوظائف المختلفة لمصفوفات NumPy، والتي سنغطيها في منشور منفصل، لا تزال الأبعاد المحتملة مهمة للتمايز:

تتميز الأبعاد التالية:

  • 0D - صفيف: هذا مجرد رقم قياسي، أي رقم أو قيمة واحدة.
  • 1D - صفيف: هذا متجه، كسلسلة من الأرقام أو القيم في بعد واحد.
  • 2D - صفيف: هذا النوع من المصفوفات عبارة عن مصفوفة، أي مجموعة من عدة مصفوفات أحادية الأبعاد.
  • 3D - صفيف: تشكل عدة مصفوفات ما يسمى بالموتر. لقد شرحنا ذلك بمزيد من التفصيل في مقالتنا حول TensorFlow.

اعتمادًا على المصدر، هناك العديد من الاختلافات الأساسية بين مصفوفات NumPy و قوائم بايثون. ومن بين أكثرها شيوعًا ما يلي:

  1. استهلاك الذاكرة: تتم برمجة المصفوفات بحيث تشغل جزءًا معينًا من الذاكرة. ثم يتم وضع جميع عناصر المصفوفة هناك. عناصر أ قائمةومن ناحية أخرى، يمكن أن تكون متباعدة في الذاكرة. ونتيجة لذلك، أ قائمة يستهلك ذاكرة أكبر من مجموعة متطابقة.
  2. سرعة: يمكن أيضًا معالجة المصفوفات بشكل أسرع بكثير من القوائم بسبب انخفاض استهلاكهم للذاكرة. يمكن أن يحدث هذا فرقًا كبيرًا بالنسبة للكائنات التي تحتوي على عدة ملايين من العناصر.
  3. الية عمل سفينة نوح: توفر المصفوفات وظائف أكثر بكثير، على سبيل المثال، تسمح بعمليات عنصر بعنصر، في حين أن القوائم لا تسمح بذلك.

يتم استخدام ما يسمى بـ "الوظائف العالمية" (باختصار: ufuncs) ليس من الضروري تنفيذ عمليات معينة عنصرًا تلو الآخر، ولكن مباشرةً للمصفوفة بأكملها. في برمجة الكمبيوتر، يتحدث المرء عما يسمى التوجيه عندما يتم تنفيذ الأوامر مباشرة للناقل بأكمله.

وهذا ليس أسرع بكثير في البرمجة فحسب، بل يؤدي أيضًا إلى عمليات حسابية أسرع. في NumPy، يتم تقديم العديد من هذه الوظائف العامة، والتي يمكن استخدامها لمجموعة متنوعة من العمليات. من بين أشهرها:

  • باستخدام "add()" يمكنك تلخيص العديد من المصفوفات عنصرًا بعنصر.
  • "subtract ()" هو العكس تمامًا ويطرح عنصر المصفوفة بعنصر.
  • يقوم "multiply ()" بضرب صفيفين عنصرًا بعنصر.
  • يشكل "matmul()" منتج المصفوفة لمصفوفتين. لاحظ أنه في معظم الحالات لن يعطي هذا نفس نتيجة "multiply()".
  • NumPy تعني Numerical Python وهي مكتبة Python للعمل مع المصفوفات.
  • بمساعدة هذه المصفوفات، يمكن تمثيل عناصر من الجبر الخطي، مثل المتجهات والمصفوفات، في بايثون.
  • نظرًا لأن معظم المكتبة مكتوبة بلغة C، فيمكنها إجراء عمليات حسابية فعالة وسريعة بشكل خاص حتى مع المصفوفات الكبيرة.
  • يمكن مقارنة مصفوفات NumPy بقوائم Python ولكنها تتفوق عليها بشكل كبير في متطلبات الذاكرة وسرعة المعالجة.

مقدمة قصيرة عن NumPy أعيد نشرها من المصدر https://towardsdatascience.com/3short-introduction-to-numpy-3a65ec23eaba?source=rss—-7f60cf5620c9—4 عبر https://towardsdatascience.com/feed

<!–

->

الطابع الزمني:

اكثر من مستشارو Blockchain