# python numpy histogram

```Hi,

I get the following error:

ERROR:
Traceback (most recent call last):
File "exponential_distr.py", line 32, in <module>
numpy.histogram(data_array, bins=100, range=20000)
File "/usr/lib/python2.7/dist-packages/numpy/lib/function_base.py", line 499, in histogram
mn, mx = [mi + 0.0 for mi in range]
TypeError: 'int' object is not iterable

with the code shown below.
I guess I am using "numpy.histogram" below. Also, is there a way to fill the histogram on an event by event base without using the clumsy way of constructing an array as I do below?
And - final question - how can I most easily plot the histogram without having to define - again - the bins etc...?

CODE:

import numpy
import numpy.random

rate = float(1e5)
average_dt = 1.0/rate
print "average dt: ", average_dt

calc_average = 0.0
total_num=1000.0
isFirst = True
for index in range(0, int(total_num)):
time = numpy.random.exponential(average_dt)
#    print "time: ", time, " = ", time*1e9, " ns"
calc_average = calc_average + time

# Idiot python way of constructing an array (God, I hate python...)
if (isFirst == True):
data_array = time
isFirst = False
else:
data_array = numpy.hstack((data_array, time))

calc_average = calc_average/total_num
print "calculated average: ", calc_average, " = ", calc_average*1e9, " ns"
print "data_array: ", data_array

numpy.histogram(data_array, bins=100, range=20000)
#	import matplotlib.pyplot as plt
#	plt.hist(data_array, bins=100, range=20000)
#	plt.show()

--
Av?s -
Aviso - Legal Notice - (LOPD) - http://legal.ifae.es
<http://legal.ifae.es/>

```