Часто в numpy встречается применение метода reshape(-1)
. Давайте разберемся, что означает -1
в этом случае.
Рассмотрим типичный пример. Есть двумерный массив, который нужно преобразовать в одномерный массив.
import numpy as np a = np.array([[1, 2, 3], [4, 5, 6]]) print(a)
Вывод будет такой:
[[1 2 3]
[4 5 6]]
Теперь применим метод reshape(-1)
:
b = a.reshape(-1) print(b)
И получим следующий вывод:
[1 2 3 4 5 6]
В этом примере двумерный массив преобразован в одномерный.
Так что же означает -1
в этом контексте?
В методе reshape()
в numpy, -1
означает, что размерность этой оси определяется автоматически. То есть, numpy сам рассчитает количество элементов этой оси, исходя из размера оставшихся осей и общего количества элементов в исходном массиве.
В примере выше, когда мы вызываем reshape(-1)
, мы говорим numpy «сделай массив одномерным, независимо от его исходной формы».
Таким образом, -1
в reshape()
используется для автоматического вычисления размера одной из осей массива. Это удобно, когда точная форма исходного массива заранее неизвестна, но требуется привести его к определенной форме.
Добавить комментарий