Why can't i normalize my data using preprocessing.normalize?
Sklearn.preprocessing.normalize is vector norm normalization. By default it use L2 Norm which is $x_{norm}=\sqrt{\Sigma{x_i^2}}$. For example, if there's one vector $(1,2,3)$, then the $x_{norm}=\sqrt{1^2+2^2+3^2}=3.7416$, then if you normalize the vector, it would be $(\frac{1}{3.7416},\frac{2}{3.7416},\frac{3}{3.7416})$.

If that's what you want, try

# convert to numpy array with shape(rows,1)
df_array = df['Miles'].values.reshape(-1,1)
df['Miles'] = preprocessing.normalize(df_array,axis=0)


Note that setting axis=0, otherwise it would be done column-wise and you will get all 1 vector.

I think you may want to scale the vector rather than normalization, try mean-std scale by sklearn.preprocessing.scale, max-min scale by sklearn.preprocessing.minmax_scale. Be sure that you reshape the array first.