Создание массивов в NumPy
Помимо использования базового конструктора ndarray, массивы ndarray также можно создавать следующими способами.
numpy.empty
Метод numpy.empty используется для создания неинициализированного массива с указанной формой и типом данных (dtype):
numpy.empty(shape, dtype = float, order = 'C')
Описание параметра:
| Параметр | Описание |
|---|---|
| shape | Форма массива |
| dtype | Тип данных, необязательно |
| order | Есть два варианта, "C" и "F", которые обозначают соответственно построчный и постолбцовый порядок хранения элементов в памяти компьютера. |
Ниже приведён пример создания пустого массива:
Пример
Результат вывода:
[[ 6917529027641081856 5764616291768666155] [ 6917529027641081859 -5764598754299804209] [ 4497473538 844429428932120]]
Примечание− Элементы массива являются случайными значениями, потому что они не инициализированы.
numpy.zeros
Создайте массив указанного размера, элементы которого заполнены 0:
numpy.zeros(shape, dtype = float, order = 'C')
Описание параметра:
| Параметр | Описание |
|---|---|
| shape | Форма массива |
| dtype | Тип данных, необязательно |
| order | 'C' для массивов в стиле C с построчным порядком, или 'F' для массивов в стиле FORTRAN с постолбцовым порядком |
Пример
Результат вывода:
[0. 0. 0. 0. 0.] [0 0 0 0 0] [[(0, 0) (0, 0)] [(0, 0) (0, 0)]]
numpy.ones
Создать массив заданной формы, все элементы которого заполнены 1:
numpy.ones(shape, dtype = None, order = 'C')
Описание параметра:
| Параметр | Описание |
|---|---|
| shape | Форма массива |
| dtype | Тип данных, необязательно |
| order | 'C' для массивов в стиле C с построчным порядком, или 'F' для массивов в стиле FORTRAN с постолбцовым порядком |
Пример
Результат вывода:
[1. 1. 1. 1. 1.] [[1 1] [1 1]]
numpy.zeros_like
numpy.zeros_like используется для создания массива с той же формой, что и заданный массив, элементы которого заполнены 0.
И numpy.zeros, и numpy.zeros_like используются для создания массива заданной формы, в котором все элементы равны 0.
Разница между ними в том, что numpy.zeros может напрямую задавать форму создаваемого массива, тогда как numpy.zeros_like создаёт массив той же формы, что и заданный массив.
numpy.zeros_like(a, dtype=None, order='K', subok=True, shape=None)
Описание параметра:
| Параметр | Описание |
|---|---|
| a | Заданный массив, форму которого нужно повторить |
| dtype | Тип данных создаваемого массива |
| order | Порядок хранения массива в памяти. Возможные значения — 'C' (по строкам) или 'F' (по столбцам), по умолчанию — 'K' (сохраняет порядок хранения входного массива) |
| subok | Разрешено ли возвращать подклассы. Если True, возвращается объект подкласса; в противном случае возвращается массив с тем же типом данных и порядком хранения, что и массив a |
| shape | Форма создаваемого массива. Если не указана, по умолчанию используется форма массива a. |
Создайте массив той же формы, что и arr, со всеми элементами, равными 0:
Пример
Результат вывода:
[[0 0 0] [0 0 0] [0 0 0]]
numpy.ones_like
numpy.ones_like используется для создания массива той же формы, что и заданный массив, с элементами массива, заполненными 1.
И numpy.ones, и numpy.ones_like используются для создания массива заданной формы, в котором все элементы равны 1.
Разница между ними состоит в том, что numpy.ones может напрямую задавать форму создаваемого массива, тогда как numpy.ones_like создаёт массив той же формы, что и заданный массив.
numpy.ones_like(a, dtype=None, order='K', subok=True, shape=None)
Описание параметра:
| Параметр | Описание |
|---|---|
| a | Заданный массив, форму которого нужно повторить |
| dtype | Тип данных создаваемого массива |
| order | Порядок хранения массива в памяти. Возможные значения — 'C' (по строкам) или 'F' (по столбцам), по умолчанию — 'K' (сохраняет порядок хранения входного массива) |
| subok | Разрешено ли возвращать подклассы. Если True, возвращается объект подкласса; в противном случае возвращается массив с тем же типом данных и порядком хранения, что и массив a |
| shape | Форма создаваемого массива. Если не указана, по умолчанию используется форма массива a. |
Создать массив той же формы, что и arr, все элементы которого равны 1:
Пример
Результат вывода:
[[1 1 1] [1 1 1] [1 1 1]]Другие расширения