РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
267 of 541 menu

Функция setdiff1d

Функция setdiff1d возвращает отсортированный массив уникальных значений, присутствующих в первом массиве и отсутствующих во втором. Первым параметром функция принимает массив, из которого нужно удалить элементы, вторым параметром - массив элементов, которые нужно удалить. Третьим параметром можно передать флаг assume_unique, который позволяет ускорить вычисления, если известно, что входные массивы уже содержат уникальные элементы.

Синтаксис

np.setdiff1d(ar1, ar2, assume_unique=False)

Пример

Давайте найдем элементы, которые есть в первом массиве, но отсутствуют во втором:

import numpy as np arr1 = np.array([1, 2, 3, 4, 5]) arr2 = np.array([3, 4, 6, 7]) res = np.setdiff1d(arr1, arr2) print(res)

Результат выполнения кода:

[1 2 5]

Пример

Функция всегда возвращает уникальные значения, даже если в исходном массиве есть дубликаты:

import numpy as np arr1 = np.array([1, 2, 2, 3, 3, 4]) arr2 = np.array([2, 4, 5]) res = np.setdiff1d(arr1, arr2) print(res)

Результат выполнения кода:

[1 3]

Пример

Используем параметр assume_unique, если заранее известно, что массивы содержат только уникальные значения:

import numpy as np arr1 = np.array([5, 2, 8, 1, 9]) arr2 = np.array([3, 8, 5, 6]) res = np.setdiff1d(arr1, arr2, assume_unique=True) print(res)

Результат выполнения кода:

[1 2 9]

Пример

Функция работает с одномерными массивами, но может принимать и многомерные массивы, автоматически преобразуя их в одномерные:

import numpy as np arr1 = np.array([[1, 2, 3], [4, 5, 6]]) arr2 = np.array([[3, 4, 7], [8, 9, 10]]) res = np.setdiff1d(arr1, arr2) print(res)

Результат выполнения кода:

[1 2 5 6]

Пример

Функция также работает с массивами строк:

import numpy as np arr1 = np.array(['a', 'b', 'c', 'd', 'e']) arr2 = np.array(['c', 'e', 'f']) res = np.setdiff1d(arr1, arr2) print(res)

Результат выполнения кода:

['a' 'b' 'd']

Смотрите также

  • функцию union1d,
    которая возвращает объединение двух массивов
  • функцию intersect1d,
    которая возвращает пересечение двух массивов
  • функцию setxor1d,
    которая возвращает симметрическую разность двух массивов
  • функцию unique,
    которая возвращает уникальные значения из массива
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить