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_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)