100 (на самом деле, пока меньше) задач для NumPy, перевод английского варианта https://github.com/rougier/numpy-100
Импортировать NumPy под именем np
Напечатать версию и конфигурацию
Создать вектор (одномерный массив) размера 10, заполненный нулями
Создать вектор размера 10, заполненный единицами
Создать вектор размера 10, заполненный числом 2.5
Как получить документацию о функции numpy.add из командной строки?
Создать вектор размера 10, заполненный нулями, но пятый элемент равен 1
Создать вектор со значениями от 10 до 49
Развернуть вектор (первый становится последним)
Создать матрицу (двумерный массив) 3×3 со значениями от 0 до 8
Найти индексы ненулевых элементов в [1,2,0,0,4,0]
Создать 3×3 единичную матрицу
Создать массив 3x3x3 со случайными значениями
Создать массив 10×10 со случайными значениями, найти минимум и максимум
Создать случайный вектор размера 30 и найти среднее значение всех элементов
Создать матрицу с 0 внутри, и 1 на границах
Выяснить результат следующих выражений
Создать 5×5 матрицу с 1,2,3,4 под диагональю
Создать 8×8 матрицу и заполнить её в шахматном порядке
Дан массив размерности (6,7,8). Каков индекс (x,y,z) сотого элемента?
Создать 8×8 матрицу и заполнить её в шахматном порядке, используя функцию tile
Перемножить матрицы 5×3 и 3×2
Дан массив, поменять знак у элементов, значения которых между 3 и 8
Создать 5×5 матрицу со значениями в строках от 0 до 4
Есть генератор, сделать с его помощью массив
Создать вектор размера 10 со значениями от 0 до 1, не включая ни то, ни другое
Проверить, одинаковы ли 2 numpy массива
Сделать массив неизменяемым
Дан массив 10×2 (точки в декартовой системе координат), преобразовать в полярную
Заменить максимальный элемент на ноль
Создать структурированный массив с координатами x, y на сетке в квадрате [0,1]x[0,1]
Из двух массивов сделать матрицу Коши C (Cij = 1/(xi — yj))
Найти минимальное и максимальное значение, принимаемое каждым числовым типом numpy
Напечатать все значения в массиве
Найти ближайшее к заданному значению число в заданном массиве
Создать структурированный массив, представляющий координату (x,y) и цвет (r,g,b)
Дан массив (100,2) координат, найти расстояние от каждой точки до каждой
Преобразовать массив из float в int
Как прочитать его?
Каков эквивалент функции enumerate для numpy массивов?
Сформировать 2D массив с распределением Гаусса
Случайно расположить p элементов в 2D массив
Отнять среднее из каждой строки в матрице
Отсортировать матрицу по n-ому столбцу
Определить, есть ли в 2D массиве нулевые столбцы
Дан массив, добавить 1 к каждому элементу с индексом, заданным в другом массиве (осторожно с повторами)
Дан массив (w,h,3) (картинка) dtype=ubyte, посчитать количество различных цветов
Дан четырехмерный массив, посчитать сумму по последним двум осям
Найти диагональные элементы произведения матриц
Дан вектор [1, 2, 3, 4, 5], построить новый вектор с тремя нулями между каждым значением
Поменять 2 строки в матрице
Рассмотрим набор из 10 троек, описывающих 10 треугольников (с общими вершинами), найти множество уникальных отрезков, составляющих все треугольники
Дан массив C; создать массив A, что np.bincount(A) == C
Посчитать среднее, используя плавающее окно
Дан вектор Z, построить матрицу, первая строка которой (Z[0],Z[1],Z[2]), каждая последующая сдвинута на 1 (последняя (Z[-3],Z[-2],Z[-1]))
Инвертировать булево значение, или поменять знак у числового массива без создания нового
Рассмотрим 2 набора точек P0, P1 описания линии (2D) и точку р, как вычислить расстояние от р до каждой линии i (P0[i],P1[i])
Дан массив. Написать функцию, выделяющую часть массива фиксированного размера с центром в данном элементе (дополненное значением fill если необходимо)
Посчитать ранг матрицы
Найти наиболее частое значение в массиве
Извлечь все смежные 3×3 блоки из 10×10 матрицы
Создать подкласс симметричных 2D массивов (Z[i,j] == Z[j,i])
Рассмотрим множество матриц (n,n) и множество из p векторов (n,1). Посчитать сумму p произведений матриц (результат имеет размерность (n,1))
Дан массив 16×16, посчитать сумму по блокам 4×4
Написать игру «жизнь»
Найти n наибольших значений в массиве
Построить прямое произведение массивов (все комбинации с каждым элементом)
Даны 2 массива A (8×3) и B (2×2). Найти строки в A, которые содержат элементы из каждой строки в B, независимо от порядка элементов в B
Дана 10×3 матрица, найти строки из неравных значений (например [2,2,3])
Преобразовать вектор чисел в матрицу бинарных представлений
Дан двумерный массив. Найти все различные строки
Даны векторы A и B, написать einsum эквиваленты функций inner, outer, sum и mul
- Библиотека Numpy. Полезные инструменты
- Создание векторов и матриц
- np.arange()
- np.matrix()
- np.zeros(), np.eye()
- Работа с матрицами и векторами
- Сложение матриц
- Вычитание матриц
- Умножение матрицы на число
- Умножение матриц
- Транспонирование матриц
- … И другие полезные функции
- np.ravel()
- np.where()
- np.meshgrid()
- np.random.permutation()
- P.S.
- Работа с векторами в Python с помощью NumPy
- Что такое вектор в Python?
- Создание вектора в Python
- Базовые операции вектора Python
- Сложение двух векторов
- Вычитание
- Умножение векторов
- Операция деления двух векторов
- Векторное точечное произведение
- Векторно-скалярное умножение
- 🔥 Видео
Видео:Основы NumPy Python | Массивы, Матрицы И Операции Над НимиСкачать
Библиотека Numpy. Полезные инструменты
В статье рассмотрены некоторые полезные инструменты из библиотеки Numpy, которые довольно часто приходится использовать при решении задач в рамках машинного обучения и анализа данных.
Видео:🐍 СОЗДАНИЕ ВЕКТОРА В NUMPY || Линейная алгебра для Data Science #python #datascience #numpyСкачать
Создание векторов и матриц
Вектора и матрицы – это основные объекты, которыми приходится оперировать в машинном обучении. Numpy предоставляет довольно много удобных функций, которые строят эти объекты.
Перед тем как их использовать не забудьте импортировать Numpy в проект.
np.arange()
Функция arange() аналогична по своему назначению функции range() из стандартной библиотеки Python . Ее основное отличие заключается в том, что arange() позволяет строить вектор с указанием шага в виде десятичной дроби.
Синтаксис использования функции следующий:
arange(start, stop, step)
В первом варианте будет создан вектор из целых чисел от 0 до stop .
Второй вариант позволяет задавать интервал, в этом случае вектор также будет содержать целые числа.
Третий вариант позволяет определить интервал чисел и шаг, который может быть десятичным числом
np.matrix()
Matrix является удобным инструментом для задания матрицы. При этом можно использовать Matlab стиль, либо передать в качестве аргумента список Python (или массив Numpy ).
Вариант со списком Python .
Вариант с массивом Numpy .
Вариант в Matlab стиле.
np.zeros(), np.eye()
В арсенале Numpy есть функции для создания специальных матриц: нулевых и единичных. Нулевой называется матрица, состоящая полностью из нулей. Для ее создания удобно использовать функцию zeros() , в качестве аргумента в нее передается кортеж из двух элементов, первый из них – это количество строк, второй – столбцов.
Функция eye() создает единичную матрицу – квадратную матрицу, у которой элементы главной диагонали равны единицы, все остальные – нулю.
Видео:#11. Произведение матриц и векторов, элементы линейной алгебры | NumPy урокиСкачать
Работа с матрицами и векторами
Вектора и матрицы, построенные с помощью Numpy можно складывать, вычитать, умножать, транспонировать и умножать на число. Перечисленные операции используются в большинстве задач, более специфические функции, в рамках данной статьи, рассматриваться не будут.
Создадим две матрицы.
Сложение матриц
Вычитание матриц
Умножение матрицы на число
Умножение матриц
Транспонирование матриц
Видео:#2. Основные типы данных. Создание массивов функцией array() | NumPy урокиСкачать
… И другие полезные функции
Далее будет представлен список функций, их описание и пример использования, которые могут быть полезны, если о них знать)
np.ravel()
Функция np.ravel() используется для того, чтобы преобразовать матрицу в одномерный вектор.
Создадим двумерную матрицу размера 3х3 .
Применим функцию ravel() к этой матрице.
У ravel() есть параметр order , который отвечает за порядок построения одномерного массива, по умолчанию он равен ‘C’ , что означает – массив будет собираться из строк исходной матрицы.
Если указать order = ‘F ‘, то в качестве элементов для сборки будут выступать столбцы матрицы.
np.where()
Данная функция возвращает один из двух заданных элементов в зависимости от условия. Ее можно использовать для обработки численных данных.
В задачах машинного обучения эта функция хорошо подходит для реализации обработки данных с помощью пороговой функции.
np.meshgrid()
Функция meshgrid() позволят получить матрицу координат из координатных векторов. Если, например, у нас есть два одномерных вектора координат, то передав их в качестве аргументов в meshgrid() мы получим две матрицы, в которой элементы будут составлять пары, заполняя все пространство, определяемое этими векторами. Проще посмотреть это на примере.
Создадим два вектора
Построим матрицу координат с помощью meshgrid .
Посмотрите внимательно на матрицы xg и yg . Каждому элементу xg[i,j] соответствует свой элемент yg[i,j] . Можно визуализировать эти данные.
Для начала импортируем matplotlib (он должен быть установлен).
Последняя строка нужна, если вы работаете в Jupyter Notebook , чтобы графики рисовались “по месту”.
Теперь построим график
np.random.permutation()
Функция permutation() либо генерирует список заданной длины из натуральных чисел от нуля до указанного числа, либо перемешивает переданный ей в качестве аргумента массив.
Основное практическое применение эта функция находит в задачах машинного обучения, где довольно часто требуется перемешать выборку данных перед тем, как передавать ее в алгоритм.
Например у нас есть вектор с данными
Перемешаем эту выборку
Построим массив индексов для вектора arr , в котором позиции находятся в случайном порядке
Видео:ЧТО МЫ ДЕЛАЕМ? - МЫ СОЗДАЁМ ВЕКТОР! || Линейная алгебра для Data Science #python #datascience #numpyСкачать
P.S.
Если вам интересна тема анализа данных, то мы рекомендуем ознакомиться с библиотекой Pandas. На нашем сайте вы можете найти вводные уроки по этой теме. Все уроки по библиотеке Pandas собраны в книге “Pandas. Работа с данными”.
Библиотека Numpy. Использование boolean массива для доступа к ndarray >>>
Видео:БМЭ193. Python для анализа данных. Работа с векторами и матрицами в Numpy.Скачать
Работа с векторами в Python с помощью NumPy
В этом уроке мы узнаем, как создать вектор с помощью библиотеки Numpy в Python. Мы также рассмотрим основные операции с векторами, такие как сложение, вычитание, деление и умножение двух векторов, векторное точечное произведение и векторное скалярное произведение.
Видео:#1. Пакет numpy - установка и первое знакомство | NumPy урокиСкачать
Что такое вектор в Python?
Вектор известен как одномерный массив. Вектор в Python – это единственный одномерный массив списков, который ведет себя так же, как список Python. Согласно Google, вектор представляет направление, а также величину; особенно он определяет положение одной точки в пространстве относительно другой.
Векторы очень важны в машинном обучении, потому что у них есть величина, а также особенности направления. Давайте разберемся, как мы можем создать вектор на Python.
Видео:#3. Функции автозаполнения, создания матриц и числовых диапазонов | NumPy урокиСкачать
Создание вектора в Python
Модуль Python Numpy предоставляет метод numpy.array(), который создает одномерный массив, то есть вектор. Вектор может быть горизонтальным или вертикальным.
Вышеупомянутый метод принимает список в качестве аргумента и возвращает numpy.ndarray.
Давайте разберемся в следующих примерах.
Пример – 1: горизонтальный вектор
Пример – 2: Вертикальный вектор
Видео:Как создать вектор с помощью функции в Python? Линейная алгебра для Data Science #shorts #репетиторСкачать
Базовые операции вектора Python
После создания вектора мы теперь будем выполнять арифметические операции над векторами.
Ниже приведен список основных операций, которые мы можем производить с векторами:
- сложение;
- вычитание;
- умножение;
- деление;
- точечное произведение;
- скалярные умножения.
Видео:Семинар. Библиотека NumpyСкачать
Сложение двух векторов
В векторном сложении это происходит поэлементно, что означает, что сложение будет происходить поэлементно, а длина будет такой же, как у двух аддитивных векторов.
Давайте разберемся в следующем примере.
Видео:#4. Свойства и представления массивов, создание их копий | NumPy урокиСкачать
Вычитание
Вычитание векторов выполняется так же, как и сложение, оно следует поэлементному подходу, и элементы вектора 2 будут вычтены из вектора 1. Давайте разберемся в следующем примере.
Видео:БЭК 203. Семинар 7. Библиотека Numpy для работы с векторами и матрицамиСкачать
Умножение векторов
Элементы вектора 1 умножаются на вектор 2 и возвращают векторы той же длины, что и векторы умножения.
Умножение производится следующим образом.
Первый элемент вектора 1 умножается на первый элемент соответствующего вектора 2 и так далее.
Видео:БМЭ191. Python для анализа данных. Работа с векторами и матрицами в Numpy.Скачать
Операция деления двух векторов
В операции деления результирующий вектор содержит значение частного, полученное при делении двух элементов вектора.
Давайте разберемся в следующем примере.
Как видно из вышеприведенного вывода, операция деления вернула частное значение элементов.
Видео:#1 | Python NumPy | Что такое array, arange и dotСкачать
Векторное точечное произведение
Векторное скалярное произведение выполняется между двумя последовательными векторами одинаковой длины и возвращает единичное скалярное произведение. Мы будем использовать метод .dot() для выполнения скалярного произведения. Это произойдет, как показано ниже.
Давайте разберемся в следующем примере.
Видео:Линейная алгебра для Data Science: Норма вектора / Модуль вектора в Numpy #numpy #datascience #mathСкачать
Векторно-скалярное умножение
В операции скалярного умножения; мы умножаем скаляр на каждую компоненту вектора. Давайте разберемся в следующем примере.
В приведенном выше коде скалярное значение умножается на каждый элемент вектора в порядке s * v =(s * v1, s * v2, s * v3).
🔥 Видео
Python NUMPY - Полный Курс для НачинающихСкачать
ВВЕДЕНИЕ В БИБЛИОТЕКУ NUMPY | МАШИННОЕ ОБУЧЕНИЕСкачать
БЭК 202. Семинар 7. Библиотека Numpy для работы с векторами и матрицамиСкачать
Линейная алгебра для Data Science: Единичный вектор.Норма вектора. Внешнее произведение #datascienceСкачать