# How to normalize an array in NumPy to a unit vector?

###### Posted By: Anonymous

I would like to convert a NumPy array to a unit vector. More specifically, I am looking for an equivalent version of this function

```
def normalize(v):
norm = np.linalg.norm(v)
if norm == 0:
return v
return v / norm
```

Is there something like that in `skearn`

or `numpy`

?

This function works in a situation where `v`

is the 0 vector.

## Solution

If you’re using scikit-learn you can use `sklearn.preprocessing.normalize`

:

```
import numpy as np
from sklearn.preprocessing import normalize
x = np.random.rand(1000)*10
norm1 = x / np.linalg.norm(x)
norm2 = normalize(x[:,np.newaxis], axis=0).ravel()
print np.all(norm1 == norm2)
# True
```

###### Answered By: Anonymous

Disclaimer: This content is shared under creative common license cc-by-sa 3.0. It is generated from StackExchange Website Network.