поведение numpy array.hape - PullRequest
       19

поведение numpy array.hape

1 голос
/ 29 сентября 2019

Для следующего:

d = np.array([[0,1,4,3,2],[10,18,4,7,5]])
print(d.shape)

Вывод:

(2, 5)

Ожидается.

Но для этого (разница в количестве элементов в отдельных строках):

d = np.array([[0,1,4,3,2],[10,18,4,7]])
print(d.shape)

Вывод:

(2,)

Как объяснить это поведение?

1 Ответ

1 голос
/ 29 сентября 2019

Краткий ответ : он анализирует его как массив из двух объектов : два списка.

Numpy используется для обработки «прямоугольных» данных. В случае, если вы передаете непрямоугольные данные, функция np.array(..) откатится при рассмотрении списка объектов .

Действительно, посмотрите на dtype массиваздесь:

>>> d
array([list([0, 1, 4, 3, 2]), list([10, 18, 4, 7])], <b>dtype=object</b>)

Это одномерный array, который содержит два элемента два списка. Эти списки являются просто объектами.

...