एक बिन सीमा है जो एक्स-अक्ष के साथ हिस्टोग्राम के एक बार की चौड़ाई का प्रतिनिधित्व करती है। आप इसे अंतराल भी कह सकते हैं। (विकिपीडिया उन्हें और अधिक औपचारिक रूप से "असंतुष्ट श्रेणियों" के रूप में परिभाषित करता है।)
Numpy histogram
फ़ंक्शन हिस्टोग्राम को आकर्षित नहीं करता है, लेकिन यह प्रत्येक बिन के भीतर आने वाले इनपुट डेटा की घटनाओं की गणना करता है, जो प्रत्येक पट्टी के क्षेत्र को निर्धारित करता है (जरूरी नहीं कि ऊंचाई समान चौड़ाई की नहीं हो)।
इस उदाहरण में:
np.histogram([1, 2, 1], bins=[0, 1, 2, 3])
क्रमशः 0 से 1 (excl 1.), 1 से 2 (excl। 2) और 2 से 3 (incl। 3) के मानों के लिए 3 डिब्बे हैं। अगर [0, 1, 2, 3]
इस उदाहरण में डेल्पी ( ) की सूची देकर नम्पी इन डिब्बे को परिभाषित करती है , हालांकि यह परिणामों में डिब्बे भी लौटाता है, क्योंकि यह इनपुट से स्वचालित रूप से उन्हें चुन सकता है, यदि कोई भी निर्दिष्ट नहीं है। यदि bins=5
, उदाहरण के लिए, यह न्यूनतम इनपुट मूल्य और अधिकतम इनपुट मूल्य के बीच फैले हुए समान चौड़ाई के 5 डिब्बे का उपयोग करेगा।
इनपुट मान 1, 2 और 1 हैं। इसलिए, बिन "1 से 2" में दो घटनाएँ (दो 1
मूल्य) होते हैं, और बिन "2 से 3" में एक घटना ( 2
) होती है। ये परिणाम लौटे हुए टपल में पहले आइटम में हैं array([0, 2, 1])
:।
चूंकि यहां डिब्बे समान चौड़ाई के हैं, इसलिए आप प्रत्येक बार की ऊंचाई के लिए घटनाओं की संख्या का उपयोग कर सकते हैं। तैयार होने पर, आपके पास होगा:
- एक्स-अक्ष पर रेंज / बिन [0,1] के लिए ऊंचाई की एक पट्टी,
- रेंज / बिन [1,2] के लिए ऊंचाई 2 की एक पट्टी,
- रेंज / बिन [2,3] के लिए ऊंचाई 1 की एक पट्टी।
आप इसे सीधे Matplotlib के साथ प्लॉट कर सकते हैं (इसका hist
कार्य डिब्बे और मान भी लौटाता है):
>>> import matplotlib.pyplot as plt
>>> plt.hist([1, 2, 1], bins=[0, 1, 2, 3])
(array([0, 2, 1]), array([0, 1, 2, 3]), <a list of 3 Patch objects>)
>>> plt.show()