logo

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

توفر الوحدة numpy في لغة Python وظيفة تسمى numpy.average()‎، تُستخدم لحساب المتوسط ​​المرجح على طول المحور المحدد.

بناء الجملة:

 numpy.average(a, axis=None, weights=None, returned=False) 

حدود:

س: array_like

للحلقة في ج

تحدد هذه المعلمة المصفوفة المصدر التي نريد حساب متوسط ​​عناصرها. ستتم محاولة التحويل إذا كان 'x' عبارة عن مصفوفة.

المحور: int أو لا شيء أو مجموعة من ints (اختياري)

تحدد هذه المعلمة المحور الذي سيتم حساب المتوسط ​​على طوله. افتراضيًا، يتم تعيين المحور على لا شيء، والذي سيحسب متوسط ​​جميع عناصر المصفوفة المصدر. تبدأ الأعداد من النهاية إلى محور البداية عندما تكون قيمة المحور سالبة.

الأوزان: array_like (اختياري)

تحدد هذه المعلمة مصفوفة تحتوي على أوزان مرتبطة بقيم المصفوفة. كل قيمة من عناصر المصفوفة معًا تشكل المتوسط ​​وفقًا للوزن المرتبط بها. يمكن أن تكون المصفوفة الموزونة أحادية البعد أو بنفس شكل مصفوفة الإدخال. عندما لا يكون هناك وزن مرتبط بعنصر الصفيف، سيتم التعامل مع الوزن على أنه 1 لجميع العناصر.

تم إرجاعه: منطقي (اختياري)

افتراضيًا، يتم تعيين هذه المعلمة على False. إذا قمنا بتعيينها على أنها True، فسيتم إرجاع صف من المتوسط ​​ومجموع الأوزان. إذا كانت خاطئة، يتم إرجاع المتوسط. المجموع المرجح يعادل عدد العناصر إذا لم تكن هناك قيم للأوزان.

عائدات:

retval، [sum_of_weights]: نوع الصفيف أو مزدوج

تقوم هذه الدالة بإرجاع المتوسط ​​أو كلاً من المتوسط ​​ومجموع الأوزان التي تعتمد على المعلمة التي تم إرجاعها.

يرفع:

خطأ في قسم الصفر

يظهر هذا الخطأ عندما يتم ضبط كافة الأوزان على طول المحور على الصفر.

خطأ مطبعي

يظهر هذا الخطأ عندما لا يكون طول المصفوفة الموزونة هو نفس شكل مصفوفة الإدخال.

مثال 1:

 import numpy as np data = list(range(1,6)) output=np.average(data) data output 

انتاج:

 [1, 2, 3, 4, 5] 3.0 

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

  • لقد قمنا باستيراد numpy بالاسم المستعار np.
  • لقد أنشأنا قائمة بالعناصر 'بيانات' .
  • لقد أعلنا المتغير 'انتاج' وتعيين القيمة التي تم إرجاعها متوسط() وظيفة.
  • لقد مررنا القائمة 'بيانات' في الوظيفة.
  • وأخيرا، حاولنا طباعة 'بيانات' و 'انتاج'

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

مثال 2:

 import numpy as np output=np.average(range(1,16), weights=range(15,0,-1)) output 

انتاج:

 5.666666666666667 

مثال 3:

 import numpy as np data=np.arange(12).reshape((4,3)) output = np.average(data, axis=1, weights=[1./4, 3./4, 5./4]) data output 

انتاج:

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

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

  • لقد قمنا باستيراد numpy بالاسم المستعار np.
  • لقد أنشأنا مصفوفة 'بيانات' استخدام ارانج () و np.reshape() وظيفة.
  • لقد أعلنا المتغير 'انتاج' وتعيين القيمة التي تم إرجاعها متوسط() وظيفة.
  • لقد مررنا المصفوفة 'بيانات' ، قم بتعيين المحور على 1، والصفيف الموزون في الوظيفة.
  • وأخيرا، حاولنا طباعة 'بيانات' و 'انتاج'

في الإخراج، يظهر متوسط ​​كل عناصر العمود في المصفوفة.

مثال 4:

 import numpy as np data=np.arange(12).reshape((4,3)) data np.average(data, weights=[1./4, 3./4, 5./4]) 

انتاج:

 array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]]) Traceback (most recent call last): File '', line 1, in File 'C:Python27libsite-packages
umpylibfunction_base.py', line 406, in average 'Axis must be specified when shapes of data and weights.' TypeError: Axis must be specified when shapes of data and weights differ. 

ملاحظة: يُظهر الإخراج خطأ في النوع: 'يجب تحديد المحور عندما تختلف أشكال البيانات والأوزان' لأن شكل مصفوفة 'الأوزان' ليس هو نفسه شكل 'بيانات' مصفوفة الإدخال.