Метод difference
Метод difference применяется к объекту Index
и возвращает новый индекс, состоящий из элементов исходного,
которые отсутствуют в переданном индексе. В качестве первого
параметра передаётся другой индекс или итерируемый объект.
Метод сохраняет порядок элементов исходного индекса.
Синтаксис
index.difference(other)
Пример
Давайте создадим два индекса и найдём их разность:
import pandas as pd
idx1 = pd.Index([1, 2, 3, 4, 5])
idx2 = pd.Index([3, 4, 6, 7])
res = idx1.difference(idx2)
print(res)
Результат выполнения кода:
Index([1, 2, 5], dtype='int64')
Пример
Если переданный индекс не содержит уникальных значений, метод всё равно корректно вычисляет разность:
import pandas as pd
idx1 = pd.Index([1, 2, 2, 3])
idx2 = pd.Index([2, 3, 3, 4])
res = idx1.difference(idx2)
print(res)
Результат выполнения кода:
Index([1], dtype='int64')
Пример
В качестве второго аргумента можно передавать не только индекс, но и список или массив:
import pandas as pd
idx = pd.Index(['abcde', 'article', 'user', 'data.csv'])
other = ['article', 'user']
res = idx.difference(other)
print(res)
Результат выполнения кода:
Index(['abcde', 'data.csv'], dtype='object')
Пример
Разность двух индексов не является симметричной операцией. Поменяем местами индексы и посмотрим на результат:
import pandas as pd
idx1 = pd.Index([1, 2, 3, 4])
idx2 = pd.Index([2, 4, 5, 6])
res1 = idx1.difference(idx2)
res2 = idx2.difference(idx1)
print(res1)
print(res2)
Результат выполнения кода:
Index([1, 3], dtype='int64')
Index([5, 6], dtype='int64')
Смотрите также
-
метод
union,
который возвращает объединение двух индексов -
метод
intersection,
который возвращает пересечение двух индексов -
метод
symmetric_difference,
который возвращает симметрическую разность индексов -
метод
isin,
который проверяет наличие элементов индекса в другом множестве