logo

numpy.ravel() في بايثون

توفر الوحدة numpy في Python وظيفة تسمى numpy.ravel، والتي تُستخدم لتغيير مصفوفة ثنائية الأبعاد أو مصفوفة متعددة الأبعاد إلى مصفوفة مسطحة متجاورة. المصفوفة التي تم إرجاعها لها نفس نوع البيانات مثل المصفوفة المصدر أو مصفوفة الإدخال. إذا كانت صفيف الإدخال عبارة عن صفيف مقنع، فسيكون الصفيف الذي تم إرجاعه أيضًا صفيفًا مقنعًا.

بناء الجملة:

 numpy.ravel(x, order='C') 

حدود:

س: array_like

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

الترتيب: {'C','F', 'A', 'K'}(اختياري)

إذا قمنا بتعيين معلمة الترتيب على 'C'، فهذا يعني أنه سيتم تسوية المصفوفة بترتيب الصف الرئيسي. إذا تم تعيين 'F'، فسيتم تسوية المصفوفة بترتيب الأعمدة الرئيسية. يتم تسوية المصفوفة بترتيب الأعمدة الرئيسية فقط عندما يكون 'A' متجاورًا في الذاكرة من خلال Fortran، وعندما نقوم بتعيين معلمة الترتيب على 'A'. الترتيب الأخير هو 'K'، والذي يقوم بتسوية المصفوفة بنفس الترتيب الذي حدثت به العناصر في الذاكرة. افتراضيًا، يتم تعيين هذه المعلمة على 'C'.

عائدات:

تُرجع هذه الوظيفة مصفوفة مسطحة متجاورة لها نفس نوع البيانات مثل مصفوفة الإدخال ولها شكل يساوي ( حجم x ).

مثال 1:

 import numpy as np x = np.array([[1, 3, 5], [11, 35, 56]]) y=np.ravel(x) y 

انتاج:

 array([ 1, 3, 5, 11, 35, 56]) 

في الكود أعلاه

  • لقد قمنا باستيراد numpy بالاسم المستعار np.
  • لقد أنشأنا مصفوفة 'س' باستخدام وظيفة np.array().
  • لقد أعلنا عن المتغير y وقمنا بتعيين القيمة المعادة للدالة np.ravel().
  • لقد مررنا المصفوفة 'س' في الوظيفة.
  • وأخيرًا، حاولنا طباعة قيمة و .

في الإخراج، تظهر قيم المصفوفة في مصفوفة مسطحة متجاورة.

مثال 2:

 import numpy as np x = np.array([[1, 3, 5], [11, 35, 56]]) y = np.ravel(x, order='F') z = np.ravel(x, order='C') p = np.ravel(x, order='A') q = np.ravel(x, order='K') y z p q 

انتاج:

 array([ 1, 11, 3, 35, 5, 56]) array([ 1, 3, 5, 11, 35, 56]) array([ 1, 3, 5, 11, 35, 56]) array([ 1, 3, 5, 11, 35, 56]) 

مثال 3:

 import numpy as np x = np.arange(12).reshape(3,2,2).swapaxes(1,2) x y=np.ravel(a, order='C') y z=np.ravel(a, order='K') z q=np.ravel(a, order='A') q 

انتاج:

 array([[[ 0, 2], [ 1, 3]], [[ 4, 6], [ 5, 7]], [[ 8, 10], [ 9, 11]]]) array([ 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11]) array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([ 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11]) 

في الكود أعلاه

ما هو جافا مزدوج
  • لقد قمنا باستيراد numpy بالاسم المستعار np.
  • لقد أنشأنا مصفوفة 'س' باستخدام وظيفة np.arange().
  • لقد غيرنا شكله وقمنا بتبديل المحور باستخدام إعادة التشكيل () و np.swapaxes() وظيفة.
  • لقد أعلنا عن المتغيرات y وz وq وقمنا بتعيين القيمة المعادة للدالة np.ravel().
  • لقد مررنا المصفوفة 'س' والنظام ج , ك ، و أ في الوظيفة.
  • وأخيرًا، حاولنا طباعة قيمة و .

في الإخراج، تظهر قيم المصفوفة في مصفوفة مسطحة متجاورة.