Я создаю массив случайных значений numpy
и добавляю их к существующему массиву, содержащему 32-битные поплавки. Я хотел бы генерировать случайные значения, используя тот же тип dtype, что и целевой массив, так что мне не нужно преобразовывать типы dtypes вручную. В настоящее время я делаю это:
import numpy as np
x = np.zeros((10, 10), dtype='f')
x += np.random.randn(*x.shape).astype('f')
То, что я хотел бы сделать вместо последней строки, выглядит примерно так:
x += np.random.randn(*x.shape, dtype=x.dtype)
но randn
(и фактически ни один из методов numpy.random
) не принимает аргумент dtype
.
Мой конкретный вопрос в том, можно ли указать dtype для случайных чисел, когда я их создаю, без вызова astype
? (Мое предположение, что генератор случайных чисел имеет длину 64 бит, поэтому на самом деле не имеет смысла это делать, но я думал, что спрошу, возможно ли это.)