Skip to content

Commit 5ebbb56

Browse files
authored
CLN: avoid _internal_get_values in pandas._testing (#32570)
1 parent d4815a5 commit 5ebbb56

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

pandas/_testing.py

+16-12
Original file line numberDiff line numberDiff line change
@@ -1018,7 +1018,8 @@ def assert_extension_array_equal(
10181018

10191019
if hasattr(left, "asi8") and type(right) == type(left):
10201020
# Avoid slow object-dtype comparisons
1021-
assert_numpy_array_equal(left.asi8, right.asi8)
1021+
# np.asarray for case where we have a np.MaskedArray
1022+
assert_numpy_array_equal(np.asarray(left.asi8), np.asarray(right.asi8))
10221023
return
10231024

10241025
left_na = np.asarray(left.isna())
@@ -1156,20 +1157,23 @@ def assert_series_equal(
11561157
raise AssertionError(msg)
11571158
elif is_interval_dtype(left.dtype) or is_interval_dtype(right.dtype):
11581159
assert_interval_array_equal(left.array, right.array)
1159-
elif is_datetime64tz_dtype(left.dtype):
1160-
# .values is an ndarray, but ._values is the ExtensionArray.
1160+
elif is_categorical_dtype(left.dtype) or is_categorical_dtype(right.dtype):
1161+
_testing.assert_almost_equal(
1162+
left._values,
1163+
right._values,
1164+
check_less_precise=check_less_precise,
1165+
check_dtype=check_dtype,
1166+
obj=str(obj),
1167+
)
1168+
elif is_extension_array_dtype(left.dtype) or is_extension_array_dtype(right.dtype):
1169+
assert_extension_array_equal(left._values, right._values)
1170+
elif needs_i8_conversion(left.dtype) or needs_i8_conversion(right.dtype):
1171+
# DatetimeArray or TimedeltaArray
11611172
assert_extension_array_equal(left._values, right._values)
1162-
elif (
1163-
is_extension_array_dtype(left)
1164-
and not is_categorical_dtype(left)
1165-
and is_extension_array_dtype(right)
1166-
and not is_categorical_dtype(right)
1167-
):
1168-
assert_extension_array_equal(left.array, right.array)
11691173
else:
11701174
_testing.assert_almost_equal(
1171-
left._internal_get_values(),
1172-
right._internal_get_values(),
1175+
left._values,
1176+
right._values,
11731177
check_less_precise=check_less_precise,
11741178
check_dtype=check_dtype,
11751179
obj=str(obj),

0 commit comments

Comments
 (0)