относительно преобразования одностороннего списка в двумерный массив, представляющий сетку - PullRequest
0 голосов
/ 17 октября 2019

У меня есть набор данных, сохраненный следующим образом. Вообще говоря, это список, каждый элемент этого основного списка является подсписком. Каждый подсписок включает в себя два элемента, где первый является значением, а второй - идентификатором.

[[0.089, 0],
 [0.075, 1],
 [0.588, 2],
 [0.906, 3],
 [0.332, 4],
 [0.707, 5],
 [0.668, 6],
 [0.426, 7],
 [0.034, 8]]

Приведенный выше набор тестовых данных может быть сгенерирован с использованием следующего сегмента кода

import numpy as np
testlist=[]
for i in range(9):
    temp=[]
    x1 = np.random.rand()
    temp.append(x1)
    temp.append(i)
    testlist.append(temp)

Как передать этот список в двумерный массив, представляющий сетку. Например, значения будут расположены в этом двумерном массиве

0.089  0.045  0.588
0.907  0.332  0.707
0.668  0.426 0.034

1 Ответ

0 голосов
/ 17 октября 2019

Это то, что вы хотите?

изменение формы изменит форму массива, -1 в форме означает, что значение будет получено самим numpy

arr = np.array([[0.089, 0],
 [0.075, 1],
 [0.588, 2],
 [0.906, 3],
 [0.332, 4],
 [0.707, 5],
 [0.668, 6],
 [0.426, 7],
 [0.034, 8]])

arr[:,0].reshape(-1,3).copy()

Результат

array([[0.089, 0.075, 0.588],
       [0.906, 0.332, 0.707],
       [0.668, 0.426, 0.034]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...