Почему numpy .resize () имеет базовый объект, который не является исходным объектом? - PullRequest
0 голосов
/ 07 августа 2020

Я недавно перешел с np.ndarray.resize() на np.resize(). Меня беспокоит то, что при использовании последнего в результирующем массиве есть базовый объект, который я не могу объяснить. Может кто-нибудь объяснить мне это?

Обратите внимание, что я понимаю различия из-за ссылок и refcheck. В коде нет ссылок на объект, кроме a; Я переключился на np.resize(), чтобы PyCharm / i Python не жаловался, поскольку они содержат дополнительные ссылки.

Первое:

>>> a = np.arange(5)
>>> a.resize(10)
>>> a.base is None
True

Второе:

>>> a = np.arange(5)
>>> b = a
>>> a = np.resize(a, 10)
>>> a.base
array([0, 1, 2, 3, 4, 0, 1, 2, 3, 4])
>>> a.base is a, a.base is b
(False, False)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...