дает вам то, что вы хотите

я есть 2d массив / матрица, как это, как бы я случайно выбрал значение из этой 2D-матрицы, например, получить значение как[-62, 29.23], Я посмотрел наnumpy.choice но он построен для 1d массива.

Ниже приведен мой пример с 4 строками и 8 столбцами.

Space_Position=[
      [[-62,29.23],[-49.73,29.23],[-31.82,29.23],[-14.2,29.23],[3.51,29.23],[21.21,29.23],[39.04,29.23],[57.1,29.23]],

      [[-62,11.28],[-49.73,11.28],[-31.82,11.28],[-14.2,11.28],[3.51,11.28],[21.21,11.28] ,[39.04,11.28],[57.1,11.8]],

      [[-62,-5.54],[-49.73,-5.54],[-31.82,-5.54] ,[-14.2,-5.54],[3.51,-5.54],[21.21,-5.54],[39.04,-5.54],[57.1,-5.54]],

      [[-62,-23.1],[-49.73,-23.1],[-31.82,-23.1],[-14.2,-23.1],[3.51,-23.1],[21.21,-23.1],[39.04,-23.1] ,[57.1,-23.1]]
      ]

В ответах было дано следующее решение:

random_index1 = np.random.randint(0, Space_Position.shape[0])
random_index2 = np.random.randint(0, Space_Position.shape[1])
Space_Position[random_index1][random_index2]

это действительно работает, чтобы дать мне один образец, как насчет более чем одного образца, какnp.choice() делает?

Другой способ, которым я думаю, - преобразовать матрицу в массив вместо матрицы, как,

Space_Position=[
      [-62,29.23],[-49.73,29.23],[-31.82,29.23],[-14.2,29.23],[3.51,29.23],[21.21,29.23],[39.04,29.23],[57.1,29.23], .....   ]

и наконец использоватьnp.choice()Однако я не мог найти способы сделать преобразование,np.flatten() делает массив как

Space_Position=[-62,29.23,-49.73,29.2, ....]

Ответы на вопрос(2)

Ваш ответ на вопрос