Python: преобразовать 2d массив в 3d массив - PullRequest
1 голос
/ 20 марта 2020

У меня есть следующий двумерный массив abc.

array([[-0.20152117, -1.44189064,  0.20784068],
       [ 0.47836196, -1.07317107, -0.17852614]])

Я хотел бы преобразовать его в трехмерный массив так, чтобы результат был res[0,:,:] был бы

Примечание что эта res[0] форма 3 x N, с N = 10

array([[-0.20152117, -0.20152117, -0.20152117, ..., -0.20152117,
        -0.20152117, -0.20152117],
       [-1.44189064, -1.44189064, -1.44189064, ..., -1.44189064,
        -1.44189064, -1.44189064],
       [ 0.20784068,  0.20784068,  0.20784068, ...,  0.20784068,
         0.20784068,  0.20784068]])

и res[1] форма также 3xN

array([[ 0.47836196,  0.47836196,  0.47836196, ...,  0.47836196,
         0.47836196,  0.47836196],
       [-1.07317107, -1.07317107, -1.07317107, ..., -1.07317107,
        -1.07317107, -1.07317107],
       [-0.17852614, -0.17852614, -0.17852614, ..., -0.17852614,
        -0.17852614, -0.17852614]])

Как мне этого добиться?

Я пытался (np.repeat(abc, 10, 0).reshape(2, 3, 10)), но это неправильно.

1 Ответ

0 голосов
/ 20 марта 2020

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

import numpy as np

abc = np.array([[-0.20152117, -1.44189064,  0.20784068],
              [ 0.47836196, -1.07317107, -0.17852614]])

N = 10
res = np.tile(abc.T, (N, 1, 1)).T
print(res[0])
print()
print(res[1])

доходность

[[-0.20152117 -0.20152117 -0.20152117 -0.20152117 -0.20152117 -0.20152117
  -0.20152117 -0.20152117 -0.20152117 -0.20152117]
 [-1.44189064 -1.44189064 -1.44189064 -1.44189064 -1.44189064 -1.44189064
  -1.44189064 -1.44189064 -1.44189064 -1.44189064]
 [ 0.20784068  0.20784068  0.20784068  0.20784068  0.20784068  0.20784068
   0.20784068  0.20784068  0.20784068  0.20784068]]

[[ 0.47836196  0.47836196  0.47836196  0.47836196  0.47836196  0.47836196
   0.47836196  0.47836196  0.47836196  0.47836196]
 [-1.07317107 -1.07317107 -1.07317107 -1.07317107 -1.07317107 -1.07317107
  -1.07317107 -1.07317107 -1.07317107 -1.07317107]
 [-0.17852614 -0.17852614 -0.17852614 -0.17852614 -0.17852614 -0.17852614
  -0.17852614 -0.17852614 -0.17852614 -0.17852614]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...