title: numpy: Why is there a difference between (x,1) and (x, ) dimensionality
body: <p>I am wondering why in numpy there are one dimensional array of dimension (length, 1) and also one dimensional array of dimension (length, ) w/o a second value.</p>
  
  <p>I am running into this quite frequently, e.g. when using <code>np.concatenate()</code>  which then requires a <code>reshape</code> step beforehand (or I could directly use <code>hstack</code>/<code>vstack</code>).</p>
  
  <p>I can't think of a reason why this behavior is desirable. Can someone explain?</p>
  
  <p><strong>Edit:</strong><br>
  It was suggested by one of the comments that my question is a possible duplicate. I am more interested in the underlying working logic of Numpy and not that there is a distinction between 1d and 2d arrays which I think is the point of the mentioned thread.</p>