Функция 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.]

Нули NumPy в Python

Содержание

Синтаксис

Синтаксис:

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.]

Случай 1: 1D-массив из numpy.zeros без dtype и порядка

Случай 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.]]

Случай 2: 2D-массив без dtype и порядка

Случай 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]]

Случай 3: с параметром int dtype

Случай 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]]

Случай 4: параметр dtype

Случай 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.]]

Случай 5: с order=C

Случай 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.]]

Случай 6: с порядком = F

Функция 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 

Примечание. Функция 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.]]

numpy zeros_like в Python

Таким образом, мы копируем тип массива и создаем массив той же размерности, содержащий только нули, с помощью функции np.zeros_like в Python.

Добавить комментарий