Почему размерность numpy массива np.array ([(1,2,3,2,3,4)]) равна 2? - PullRequest
1 голос
/ 23 мая 2019
a = np.array([(1,2,3,2,3,4)])
print(a.ndim)

Почему упомянутый массив является 2-мерным, а не 1?

1 Ответ

3 голосов
/ 23 мая 2019

Это потому, что вы передали список, содержащий кортеж, поэтому он становится 2-мерным, если вы удалите список [], тогда он отобразит ndim как 1:

In[29]:
a = np.array((1,2,3,2,3,4))
a.ndim
Out[29]: 1

То, что вы сделали, не былоотличается от:

In[30]:
a = np.array([[1,2,3,2,3,4]])
a.ndim
Out[20]: 2

Когда мы передаем список, содержащий список

Когда numpy вызывает метод __array__ для переданного вами параметра, переданный аргумент возвращает вложенную последовательность, а не1-D массив: https://docs.scipy.org/doc/numpy/reference/generated/numpy.array.html

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