Функция numpy.zeros() в Python эффективно создает массивы, заполненные нулевыми значениями, которые могут иметь различные размеры, включая 1D, 2D или выше. А np.zeros_like() — это функция в NumPy, которая возвращает новый массив той же формы и типа, что и заданный массив, заполненный нулями.
Функция numpy.zeros() — это встроенная процедура NumPy Python, которая генерирует новый массив указанного размера, заполненный нулями.
Это особенно полезно в ситуациях, когда нам нужно инициализировать массив в Python со значением по умолчанию, равным нулю, прежде чем заполнять его более значимыми данными.
Нули служат заполнителем, гарантируя, что массив NumPy в Python имеет правильный размер и форму для последующих операций.
Пример: давайте посмотрим на один массив, созданный с помощью функции np.zeros() в Python.
import numpy as np example_array = np.zeros(5) print(example_array)
Вывод:
[0. 0. 0. 0. 0.]
- Синтаксис
- Обязательные параметры
- Возвращаемое значение
- Случай 1: 1D-массив из numpy.zeros без dtype и порядка
- Случай 2: 2D-массив без dtype и порядка
- Случай 3: с параметром int dtype
- Случай 4: параметр dtype
- Случай 5: с order=C
- Случай 6: с порядком = F
- Функция np.zeros_like
Синтаксис
Синтаксис:
numpy.zeros(shape, dtype=float, order='C')
Обязательные параметры
Параметры, необходимые для нулей NumPy в Python:
Имя | Описание |
---|---|
shape | Параметр формы — это одно целое число или кортеж целых чисел, которые определяют размеры нового массива в Python. Например, shape=3 создаст одномерный массив с тремя элементами, а shape=(3, 4) создаст двумерный массив 3×4. |
dtype | Параметр типа данных dtype является необязательным и указывает желаемый тип данных для элементов массива в Python. Тип данных по умолчанию — float, но его можно изменить на другие типы, такие как int, complex, bool и т. д. |
order | Параметр порядка также является необязательным и может иметь значение «C» для массива со строками в стиле C или «F» для массива со столбцами в стиле Фортрана в Python. По умолчанию — «С». |
Возвращаемое значение
Функция numpy.zeros() в Python возвращает массив, заполненный нулями.
Форма массива определяется аргументом shape, который может быть целым числом для одномерного массива или кортежем для многомерного массива в Python.
Аргумент dtype указывает тип данных элементов массива, значением по умолчанию является float64.
Давайте посмотрим некоторые примеры, где условия различаются по параметрам.
Случай 1: 1D-массив из numpy.zeros без dtype и порядка
Здесь нам нужно создать массив NumPy 1D в Python, но с параметрами dtype и order по умолчанию.
import numpy as np array_1d = np.zeros(5) print(array_1d)
Вывод:
[0. 0. 0. 0. 0.]
Случай 2: 2D-массив без dtype и порядка
Например, нам нужно создать 2D-массив NumPy в Python с помощью функции np.zeros().
import numpy as np array_2d = np.zeros((3, 4)) print(array_2d)
Вывод:
[[0. 0. 0. 0.] [0. 0. 0. 0.] [0. 0. 0. 0.]]
Случай 3: с параметром int dtype
Например, давайте создадим в Python массив целых чисел, содержащий только нули.
import numpy as np arr_int = np.zeros((2, 3), dtype=int) print("Integer Array:\n", arr_int)
Вывод:
Integer Array: [[0 0 0] [0 0 0]]
Случай 4: параметр dtype
Например, создайте массив, состоящий только из нулей в комплексной форме, с помощью нулей NumPy в Python.
import numpy as np arr_complex = np.zeros((2, 3), dtype=complex) print("Complex Array:\n", arr_complex)
Вывод:
Complex Array: [[0.+0.j 0.+0.j 0.+0.j] [0.+0.j 0.+0.j 0.+0.j]]
Случай 5: с order=C
Рассмотрим ситуацию, когда нам нужно создать массив строк в стиле C в Python с помощью функции NumPy Zeros().
import numpy as np array_c = np.zeros((2, 3), order='C') print("Row-major(C-style) array:\n", array_c)
Вывод:
Row-major(C-style) array: [[0. 0. 0.] [0. 0. 0.]]
Случай 6: с порядком = F
Здесь нам нужно создать массив по столбцам в стиле Фортрана в Python, используя функцию numpy.zeros().
import numpy as np array_f = np.zeros((2, 3), order='F') print("Column-major(Fortran-style) array:\n", array_f)
Выход:
Column-major(Fortran-style) array: [[0. 0. 0.] [0. 0. 0.]]
Функция np.zeros_like
np.zeros_like() — это функция в NumPy Python, которая возвращает новый массив той же формы и типа, что и заданный массив, заполненный нулями.
Это особенно полезно, когда мы хотим создать массив нулей с точными размерами другого массива NumPy в Python без необходимости вручную указывать размер.
Вот базовый пример использования:
import numpy as np existing_array = np.array([[1, 2, 3], [4, 5, 6]]) zeros_array = np.zeros_like(existing_array) print(zeros_array)
Вывод: Zeros_array будет иметь ту же форму, что и существующий_массив, но все его элементы будут инициализированы значением 0.
[[0 0 0] [0 0 0]]
Примечание. Функция np.zeros_like() в Python также принимает дополнительные параметры, такие как dtype и order.
Например, если мы хотим создать массив нулей с плавающей запятой, используя форму существующего целочисленного массива через Python:
import numpy as np existing_array = np.array([[1, 2, 3], [4, 5, 6]], dtype=int) zeros_array_float = np.zeros_like(existing_array, dtype=float) print(zeros_array_float)
Вывод: в этом случае, Zeros_array_float имеет ту же форму, что и существующий_массив, но имеет тип float.
[[0. 0. 0.] [0. 0. 0.]]
Таким образом, мы копируем тип массива и создаем массив той же размерности, содержащий только нули, с помощью функции np.zeros_like в Python.