# NumPy full: Создание массивов с заданным значением

Массивы NumPy являются важной частью большинства рабочих процессов анализа данных и науки о данных в Python. Поэтому умение генерировать массивы является важным навыком. В этом уроке **вы узнаете, как использовать функцию NumPy full() для генерации массивов, заполненных заданным значением**. Эта функция похожа на функции NumPy zeroes() и NumPy ones(), однако она генерирует массивы различной формы, заполненные заданным числом.

К концу этого урока вы научитесь:

* Как работает функция NumPy full()
* Как генерировать одномерные и двумерные массивы, заполненные числами
* Как установить тип данных при создании массивов с помощью NumPy full()

Содержание

* [Понимание функции NumPy full()](#ponimanie-funkcii-numpy-full)
* [Создайте одномерный массив NumPy, заполненный одним и тем же числом](#sozdaite-odnomernyi-massiv-numpy-zapolnennyi-odnim-i-tem-zhe-chislom)
* [Создайте двумерный массив NumPy, заполненный одним и тем же числом](#sozdaite-dvumernyi-massiv-numpy-zapolnennyi-odnim-i-tem-zhe-chislom)
* [Измените тип данных при создании массивов NumPy с помощью full()](#izmenite-tip-dannykh-pri-sozdanii-massivov-numpy-s-pomoshyu-full)
* [Заключение](#zaklyuchenie)
* [Дополнительные ресурсы](#dopolnitelnye-resursy)

### Понимание функции NumPy full()

**What is the NumPy full() function?**

Функция full() в NumPy используется для создания массивов, заполненных заданным числом. Эта функция может создавать одномерные и двумерные массивы указанного типа данных.

Перед тем, как погрузиться в использование функции `full()` NumPy, давайте изучим, как эта функция устроена. Это позволит вам лучше понять параметры и аргументы по умолчанию функции. Знание этого готовит вас к пониманию того, как настроить вывод результирующей функции.

```python
# Понимание функции np.full() из библиотеки NumPy
import numpy as np

arr = np.full(shape, fill_value, dtype=None, order='C')
```

Функция `np.full()` создает новый массив заданной формы (`shape`) и заполняет его значениями `fill_value`.

Мы видим, что функция имеет четыре разных параметра, два из которых имеют аргументы по умолчанию. В таблице ниже эти аргументы подробно разобраны:

| Параметр      | Описание                                                                                                     | Аргумент по умолчанию | Принятые значения       |
| ------------- | ------------------------------------------------------------------------------------------------------------ | --------------------- | ----------------------- |
| `shape=`      | Форма нового массива.                                                                                        | N/A                   | int or sequence of ints |
| `fill_value=` | Используемое значение заполнения.                                                                            | N/A                   | scalar or array-like    |
| `dtype=`      | Тип данных для массива. Если указано None, тип данных будет соответствовать переданному значению заполнения. | `None`                | data type               |
| `order=`      | Хранить ли многомерные данные в порядке C-для Фортрана.                                                      | `'C'`                 | ‘C’ or ‘F’              |

Теперь, когда у вас есть твердое понимание функции, давайте углубимся в то, как мы можем использовать функцию для генерации массивов.

### Создайте одномерный массив NumPy, заполненный одним и тем же числом

NumPy позволяет легко создавать одномерные массивы, заполненные заданным значением. Для этого достаточно передать единственное целое число в параметр `shape=`. Это позволяет указать длину результирующего массива. Передав второе значение в функцию, можно указать значение, которым вы хотите заполнить массив.

Давайте создадим массив из пяти значений, содержащий значение 3:

```python
# Генерация одномерных массивов с помощью np.full()
import numpy as np

arr = np.full(shape=5, fill_value=3)
print(arr)

# Returns: [3 3 3 3 3]
```

Этот код создает одномерный массив размером 5, заполненный значением 3 с помощью функции `np.full()`.

В приведенном выше блоке кода мы передаем значения 5 и 3 в функцию `full()`. Поскольку параметры `shape=` и `fill_value=` являются первым и вторым значениями по позициям, мы можем избежать использования их ключевых слов.

### Создайте двумерный массив NumPy, заполненный одним и тем же числом

Чтобы создать двумерный массив в NumPy, заполненный заданным значением, можно передать кортеж значений в параметр shape. Это позволяет задать размеры результирующего массива. Давайте посмотрим, как мы можем создать массив размером 3 на 3, содержащий значение 3.

```python
# Генерация двумерных массивов с помощью np.full()
import numpy as np

arr = np.full(shape=(3, 3), fill_value=3)
print(arr)

# Returns: 
# [[3 3 3]
#  [3 3 3]
#  [3 3 3]]
```

Этот код создает двумерный массив размером 3x3, заполненный значением 3 с помощью функции `np.full()`.

Давайте разберем то, что мы сделали выше:

1. Мы передали `(3, 3)`, чтобы указать, что нам нужен массив размером 3 на 3.
2. Мы также передали значение для заполнения, равное 3, чтобы заполнить массив значением 3.

В следующем разделе вы узнаете, как указывать тип данных при создании массивов NumPy.

### Измените тип данных при создании массивов NumPy с помощью full()

По умолчанию функция `full()` в NumPy будет использовать тип данных значения заполнения, которое было передано. Это означает, что в предыдущих примерах тип данных значения был целым числом. Тем не менее, мы можем указать тип данных элементов в массиве, используя параметр `dtype=`. Давайте посмотрим, как мы можем воссоздать массив из вышеупомянутого примера, используя значения с плавающей точкой.

```python
# Изменение типа данных массивов, сгенерированных с помощью np.full()
import numpy as np

arr = np.full(shape=(3, 3), fill_value=3, dtype='float')
print(arr)

# Returns: 
# [[3. 3. 3.]
#  [3. 3. 3.]
#  [3. 3. 3.]]
```

Этот код создает двумерный массив размером 3x3, заполненный значением 3, и изменяет его тип данных на `float` с помощью параметра `dtype` функции `np.full()`.

Путем передачи `'float'` в качестве третьего аргумента, мы можем указать тип данных результирующего массива как вещественные числа. Это несмотря на то, что в качестве аргумента значения заполнения передается целое число.

### Заключение

В этом уроке вы научились создавать массивы NumPy с заданным значением заполнения с помощью функции `np.full()`. Сначала вы узнали, как разработана функция, изучив параметры и аргументы по умолчанию функции. Затем вы научились создавать одномерные и двумерные массивы с заданным значением заполнения. Наконец, вы научились указывать тип данных результирующего массива.

### Дополнительные ресурсы

Чтобы узнать больше о смежных темах, ознакомьтесь с ниже приведенными учебными пособиями:

* [NumPy для науки о данных в Python](numpy-dlya-data-science-na-python)
* [NumPy arange(): полное руководство (с примерами)](numpy-arange-polnoe-rukovodstvo-s-primerami)
* [Пространство журналов NumPy: понимание функции np.logspace()](numpy-logspace-ponimanie-funkcii-np.logspace)
* [NumPy linspace: создание равномерно расположенных массивов с помощью np.linspace](numpy-linspace-sozdanie-ravnomerno-raspolozhennykh-massivov-s-pomoshyu-np.linspace)
* [NumPy full(): официальная документация](https://numpy.org/doc/stable/reference/generated/numpy.full.html)
