Разница в количестве np.zeros ((1,2)) и np.zeros ((2,)) - PullRequest
0 голосов
/ 31 января 2019

Я застрял в этом вопросе.Кто-нибудь может объяснить мне разницу между этими двумя?

np.zeros ((1,2))

, что дает

[[0. 0.]]

и

np.zeros((2,))

, что дает

[0. 0.]

Ответы [ 3 ]

0 голосов
/ 31 января 2019

Для каждого элемента в главном аргументе np.zeros функция добавит новое измерение к выходному вектору.

Ваш первый код np.zeros ((1,2)) дает массив с двумя измерениями, одним элементом в первом измерении и двумя элементами во втором измерении, таким образом

[[0.]
[0.]]

Второй фрагмент кода имеет толькоодин элемент в основном аргументе, который переводится как «одно измерение, два элемента в этом измерении».Таким образом, вывод на ваш np.zeros((2,)) будет таким же, как и для np.zeros(2):

array([0., 0.])

Вы можете попробовать с третьим измерением, чтобы увидеть его дальше:

np.zeros((1,2,1))
array([[[0.],
        [0.]]])

Короче говоря, каждая квадратная скобка добавляет новое измерение на основе элементов в первом аргументе функции np.zeros.

0 голосов
/ 31 января 2019

Вот как я об этом думаю.

Этот ответ полезно указать, что «строки» и «столбцы» не являются точными параллелями для массивов NumPy, которые могут иметь n измерений.Скорее каждое измерение или ось представляется числом (размер, количество элементов в нем) и в примечании дополнительной парой квадратных скобок.

Итак, одномерный массив размером 5 - это не строка или столбец, а одномерный массив.Когда вы инициализируете np.zeros ((1,2)), ваше первое измерение имеет размер 1, а второе - 2, поэтому вы получаете матрицу 1 x 2 с двумя парами скобок.Когда вы звоните np.zeros((2,)), это просто одно измерение второго размера, поэтому вы получаете array([0., 0.]).Я также нахожу это запутанным - надеюсь, это имеет смысл!

0 голосов
/ 31 января 2019

В первом элементы будут проиндексированы как [0][0] и [0][1], а во втором элементы будут проиндексированы как [0] и [1].

Форма (1,2) означает два измерения, где первые измерения имеют только один индекс, т.е. это матрица с одной строкой.

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