Метод identical
Метод identical применяется к Index
и проверяет, является ли другой объект индекса
полностью идентичным текущему. В отличие от метода
equals, который сравнивает только значения,
identical также учитывает имена индексов
и тип данных. Метод возвращает True, если
индексы идентичны, и False в противном случае.
Синтаксис
index.identical(other)
Пример
Давайте создадим два одинаковых индекса и проверим их на идентичность:
import pandas as pd
idx1 = pd.Index([1, 2, 3, 4, 5], name='numbers')
idx2 = pd.Index([1, 2, 3, 4, 5], name='numbers')
print(idx1.identical(idx2))
Результат выполнения кода:
True
Пример
Если имена индексов отличаются, метод вернет False,
даже если значения совпадают:
import pandas as pd
idx1 = pd.Index([1, 2, 3, 4, 5], name='numbers')
idx2 = pd.Index([1, 2, 3, 4, 5], name='values')
print(idx1.identical(idx2))
Результат выполнения кода:
False
Пример
Метод identical также проверяет идентичность
типов данных. Если типы отличаются, результат будет
False:
import pandas as pd
idx1 = pd.Index([1, 2, 3, 4, 5], dtype='int64')
idx2 = pd.Index([1, 2, 3, 4, 5], dtype='float64')
print(idx1.identical(idx2))
Результат выполнения кода:
False
Пример
Сравнение индексов с разными значениями также
возвращает False:
import pandas as pd
idx1 = pd.Index([1, 2, 3, 4, 5], name='numbers')
idx2 = pd.Index([5, 4, 3, 2, 1], name='numbers')
print(idx1.identical(idx2))
Результат выполнения кода:
False
Пример
Сравнение индекса с самим собой всегда возвращает
True:
import pandas as pd
idx = pd.Index([1, 2, 3, 4, 5], name='numbers')
print(idx.identical(idx))
Результат выполнения кода:
True
Пример
Важно отметить, что метод identical учитывает
все атрибуты индекса, включая наличие пропущенных
значений:
import pandas as pd
import numpy as np
idx1 = pd.Index([1, np.nan, 3, 4, 5])
idx2 = pd.Index([1, np.nan, 3, 4, 5])
print(idx1.identical(idx2))
Результат выполнения кода:
True