Разница между ndarray.transpose и numpy .transpose - PullRequest
0 голосов
/ 07 марта 2020

В чем разница между ndarray.transpose и numpy.transpose? и по какому сценарию мы к какому? Есть ли сценарий, в котором будет работать только один из вышеперечисленных?

Я просмотрел документацию и, насколько я понимаю, numpy.transpose вернет представление, когда это возможно. Принимая во внимание, что ndarray.transpose возвращает представление всегда.

Было бы замечательно, если бы кто-нибудь мог привести мне пример, где только один из вышеперечисленных подойдет.

1 Ответ

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

Код для np.transpose:

def transpose(a, axes=None):
    return _wrapfunc(a, 'transpose', axes)

, то есть фактически:

np.asarray(a).transpose(axes)

, то есть создайте массив без копирования и примените метод.

Если a уже является массивом, два подхода по сути одинаковы. В любом случае transpose является недорогой операцией, просто меняя атрибуты shape и strides. Использование, которое делает ваш код более понятным (то есть читаемым для человека).

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