What's the difference between shape(150,) and shape (150,1)?
Although they both occupy same space and positions in memory,

I think they are the same, I mean they both represent a column vector.

No they are not and certainly not according to NumPy (ndarrays).
The main difference is that the 
shape (150,) => is a 1D array,  whereas
shape (150,1) => is a 2D array
What's the difference between shape(150,) and shape (150,1)?
I think they are the same, I mean they both represent a column vector.