Функция empty_like() определена в NumPy, которую затем можно импортировать как import numpy или np. Функция Numpy empty_like(), используемая для возврата массива такой же формы и размера, как и у данного массива.
Что такое функция np.empty_like?
Функция np.empty_like() в Numpy используется для создания нового массива той же формы и типа, что и данный массив. Форма и тип данных прототипа определяют те же атрибуты возвращаемого массива. Переопределяет тип данных результата. Он переопределяет структуру памяти результата.
Синтаксис
|
1 |
numpy.empty_like(shape, order, dtype, subok ) |
Параметры
Она принимает четыре параметра, два из которых являются необязательными.
Первый параметр — это shape, представляющий количество строк.
Второй параметр — это порядок, представляющий порядок в памяти (C_contiguous или F_contiguous).
Третий параметр — это тип данных возвращаемого массива. Он необязательный и по умолчанию имеет значение с плавающей запятой.
Четвертый параметр — это параметр bool, который проверяет, должны ли мы создавать подкласс основного массива или нет.
Возвращаемое значение
Функция возвращает ndarray той же формы и размера.

Примеры программ с методом empty_like() в Python
- Напишем программу, показывающую работу функции empty_like() в Python.
См. следующий код.
|
1 2 3 4 5 |
import numpy as np data =([11, 21, 31], [41, 51, 61]) res = np.empty_like(data, dtype = int) print("\nMatrix a : \n", res) |
Выход:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Matrix a : [[ 0 8070450532519613870 3] [1152921504878529630 4389732354 844429277641968]](pythonenv) ➜ pyt python3 app.py Matrix a : [[ 0 -6917529027371110877 4384751619] [-3989008509232810629 4341794864 844429274149216]](pythonenv) ➜ pyt python3 app.py Matrix a : [[ 0 3458764514091079160 4397793283] [ 0 0 844424930131968]](pythonenv) ➜ pyt python3 app.py Matrix a : [[ 0 0 4397793283] [ 0 0 844424930131968]](pythonenv) ➜ pyt python3 app.py Matrix a : [[ 0 -6917529027371101703 -65533] [ -4319685977 5572452860762084442 844429260842912]](pythonenv) ➜ pyt python3 app.py Matrix a : [[ 0 -6917529027369495209 4397793283] [ 0 0 844424930131968]] |
Каждый раз, когда вы запускаете программу, вы получаете другой результат.
Она возвращает массив того же размера и формы.
- Теперь напишем программу, которая берет матрицу 4×4, а затем применяет функцию empty_like().
См. следующий код.
|
1 2 3 4 5 6 7 8 |
import numpy as np arr = np.empty_like([4, 4], dtype=int) print("\nMatrix arr : \n", arr) mArr = arr =([12, 23, 43, 33], [46, 15, 61, 1], [3, 4, 6, 7], [66, 31, 35, 73]) print("\nMatrix mArr : \n", np.empty_like(mArr)) |
Выход:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
python3 app.py Matrix arr : [0 0] Matrix mArr : [[ 0 8070450532519054664 -9223372036854775800 0] [ 4294967296 0 0 0] [ 35871566856192 5572452859464646656 0 0] [ -1 -4338070505 5572452860762084442 2251799813685248]] |
В этом примере мы можем обойти матрицу 4 × 4 и получить значения той же формы и размера, что и предоставленная матрица.
