Учебник по NumPy

ГЛАВНАЯ Введение в NumPy Начало работы с NumPy NumPy Создание массивов Индексация массива NumPy Нарезка массива NumPy Типы данных NumPy Копирование NumPy против просмотра Форма массива NumPy Изменение формы массива NumPy Итерация массива NumPy Объединение массивов NumPy Разделение массива NumPy Поиск массива NumPy Сортировка массива NumPy Фильтр массива NumPy

NumPy Случайный

Случайное вступление Распределение данных Случайная перестановка Морской модуль Нормальное распределение Биномиальное распределение Распределение рыбы Равномерное распределение Логистическая дистрибуция Полиномиальное распределение Экспоненциальное распределение Распределение площади Хи Рэлеевское распределение Распределение Парето Распределение Zipf

NumPy ufunc

Введение ufunc Создать функцию ufunc Простая арифметика ufunc Округление десятичных знаков Журналы UFUNC ufunc Суммирование продукты ufunc Отличия ufunc ufunc Поиск LCM ufunc Поиск НОД ufunc Тригонометрический ufunc Гиперболический ufunc набор операций

Викторина/Упражнения

Викторина NumPy NumPy-упражнения

Операции набора NumPy


Что такое набор

Множество в математике — это набор уникальных элементов.

Множества используются для операций, включающих частые операции пересечения, объединения и разности.


Создание наборов в NumPy

Мы можем использовать метод NumPy unique()для поиска уникальных элементов из любого массива. Например, создайте массив наборов, но помните, что массивы наборов должны быть только одномерными массивами.

Пример

Преобразуйте следующий массив с повторяющимися элементами в набор:

import numpy as np

arr = np.array([1, 1, 1, 2, 3, 4, 5, 5, 6, 7])

x = np.unique(arr)

print(x)

В поисках Союза

Чтобы найти уникальные значения двух массивов, используйте union1d()метод.

Пример

Найдите объединение следующих двух массивов множеств:

import numpy as np

arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([3, 4, 5, 6])

newarr = np.union1d(arr1, arr2)

print(newarr)

Поиск пересечения

Чтобы найти только те значения, которые присутствуют в обоих массивах, используйте intersect1d()метод.

Пример

Найдите пересечение следующих двух массивов множеств:

import numpy as np

arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([3, 4, 5, 6])

newarr = np.intersect1d(arr1, arr2, assume_unique=True)

print(newarr)

Примечание: метод intersect1d()принимает необязательный аргумент assume_unique, который, если установить его в значение True, может ускорить вычисления. При работе с наборами всегда следует устанавливать значение True.


Нахождение различий

Чтобы найти только значения в первом наборе, которые НЕ присутствуют в наборе секунд, используйте setdiff1d()метод.

Пример

Найдите отличие set1 от set2:

import numpy as np

set1 = np.array([1, 2, 3, 4])
set2 = np.array([3, 4, 5, 6])

newarr = np.setdiff1d(set1, set2, assume_unique=True)

print(newarr)

Примечание: метод setdiff1d()принимает необязательный аргумент assume_unique, который, если установить его в значение True, может ускорить вычисления. При работе с наборами всегда следует устанавливать значение True.


Нахождение симметричной разницы

Чтобы найти только те значения, которые НЕ присутствуют в ОБОИХ наборах, используйте setxor1d()метод.

Пример

Найдите симметричную разность множеств set1 и set2:

import numpy as np

set1 = np.array([1, 2, 3, 4])
set2 = np.array([3, 4, 5, 6])

newarr = np.setxor1d(set1, set2, assume_unique=True)

print(newarr)

Примечание: метод setxor1d()принимает необязательный аргумент assume_unique, который, если установить его в значение True, может ускорить вычисления. При работе с наборами всегда следует устанавливать значение True.