title: A numpy array unexpectedly changes when changing another one despite being separate
body: <p>I found a bug in my large code, and I simplified the issue to the case below.</p>
  
  <p>Although in each step I only change <code>w2</code>, but when at each step I print out <code>w1</code>, it is also changed, because end of the first loop I assign them to be equal.
  I read for this but there was written in case I make <code>w1 = w2[:]</code> it will solve the issue but it does not</p>
  
  <pre><code>import numpy as np
  import math
  
  w1=np.array([[1,2,3],[4,5,6],[7,8,9]])
  w2=np.zeros_like(w1)
  print 'w1=',w1
  for n in range(0,3):
      for i in range(0,3):
          for j in range(0,3):
              print 'n=',n,'i=',i,'j=',j,'w1=',w1
              w2[i,j]=w1[i,j]*2
  
      w1=w2[:]
  
  
  #Simple tests
  # w=w2[:]
  # w1=w[:]
  
  # p=[1,2,3]
  # q=p[:];
  # q[1]=0;
  # print p
  </code></pre>