Python. Библиотека NumPy.

NumPy — это библиотека с открытым исходным кодом. предназначенная для обработки многомерных массивов и матриц ,больших размеров. Также в библиотеке содержится большое количество очень эффективных математических функций для работы с данными вроде методов линейной алгебры. Пакет содержит набор функций написан на языках С и Fortran.

Cоздание многомерного массива.

Итак, приступим. Импортируем библиотеку NumPy:

numpy

Центральным элементом в библиотеке является однородный(состоящий из элементов одного типа) многомерный массив, представленный классом ndarray. Давайте создадим массив, состоящий из двух измерений (или по-другому осей). К слову количество измерений называется рангом массива.

numpy_1

Новый массив NumPy создается при помощи функции array(), которая в качестве параметра принимает любую последовательность элементов.

Свойства массива.

Ниже перечислены основные свойства класса ndarray:

ndarray.ndim — число измерений массива. В нашем примере их должно быть ровно 2:

numpy_2

ndarray.shape — кортеж из чисел, содержащий размеры массива — в нашем случае это 2 строки и 3 столбца:

numpy_3

ndarray.size — общее количество из всех элементов массива.

numpy_4

ndarray.dtype — данный объект описывает тип хранимых данных в массиве. Это могут быть не только стандартные типы(как, например, числовой тип в нашем случае), но и какие-то другие, сложные типы, определенные пользователем.

numpy_5

При создании объекта можно явно указать и другой тип:

numpy_7

ndarray.itemsize — размер одного элемента массива, указанный в байтах. Давайте посчитаем, сколько памяти занимают все элементы нашего многомерного массива:

numpy_6

Инициализация значениями по умолчанию.

При создании массива можно и не указывать его значения. Допустим, мы знаем, какого размера массив нам понадобится, но заполнять его пока не нужно. Поэтому можно просто создать его и инициализировать нулями или единицами. Для этого в NumPy существуют две говорящие сами за себя функции zeros() и ones().

numpy_8

А теперь инициализируем все единицами:

numpy_9

Но это еще не все. Как вам возможность создания единичной матрицы?

numpy_10

Функция в качестве параметра принимает количество единиц, которое должно находиться на главной диагонали.

Также можно создать многомерный массив, инициализированный случайными «мусорными» значениями. Для этого предусмотрена функция empty().

Математические функции.

В NumPy предусмотрен богатый набор для вычисления стандартных математических функций. Создадим массив при помощи функции arange(), которая также предусмотрена в NumPy и в своем простом варианте создает массив, состоящий из n элементов — от 0 до n — 1:

numpy_11

Теперь поочередно будем применять различные математические функции. Каждая функция будет применена поочередно к каждому элементу многомерного массива. Данные функции также иногда называют универсальными или u-функциями.

sin(x):

numpy_12

cos(x):

numpy_13

abs(x):

numpy_14

sign(x) или сигмоида:

numpy_15

Агрегационные функции.

Также при помощи NumPy для начала сгенерируем массив размера 4×4 из нормального распределения:

numpy_16

Теперь по очереди применим к нему несколько агрегационных функций:

numpy_17

sum() — подсчитывает сумму всех элементов в массиве.

numpy_18

mean() — находим среднее арифметическое.

numpy_19

std() — возвращает значение стандартного отклонения.

numpy_20

var() — возвращает значение дисперсии (разброса) элементов массива.

На этом наше знакомство с NumPy подошло к концу. Успехов в программировании!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *