2012-07-24 18 views
5

के साथ डिब्बे का उपयोग करें मेरी पायथन लिपि में मैंने फ़्लोट किया है कि मैं बिन बनाना चाहता हूं। अभी मैं कर रहा हूँ:बेवकूफ: असीमित रेंज

min_val = 0.0 
max_val = 1.0 
num_bins = 20 
my_bins = numpy.linspace(min_val, max_val, num_bins) 
hist,my_bins = numpy.histogram(myValues, bins=my_bins) 

लेकिन अब मैं मान जो < 0.0 कर रहे हैं के लिए और उन है कि कर रहे हैं> 1.0 के लिए खाते में दो और डिब्बे जोड़ना चाहते हैं। इस प्रकार एक बिन में सभी मूल्यों को शामिल किया जाना चाहिए (-inf, 0), अन्य सभी में [1, inf)

क्या अभी भी numpy के histogram फ़ंक्शन का उपयोग करते हुए ऐसा करने का कोई सीधा तरीका है?

उत्तर

7

समारोह numpy.histogram() खुशी से bins तर्क में अनंत मान स्वीकार करता है:

numpy.histogram(my_values, bins=numpy.r_[-numpy.inf, my_bins, numpy.inf]) 

वैकल्पिक रूप से, आप numpy.searchsorted() और numpy.bincount() के संयोजन का उपयोग कर सकता है, हालांकि मुझे लगता है कि दृष्टिकोण के लिए बहुत कुछ लाभ नहीं दिख रहा।

3

आप निम्न बिन सीमा के रूप में ऊपरी और -numpy.inf के रूप में numpy.inf निर्दिष्ट कर सकते हैं।