logo

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

توفر الوحدة النمطية numpy في Python وظيفة تسمى numpy.histogram() . تمثل هذه الدالة تكرار عدد القيم التي تتم مقارنتها بمجموعة من نطاقات القيم. هذه الوظيفة مشابهة ل اصمت () وظيفة matplotlib.pyplot .

بكلمات بسيطة، يتم استخدام هذه الوظيفة لحساب الرسم البياني لمجموعة البيانات.

بناء الجملة:

 numpy.histogram(x, bins=10, range=None, normed=None, weights=None, density=None) 

حدود:

س: array_like

تحدد هذه المعلمة مصفوفة مسطحة يتم من خلالها حساب الرسم البياني.

الصناديق: int أو تسلسل str أو scalars (اختياري)

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

النطاق: (تعويم، تعويم) (اختياري)

تحدد هذه المعلمة النطاقات العلوية والسفلية للصناديق. بشكل افتراضي، النطاق هو (x.min()، x.max()) . يتم تجاهل القيم التي تقع خارج النطاق. يجب أن تكون نطاقات العنصر الأول مساوية أو أقل من العنصر الثاني.

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

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

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

تحدد هذه المعلمة مصفوفة تحتوي على أوزان ولها نفس الشكل 'س' .

الكثافة: بول (اختياري)

إذا تم ضبطه على True، فسيؤدي ذلك إلى عدد العينات في كل حاوية. إذا كانت قيمتها خطأ، فإن دالة الكثافة ستؤدي إلى قيمة دالة الكثافة الاحتمالية في السلة.

عائدات:

اصمت: صفيف

تقوم دالة الكثافة بإرجاع قيم الرسم البياني.

edge_bin: مصفوفة من النوع العائم

تقوم هذه الوظيفة بإرجاع حواف الصندوق (الطول(التاريخ+1)) .

مثال 1:

 import numpy as np a=np.histogram([1, 5, 2], bins=[0, 1, 2, 3]) a 

انتاج:

 (array([0, 1, 1], dtype=int64), array([0, 1, 2, 3])) 

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

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

في الإخراج، يظهر ndarray الذي يحتوي على قيم الرسم البياني.

مثال 2:

 import numpy as np x=np.histogram(np.arange(6), bins=np.arange(7), density=True) x 

انتاج:

حاول الصيد في جافا
 (array([0.16666667, 0.16666667, 0.16666667, 0.16666667, 0.16666667, 0.16666667]), array([0, 1, 2, 3, 4, 5, 6])) 

مثال 3:

 import numpy as np x=np.histogram([[1, 3, 1], [1, 3, 1]], bins=[0,1,2,3]) x 

انتاج:

 (array([0, 4, 2], dtype=int64), array([0, 1, 2, 3])) 

مثال 4:

 import numpy as np a = np.arange(8) hist, bin_edges = np.histogram(a, density=True) hist bin_edges 

انتاج:

 array([0.17857143, 0.17857143, 0.17857143, 0. , 0.17857143, 0.17857143, 0. , 0.17857143, 0.17857143, 0.17857143]) array([0. , 0.7, 1.4, 2.1, 2.8, 3.5, 4.2, 4.9, 5.6, 6.3, 7. ]) 

مثال 5:

 import numpy as np a = np.arange(8) hist, bin_edges = np.histogram(a, density=True) hist hist.sum() np.sum(hist * np.diff(bin_edges)) 

انتاج:

 array([0.17857143, 0.17857143, 0.17857143, 0. , 0.17857143, 0.17857143, 0. , 0.17857143, 0.17857143, 0.17857143]) 1.4285714285714288 1.0 

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

  • لقد قمنا باستيراد numpy بالاسم المستعار np.
  • لقد أنشأنا مصفوفة 'أ' استخدام np.arange() وظيفة.
  • لقد أعلنا المتغيرات 'اصمت' و 'bin_edges' ثم قم بتعيين القيمة التي تم إرجاعها لـ np. الرسم البياني () وظيفة.
  • لقد مررنا المصفوفة 'أ' وحدد 'كثافة' إلى صحيح في الدالة.
  • لقد حاولنا طباعة قيمة 'اصمت' .
  • وأخيرًا، حاولنا حساب مجموع قيم الرسم البياني باستخدام مجموع اصمت () و np.sum() حيث مررنا قيم الرسم البياني وحواف الصندوق.

في الإخراج، يعرض ndarray الذي يحتوي على قيم الرسم البياني ومجموع قيم الرسم البياني.