Skip to content

Commit e3b1b89

Browse files
authored
REF: stricter calls to array_equivalent (#52494)
1 parent 766286e commit e3b1b89

File tree

3 files changed

+15
-5
lines changed

3 files changed

+15
-5
lines changed

pandas/core/arrays/_mixins.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ def equals(self, other) -> bool:
174174
return False
175175
if not is_dtype_equal(self.dtype, other.dtype):
176176
return False
177-
return bool(array_equivalent(self._ndarray, other._ndarray))
177+
return bool(array_equivalent(self._ndarray, other._ndarray, dtype_equal=True))
178178

179179
@classmethod
180180
def _from_factorized(cls, values, original):

pandas/core/arrays/masked.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1026,7 +1026,7 @@ def equals(self, other) -> bool:
10261026

10271027
left = self._data[~self._mask]
10281028
right = other._data[~other._mask]
1029-
return array_equivalent(left, right, dtype_equal=True)
1029+
return array_equivalent(left, right, strict_nan=True, dtype_equal=True)
10301030

10311031
def _quantile(
10321032
self, qs: npt.NDArray[np.float64], interpolation: str

pandas/io/pytables.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2223,7 +2223,9 @@ def validate_metadata(self, handler: AppendableTable) -> None:
22232223
if (
22242224
new_metadata is not None
22252225
and cur_metadata is not None
2226-
and not array_equivalent(new_metadata, cur_metadata)
2226+
and not array_equivalent(
2227+
new_metadata, cur_metadata, strict_nan=True, dtype_equal=True
2228+
)
22272229
):
22282230
raise ValueError(
22292231
"cannot append a categorical with "
@@ -3855,10 +3857,18 @@ def _create_axes(
38553857
if table_exists:
38563858
indexer = len(new_non_index_axes) # i.e. 0
38573859
exist_axis = self.non_index_axes[indexer][1]
3858-
if not array_equivalent(np.array(append_axis), np.array(exist_axis)):
3860+
if not array_equivalent(
3861+
np.array(append_axis),
3862+
np.array(exist_axis),
3863+
strict_nan=True,
3864+
dtype_equal=True,
3865+
):
38593866
# ahah! -> reindex
38603867
if array_equivalent(
3861-
np.array(sorted(append_axis)), np.array(sorted(exist_axis))
3868+
np.array(sorted(append_axis)),
3869+
np.array(sorted(exist_axis)),
3870+
strict_nan=True,
3871+
dtype_equal=True,
38623872
):
38633873
append_axis = exist_axis
38643874

0 commit comments

Comments
 (0)