Using the NumPy library, it is possible to create a matrix of random floats:

## Create a 1D matrix with n random floats

This can be done using the np.random module and its function random_sample().

`import numpy as np`

`n = 10`

`data = np.random.random_sample(n)`

This code will produce values that are evenly distributed between 0 and 1.

`array([0.95511311, 0.74047589, 0.68174737, 0.7318436 , 0.70291076,`

`0.17197878, 0.59607566, 0.42274757, 0.58774713, 0.29854085])`

## Create a matrix of random floats for a given shape

To create a matrix of random floats, simply specify the desired shape of the resulting array. For example:

`data = np.random.random_sample((5,3))`

will generate for example

`array([[0.47, 0.17, 0.01],`

`[0.59, 0.07, 0.9 ],`

`[0.98, 0.63, 0.44],`

`[0.59, 0.31, 0.63],`

`[0.35, 0.48, 0.43]])`

## Additional features

### Generate random floats between [a,b]:

`a = -20`

`b = 100`

`data = np.random.random_sample(20) * ( b - a ) + a`

gives for example

`array([ 72.66937232, 3.84588178, -19.33734595, 77.85537141,`

`64.82288126, 67.48086016, 72.5524416 , -11.11464179,`

`23.01588743, -6.09571286, 83.57241111, 54.79577522,`

`19.70776298, -12.37299797, 17.31787861, 19.02199864,`

`67.5527414 , 56.50689656, 86.46552911, 36.66579102])`

### Generate always same random floats:

To do that a solution is to use a seed:

`np.random.seed(42)`

`data = np.random.random_sample(10)`

will always return same random numbers:

`array([0.37454012, 0.95071431, 0.73199394, 0.59865848, 0.15601864,`

`0.15599452, 0.05808361, 0.86617615, 0.60111501, 0.70807258])`

### Round random floats

To do that a solution is to use the numpy function around():

For example

`data = np.random.random_sample((5,3))`

gives

`array([[0.47422826, 0.16659521, 0.0104256 ],`

`[0.59352088, 0.07216889, 0.89524555],`

`[0.98402745, 0.6329296 , 0.43614741],`

`[0.59215665, 0.30657867, 0.62781343],`

`[0.34791008, 0.47968316, 0.42866502]])`

Then

`np.around(data,2)`

gives

`array([[0.47, 0.17, 0.01],`

`[0.59, 0.07, 0.9 ],`

`[0.98, 0.63, 0.44],`

`[0.59, 0.31, 0.63],`

`[0.35, 0.48, 0.43]])`

## References

Links | Site |
---|---|

numpy.random.random | numpy.org |

numpy.around | numpy.org |

How to create a matrix of random numbers with numpy in python ? | moonbooks.org |

How to round the values of a pandas DataFrame ? | moonbooks.org |