NumPy — это библиотека языка Python, которая добавляет поддержку больших многомерных массивов и матриц, а также высокоуровневых (и очень быстро выполняющихся) математических функций для операций с этими массивами. У данной библиотеки есть несколько важных особенностей, которые сделали ее популярным инструментом. Во-первых, исходный ее код в свободном доступе хранится на GitHub, поэтому NumPy называют open-source модулем для Python. Во-вторых, NumPy написана на языках C и Fortran. Данные языки являются компилируемыми (языки программирования, текст которых преобразуется в машинный код — набор инструкций для конкретного типа процессора. Преобразование происходит с помощью специальной программы-компилятора, благодаря нему вычисления на компилируемых языках происходят быстрее), на которых вычисления производятся гораздо быстрее и эффективнее, чем на интерпретируемых языках (языки программирования, которые не ориентированы под конкретный тип процессора и могут быть запущены на разных платформах). К данной категории языков также относится язык Python.
Особенности создания массивов NumPy: несколько практических примеров
В библиотеке NumPy существует множество способов создать массив. Один из наиболее простых (и самых популярных) — это создание массива из обычных списков или кортежей с помощью функции numpy.array()
:
import numpy as np a = np.array([10, 15, 20]) a #array([10, 15, 20])
Данная функция также трансформирует вложенные последовательности в многомерные массивы. Это зависит от того, сколько последовательностей было вложено:
b = np.array([[1.5, 2, 3], [4, 5, 6]]) b # array([[1.5, 2. , 3. ], [4. , 5. , 6. ]])
Можно также создавать массивы в NumPy другими способами. Например, можно создать массив состоящий из одних нулей (с помощью функции zeros()
) или из одних единиц (с помощью функции ones()
). В обоих случаях в качестве аргументов передается кортеж с размерами:
b = np.zeros((3, 5)) b # array([[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]]) c = np.ones((2, 2)) c # array([[1., 1.], [1., 1.]])
Можно также создать единичную матрицу (двумерный массив) с помощью функции eye()
:
d = np.eye(5) d # array([[1., 0., 0., 0., 0.], [0., 1., 0., 0., 0.], [0., 0., 1., 0., 0.], [0., 0., 0., 1., 0.], [0., 0., 0., 0., 1.]])
Функция empty()
создает массив, не заполняя его конкретными значениями. Исходное содержимое случайно и зависит от состояния памяти на момент создания массива (то есть от того мусора, что в ней хранится):
d = np.empty((3, 3)) d # array([[0.000e+000, 0.000e+000, 0.000e+000], [0.000e+000, 0.000e+000, 8.537e-321], [0.000e+000, 0.000e+000, 0.000e+000]])
Функция linspace()
также позволяет создать массив. В качестве аргументов она принимает диапазон чисел и их количество:
a = np.linspace(0, 3, 9) a # array([0. , 0.375, 0.75 , 1.125, 1.5 , 1.875, 2.25 , 2.625, 3. ])
Таким образом, благодаря обширным возможностям библиотеки NumPy, в Python существует весьма удобная возможность работы с массивами. Это делает Python универсальным и надежным средством для работы с производительными приложениями, а также с Big Data обработкой.
Computer vision на Python
Код курса
VISI
Ближайшая дата курса
18 ноября, 2024
Продолжительность
40 ак.часов
Стоимость обучения
90 000 руб.
Освоить Python на профессиональном уровне в разработчика различных приложений и прочих прикладных областях Data Science вы сможете на практических курсах по Python в нашем лицензированном учебном центре обучения и повышения квалификации ИТ-специалистов в Москве:
- DPREP: Подготовка данных для Data Mining на Python
- Разработка и внедрение ML-решений
- Графовые алгоритмы. Бизнес-приложения
- Нейронные сети на Python
- NLP с Python
Источники