title: Stocking large numbers into numpy array
body: <p>I have a dataset on which I'm trying to apply some arithmetical method.
  The thing is it gives me relatively large numbers, and when I do it with numpy, they're stocked as 0.</p>
  
  <p>The weird thing is, when I compute the numbers appart, they have an int value, they only become zeros when I compute them using numpy. </p>
  
  <pre><code>x = np.array([18,30,31,31,15])
  10*150**x[0]/x[0]
  Out[1]:36298069767006890
  
  vector = 10*150**x/x
  vector
  Out[2]: array([0, 0, 0, 0, 0])
  </code></pre>
  
  <p>I have off course checked their types:</p>
  
  <pre><code>type(10*150**x[0]/x[0]) == type(vector[0])
  Out[3]:True
  </code></pre>
  
  <p>How can I compute this large numbers using numpy without seeing them turned into zeros?</p>
  
  <p>Note that if we remove the factor 10 at the beggining the problem slitghly changes (but I think it might be a similar reason):</p>
  
  <pre><code>x = np.array([18,30,31,31,15])
  150**x[0]/x[0]
  Out[4]:311075541538526549
  
  vector = 150**x/x
  vector
  Out[5]: array([-329406144173384851, -230584300921369396, 224960293581823801,
     -224960293581823801, -368934881474191033])
  </code></pre>
  
  <p>The negative numbers indicate the largest numbers of the int64 type in python as been crossed don't they?</p>