title: Why is np reshape not working on np.matrix
body: <p>I have sparse matrix that I am trying to reshape:</p>
  
  <pre><code>_train_data = model.pipeline.transform(train_data)
  print(type(_train_data), _train_data.shape)
  &gt;&gt;&gt; &lt;class 'scipy.sparse.csr.csr_matrix'&gt; (18864, 3742)
  </code></pre>
  
  <p>I first convert it to a dense numpy array:</p>
  
  <pre><code> _train_data = _train_data.todense()
   print(type(_train_data), _train_data.shape)
   &gt;&gt;&gt; &lt;class 'numpy.matrix'&gt; (18864, 3742)
  </code></pre>
  
  <p>Then attempt to reshape it, with the goal of it being shaped (18864, 3742, 1) so I can fit into some keras dense layers, but the reshaping does not appear to be working:</p>
  
  <pre><code>a_new_df = _train_data.reshape((18864, 3742, -1))
  print(type(a_new_df), a_new_df.shape)
  &gt;&gt;&gt; &lt;class 'numpy.matrix'&gt; (18864, 3742)
  </code></pre>
  
  <p>I have also tried using np.reshape():</p>
  
  <pre><code>a_new_df = np.reshape(_train_data, (18864, 3742, -1))
  print(type(a_new_df), a_new_df.shape)
  &gt;&gt;&gt; &lt;class 'numpy.matrix'&gt; (18864, 3742)
  </code></pre>
  
  <p>and using a different axis to reshape:</p>
  
  <pre><code>a_new_df = np.reshape(_train_data, (18864, 3742, 1))
  print(type(a_new_df), a_new_df.shape)
  &gt;&gt;&gt; &lt;class 'numpy.matrix'&gt; (18864, 3742)
  
  a_new_df = np.reshape(_train_data, (1, 18864, 3742))
  print(type(a_new_df), a_new_df.shape)
  &gt;&gt;&gt; &lt;class 'numpy.matrix'&gt; (18864, 3742)
  </code></pre>
  
  <p>But none of these are successfully recasting the shape of the matrix.</p>