Skip to content

Commit

Permalink
Backport PR #47325 on branch 1.4.x (REGR: Avoid regression warning wi…
Browse files Browse the repository at this point in the history
…th ea dtype and assert_index_equal order False) (#47366)

Backport PR #47325: REGR: Avoid regression warning with ea dtype and assert_index_equal order False

Co-authored-by: Patrick Hoefler <61934744+phofl@users.noreply.github.com>
  • Loading branch information
meeseeksmachine and phofl committed Jun 15, 2022
1 parent 5a9a9b1 commit d268359
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 2 deletions.
1 change: 1 addition & 0 deletions doc/source/whatsnew/v1.4.3.rst
Expand Up @@ -25,6 +25,7 @@ Fixed regressions
- Fixed regression in :func:`read_csv` with ``index_col=False`` identifying first row as index names when ``header=None`` (:issue:`46955`)
- Fixed regression in :meth:`.DataFrameGroupBy.agg` when used with list-likes or dict-likes and ``axis=1`` that would give incorrect results; now raises ``NotImplementedError`` (:issue:`46995`)
- Fixed regression in :meth:`DataFrame.resample` and :meth:`DataFrame.rolling` when used with list-likes or dict-likes and ``axis=1`` that would raise an unintuitive error message; now raises ``NotImplementedError`` (:issue:`46904`)
- Fixed regression in :func:`assert_index_equal` when ``check_order=False`` and :class:`Index` has extension or object dtype (:issue:`47207`)
- Fixed regression in :func:`read_excel` returning ints as floats on certain input sheets (:issue:`46988`)
- Fixed regression in :meth:`DataFrame.shift` when ``axis`` is ``columns`` and ``fill_value`` is absent, ``freq`` is ignored (:issue:`47039`)

Expand Down
4 changes: 2 additions & 2 deletions pandas/_testing/asserters.py
Expand Up @@ -374,8 +374,8 @@ def _get_ilevel_values(index, level):

# If order doesn't matter then sort the index entries
if not check_order:
left = Index(safe_sort(left))
right = Index(safe_sort(right))
left = Index(safe_sort(left), dtype=left.dtype)
right = Index(safe_sort(right), dtype=right.dtype)

# MultiIndex special comparison for little-friendly error messages
if left.nlevels > 1:
Expand Down
14 changes: 14 additions & 0 deletions pandas/tests/util/test_assert_index_equal.py
Expand Up @@ -242,3 +242,17 @@ def test_assert_index_equal_mixed_dtype():
# GH#39168
idx = Index(["foo", "bar", 42])
tm.assert_index_equal(idx, idx, check_order=False)


def test_assert_index_equal_ea_dtype_order_false(any_numeric_ea_dtype):
# GH#47207
idx1 = Index([1, 3], dtype=any_numeric_ea_dtype)
idx2 = Index([3, 1], dtype=any_numeric_ea_dtype)
tm.assert_index_equal(idx1, idx2, check_order=False)


def test_assert_index_equal_object_ints_order_false():
# GH#47207
idx1 = Index([1, 3], dtype="object")
idx2 = Index([3, 1], dtype="object")
tm.assert_index_equal(idx1, idx2, check_order=False)

0 comments on commit d268359

Please sign in to comment.