What happens if we normalize a normalized data?

Normalizing the data

u=np.mean(X,axis=0)
std=np.std(X,axis=0)
print(u)
print(std)
for i in range(X.shape[1]):
X[:,i]=( X[:,i]-u[i] )/ (std[i])
u_new=np.mean(X,axis=0)
std_new=np.std(X,axis=0)
print(u_new)
print(std_new)

The mean gets distorted very badly away from 0.
The standard deviation becomes exact 1

No actually I think you are misinterpreting the terms of u_new, I just ran your code and got
u_new = [-2.33146835e-17 -1.77635684e-17 -1.77635684e-17 2.33146835e-17
8.88178420e-18]

Here e-17 stands for 10^-17, and hence these values are very close to zero.
Attaching the screenshot of your code’s output for more clarification.

Hope this helped :blush: