pandas.testing.assert_extension_array_equal(left, right, check_dtype=True, index_values=None, check_exact=<no_default>, rtol=<no_default>, atol=<no_default>, obj='ExtensionArray')[source]#

Check that left and right ExtensionArrays are equal.

left, rightExtensionArray

The two arrays to compare.

check_dtypebool, default True

Whether to check if the ExtensionArray dtypes are identical.

index_valuesIndex | numpy.ndarray, default None

Optional index (shared by both left and right), used in output.

check_exactbool, default False

Whether to compare number exactly.

Changed in version 2.2.0: Defaults to True for integer dtypes if none of check_exact, rtol and atol are specified.

rtolfloat, default 1e-5

Relative tolerance. Only used when check_exact is False.

atolfloat, default 1e-8

Absolute tolerance. Only used when check_exact is False.

objstr, default ‘ExtensionArray’

Specify object name being compared, internally used to show appropriate assertion message.

Added in version 2.0.0.


Missing values are checked separately from valid values. A mask of missing values is computed for each and checked to match. The remaining all-valid values are cast to object dtype and checked.


>>> from pandas import testing as tm
>>> a = pd.Series([1, 2, 3, 4])
>>> b, c = a.array, a.array
>>> tm.assert_extension_array_equal(b, c)