numpy массив, создающий массив списков - PullRequest
1 голос
/ 27 марта 2020

Я пытаюсь следовать видеоуроку numpy, и массив создается в видео следующим образом

a = np.array([[1,2,3,4,5,6,7],[9,10,11,12,13,14]])

, когда я делаю это, я получаю вывод

[list([1, 2, 3, 4, 5, 6, 7]) list([9, 10, 11, 12, 13, 14])]

в видео вывод не выглядит так, и я не могу найти разницу в нашем коде. Вывод в видео выглядит как обычный массив 2D numpy с 7 столбцами и 2 строками.

также, когда я делаю a.shape (), я получаю массив (2,), который не является 2 массивом 7, что у него есть в видео. Я пробовал np.asarray () и различные комбинации скобок и скобок, я просто запутался, потому что мой код точно такой же, как видео. Видео менее года, так что я предполагаю, что ничего не изменилось с пакетом? Любая помощь приветствуется, я надеюсь превратить это в опыт обучения тому, как самостоятельно решать подобные проблемы в будущем. Спасибо.

Ответы [ 2 ]

1 голос
/ 27 марта 2020

Ваш второй список содержит только 6 элементов, поэтому numpy не может проанализировать его как двумерный массив; вместо этого он анализирует его как одномерный массив типа object, и эти объекты являются списками

a = np.array([[1, 2, 3, 4, 5, 6, 7],[9, 10, 11, 12, 13, 14, 15]])

отлично работает

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

Ваш код в видео не был

a = np.array([[1,2,3,4,5,6,7],[8,9,10,11,12,13,14]])

, который работает, как ожидалось. Обратите внимание на 8 в начале второго списка, это отсутствовало в вашем коде, что означало, что эти два списка имели разные размеры, поэтому numpy не может сделать массив float из него.

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