The for loop in list comprehension takes time and makes it slow. It is better to use numpy parameters (low, high, size, ..etc)
import numpy as np
import time
rang = 10000
tic = time.time()
for i in range(rang):
sampl = np.random.uniform(low=0, high=2, size=(182))
print("it took: ", time.time() - tic)
tic = time.time()
for i in range(rang):
ran_floats = [np.random.uniform(0,2) for _ in range(182)]
print("it took: ", time.time() - tic)
sample output:
('it took: ', 0.06406784057617188)
('it took: ', 1.7253198623657227)