Skip to content

Шпаргалка по NumPy

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

Пояснение

Используйте arr для представления объекта массива numpy.

Импорт модуля

import numpy as np

Импорт/Экспорт

np.loadtxt(‘file.txt’) Чтение из текстового файла
np.genfromtxt(‘file.csv’,delimiter=’,’) Чтение из CSV-файла
np.savetxt(‘file.txt’,arr,delimiter=’ ‘) Запись в текстовый файл
np.savetxt(‘file.csv’,arr,delimiter=’,’) Запись в CSV-файл

Создание массива

np.array([1,2,3]) Одномерный массив
np.array([(1,2,3),(4,5,6)]) Двумерный массив
np.zeros(3) Одномерный массив длины 3, заполненный нулями
np.ones((3,4)) Массив 3x4, заполненный единицами
np.eye(5) Массив 5x5 с единицами на диагонали и нулями в остальных местах (единичная матрица)
np.linspace(0,100,6) Массив из 6 значений, равномерно распределенных от 0 до 100
np.arange(0,10,3) Массив значений от 0 до меньше чем 10 с шагом 3 (например, [0,3,6,9])
np.full((2,3),8) Массив 2x3, заполненный восьмерками
np.random.rand(4,5) Массив 4x5 случайных чисел с плавающей запятой от 0 до 1
np.random.rand(6,7)*100 Массив 6x7 случайных чисел с плавающей запятой от 0 до 100
np.random.randint(5,size=(2,3)) Массив 2x3 со случайными целыми числами от 0 до 4

Проверка свойств

arr.size Возвращает общее количество элементов массива
arr.shape Возвращает размерность массива
arr.dtype Возвращает тип элементов в массиве
arr.astype(dtype) Преобразует тип элементов массива в dtype
arr.tolist() Преобразует массив в список
np.info(np.eye) Посмотреть документацию для np.eye

Копирование/Сортировка/Изменение формы

np.copy(arr) Копирует массив в новую область памяти
arr.view(dtype) Создает представление массива с типом dtype
arr.sort() Сортирует массив
arr.sort(axis=0) Сортирует массив по определенной оси
two_d_arr.flatten() Преобразует двумерный массив в одномерный
arr.T Транспонирует массив (строки становятся столбцами и наоборот)
arr.reshape(3,4) Изменяет форму массива на 3 строки и 4 столбца без изменения данных
arr.resize((5,6)) Изменяет форму массива на 5x6 и заполняет новые значения нулями

Добавление/Удаление элементов

np.append(arr,values) Добавляет значения в конец массива
np.insert(arr,2,values) Вставляет значения в массив перед индексом 2
np.delete(arr,3,axis=0) Удаляет строку с индексом 3 из массива
np.delete(arr,4,axis=1) Удаляет столбец с индексом 4 из массива

Объединение/Разделение

np.concatenate((arr1,arr2),axis=0) Добавляет arr2 как строки в конец arr1
np.concatenate((arr1,arr2),axis=1) Добавляет arr2 как столбцы в конец arr1
np.split(arr,3) Разделяет массив на 3 подмассива
np.hsplit(arr,5) Разделяет массив горизонтально по 5-му индексу

Индексация/Срезы/Подмножества

arr[5] Возвращает элемент по индексу 5
arr[2,5] Возвращает элемент двумерного массива по индексу [2][5]
arr[1]=4 Присваивает элементу массива по индексу 1 значение 4
arr[1,3]=10 Присваивает элементу массива по индексу [1][3] значение 10
arr[0:3] Возвращает элементы с индексами 0,1,2 (В 2D массиве: строки 0,1,2)
arr[0:3,4] Возвращает элементы в строках 0,1,2 в столбце 4
arr[:2] Возвращает элементы с индексами 0,1 (В 2D массиве: строки 0,1)
arr[:,1] Возвращает элементы по индексу 1 во всех строках
arr<5 Возвращает массив с логическими значениями
(arr1<3) & (arr2>5) Возвращает массив с логическими значениями
~arr Инвертирует логический массив
arr[arr<5] Возвращает элементы массива меньше 5

Скалярная математика

np.add(arr,1) Прибавить 1 к каждому элементу массива
np.subtract(arr,2) Вычесть 2 из каждого элемента массива
np.multiply(arr,3) Умножить каждый элемент массива на 3
np.divide(arr,4) Разделить каждый элемент массива на 4 (возвращает np.nan при делении на ноль)
np.power(arr,5) Возвести каждый элемент массива в 5-ю степень

Векторная математика

np.add(arr1,arr2) Поэлементное сложение arr2 и arr1
np.subtract(arr1,arr2) Поэлементное вычитание arr2 из arr1
np.multiply(arr1,arr2) Поэлементное умножение arr1 на arr2
np.divide(arr1,arr2) Поэлементное деление arr1 на arr2
np.power(arr1,arr2) Поэлементное возведение элементов arr1 в степень соответствующих элементов arr2
np.array_equal(arr1,arr2) Возвращает True, если массивы имеют одинаковые элементы и форму
np.sqrt(arr) Квадратный корень из каждого элемента в массиве
np.sin(arr) Синус каждого элемента в массиве
np.log(arr) Натуральный логарифм каждого элемента в массиве
np.abs(arr) Абсолютное значение каждого элемента в массиве
np.ceil(arr) Округляет до ближайшего целого числа в большую сторону
np.floor(arr) Округляет до ближайшего целого числа в меньшую сторону
np.round(arr) Округляет до ближайшего целого числа

Статистика

np.mean(arr,axis=0) Возвращает среднее значение вдоль определенной оси
arr.sum() Возвращает сумму элементов массива
arr.min() Возвращает минимальное значение массива
arr.max(axis=0) Возвращает максимальное значение по определенной оси
np.var(arr) Возвращает дисперсию массива
np.std(arr,axis=1) Возвращает стандартное отклонение по определенной оси
arr.corrcoef() Возвращает коэффициент корреляции массива