Как переставить матрицу - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть данные, которые я читаю в виде списка:

#Data[0] = X1 Y1a Y2a Y3a Y4a
#Data[1] = X2 Y1b Y2b Y3b Y4b


for i in range(len(Data)): #len(Data) = 25, say
     X_data.append(Data[i][0])
     for j in range(int(math.sqrt(len(Data[0] - 1)))):
          Y_data.append(Data[i][j+1])

Это дает мне список длины Y_data (4 * len (Data)) = 100

Но вместо один список измерений. Я хочу, чтобы Y_data был списком 2x2 (x25) с:

Y_data[Xval_a][0][0] = Y1a
Y_data[Xval_a][1][0] = Y2a
Y_data[Xval_a][0][1] = Y3a
Y_data[Xval_a][1][1] = Y4a

, где Xval - один из моих 25 показателей из данных

Я также хочу, чтобы это масштабировалось как у меня много значений Y Например, здесь у меня есть Y1 - Y4, поэтому необходим массив 2x2, но у меня также может быть Y1 - Y9 или Y1 - Y16.

Я пробовал np.reshape, но я не вижу используя его правильно

1 Ответ

0 голосов
/ 30 апреля 2020

Работает ли следующее?

Data = np.array(Data)
Data = np.reshape(Data, (2,2,25))
...