Python инициализирует многомерный числовой массив случайных значений

#python #numpy

#python #numpy

Вопрос:

Если я хочу создать трехмерный массив, и я могу написать что-то вроде этого (x — это 3-мерный массив)

 for i in range(pN): 
    for j in range(C): 
        for k in range(K 1):
            X[i][j][k] = random.uniform(0,1) #random initialize
  

Но как я могу сделать этот код более читаемым? (Например, не используйте 3 для цикла)

Спасибо!

Ответ №1:

Просто используйте случайную функцию numpy:

https://docs.scipy.org/doc/numpy-1.15.1/reference/generated/numpy.random.rand.html

Он сгенерирует случайный массив нужной вам формы (например, 3x2x3)

  np.random.rand(3,2,3)
  

Ответ №2:

вы можете использовать numpy

 import numpy as np
np.random.random((pN,C,K))
  

Ответ №3:

Вместо этого используйте numpy.

Сначала установите его с помощью

 pip install -U numpy
  

В терминале или командной строке Windows.

Затем в программе python импортируйте его с помощью:

 import numpy as np
  

А затем использует random.rand :

 np.random.rand((pN,C,K))
  

Ответ №4:

 import numpy as np

X = np.random.uniform(0, 1, (x, y, z))
# x, y, z would represent the size of each dimension
  

Из документации numpy