numpy.empty_like

numpy.empty_like(a, dtype=None, order='K', subok=True)

Функция empty_like() возвращает новый массив без инициированных записей с формой и типом данных указанного массива a.

Параметры:
a- существующий массив
Форма и тип данных массива a определяет форму и тип данных возвращаемого массива
dtype - тип данных NumPy (необязательный)
Определяет тип данных выходного массива.
order - 'C', 'F', 'A' или 'K' (необязательный)
Этот параметр определяет в каком порядке массивы должны храниться в памяти: строчном C-стиле или столбчатом стиле Fortran. Флаг 'A' установит макет памяти выходного массива в 'F' если массив a является смежным со столбчатым стилем Fortran, в противном случае макет памяти будет установлен в 'C'. Флаг 'K', используемый по умолчанию, устанавливает макет памяти выходного массива аналогичный массиву a.
subok- True или False (необязательный)
Если параметр установлен в значение True (установлено по умодчанию), то выходной массив будет использовать тип подкласса массива a, если False то тип массива базового класса.
Возвращает:
результат - массив NumPy
Массив неициированных (случайных) значений с формой и типом данных указанного массива a.
Смотрите так же: empty, zeros, ones, zeros_like, ones_like

Замечание

Функция empty_like (так же как и функция empty) не устанавливает элементы массива в какое-то определенное значение и работает немного быстрее чем такие функции как zeros_like или ones_like. В результате работы функции empty_like все элементы приобретают случайное значение, которое зависит от состояния памяти, однако, использовать эту функцию в качестве генератора псевдослучайных чисел настоятельно не рекомендуется.



Примеры

>>> a = np.array([[1,2],[2,1]])
>>> 
>>> b = np.empty_like(a)
>>> b
array([[0, 0],
       [0, 0]])
>>> 
>>> #  Размер и тип данных массивов 'a' и 'b' совпадают:
... b.shape == a.shape, b.dtype == a.dtype
(True, True)
>>>
>>> a = np.array([[1,2,3,4],[5,6,7,8]], dtype = np.int8)
>>> 
>>> b = np.empty_like(a)
>>> b
array([[   0,    0,    0,    0],
       [-118, -114,  -23,   62]], dtype=int8)
>>> 
>>> b.shape == a.shape, b.dtype == a.dtype
(True, True)