Функция empty_like
Функция empty_like создает новый массив с той же формой и типом данных, что и у переданного массива-образца, но не инициализирует его элементы. Это означает, что содержимое нового массива может быть любым (обычно это мусорные значения из памяти), поэтому перед использованием такой массив следует заполнить. Первым параметром функция принимает массив-образец, по которому определяются форма и тип данных. Вторым параметром можно явно указать желаемый тип данных элементов.
Синтаксис
np.empty_like(prototype, [dtype])
Пример
Давайте создадим неинициализированный массив на основе одномерного массива из целых чисел:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
res = np.empty_like(arr)
print(res)
Результат выполнения кода:
[0 0 0 0 0]
Обратите внимание: фактические значения могут отличаться, так как массив не инициализируется. В примере выше вывелись нули, но это не гарантируется.
Пример
Создадим неинициализированный массив на основе двумерного массива с явным указанием типа данных:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
res = np.empty_like(arr, dtype=np.float64)
print(res)
Результат выполнения кода:
[[1. 2. 3.]
[4. 5. 6.]]
Массив создан с типом данных float64, но его элементы не инициализированы. При выводе на экран могут отображаться предыдущие значения из памяти.
Пример
Создадим неинициализированный массив на основе массива строк:
import numpy as np
arr = np.array(['a', 'b', 'c', 'd', 'e'])
res = np.empty_like(arr)
print(res)
Результат выполнения кода:
['' '' '' '' '']
Пример
Продемонстрируем, что форма и тип данных нового массива совпадают с образцом:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]], dtype=np.int32)
res = np.empty_like(arr)
print("Shape:", res.shape)
print("Dtype:", res.dtype)
Результат выполнения кода:
Shape: (2, 3)
Dtype: int32
Смотрите также
-
функцию
empty,
которая создает неинициализированный массив заданной формы -
функцию
zeros_like,
которая создает массив, заполненный нулями, на основе образца -
функцию
ones_like,
которая создает массив, заполненный единицами, на основе образца -
функцию
full_like,
которая создает массив с заданным значением на основе образца