Как преобразовать 4-мерный массив Numpy в разные измерения? - PullRequest
0 голосов
/ 27 июня 2019

У меня есть 4-мерный массив Numpy, (8, 1, 1, 102). Теперь, например, я просто хочу игнорировать средние два измерения и иметь массив формы (8,102), что может быть подходящим способом для этого?

Ответы [ 2 ]

2 голосов
/ 27 июня 2019

Вы не можете просто "игнорировать" первые два измерения.У вас есть массив размером 8 * 1 * 1 * 102 == 816, но вы хотите массив размером 1 * 102, поэтому вам придется выбирать, какие значения отбрасывать.

Например, если вы хотите первые 102, вы можете сделать

array[0, 0]

, который будет иметь форму (1, 102)

Редактировать

Если вы хотитеразмеры (8, 102) тогда, как сказал другой пользователь, который удалил свой ответ, вы хотите np.squeeze.

x = np.random.random((8, 1, 1, 102))
y = np.squeeze(x)
print(y.shape)  # (8, 102)
1 голос
/ 27 июня 2019

np.squeeze свернет все измерения, имеющие длину 1, или вы можете использовать функцию изменения формы

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