Как сохранить размеры при использовании базовых c арифметических c операций с Numpy - PullRequest
2 голосов
/ 24 февраля 2020

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

a=np.random.rand(2,3,4)
t=2
b=a[:,1,:] + a[:,2,:]*t

Вторая ось a автоматически уменьшается, и b становится массивом 2x4. Как сохранить форму b, чтобы она была [2,1,4]. В numpy.sum() мы можем установить keepdims=True, но как это сделать для базовых c арифметических c операций?

1 Ответ

1 голос
/ 24 февраля 2020

Преобразование целых индексов в списки:

>>> b = a[:,[1],:] + a[:,[2],:]*t
>>> b.shape
(2, 1, 4)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...