diff --git a/pandas/core/generic.py b/pandas/core/generic.py index 6f8cea8008850..a8f6443ff4712 100644 --- a/pandas/core/generic.py +++ b/pandas/core/generic.py @@ -71,8 +71,8 @@ ) from pandas.core.dtypes.common import ( - ensure_int64, ensure_object, + ensure_platform_int, ensure_str, is_bool, is_bool_dtype, @@ -4887,7 +4887,7 @@ def _reindex_with_indexers( index = ensure_index(index) if indexer is not None: - indexer = ensure_int64(indexer) + indexer = ensure_platform_int(indexer) # TODO: speed up on homogeneous DataFrame objects new_data = new_data.reindex_indexer( diff --git a/pandas/core/indexes/base.py b/pandas/core/indexes/base.py index 1df2df125ca83..a0727500ecc81 100644 --- a/pandas/core/indexes/base.py +++ b/pandas/core/indexes/base.py @@ -3846,9 +3846,9 @@ def _reindex_non_unique(self, target): missing = ensure_platform_int(missing) missing_labels = target.take(missing) - missing_indexer = ensure_int64(length[~check]) + missing_indexer = ensure_platform_int(length[~check]) cur_labels = self.take(indexer[check]).values - cur_indexer = ensure_int64(length[check]) + cur_indexer = ensure_platform_int(length[check]) new_labels = np.empty((len(indexer),), dtype=object) new_labels[cur_indexer] = cur_labels diff --git a/pandas/core/internals/array_manager.py b/pandas/core/internals/array_manager.py index 76d247d9804ee..5581305a9baea 100644 --- a/pandas/core/internals/array_manager.py +++ b/pandas/core/internals/array_manager.py @@ -28,7 +28,7 @@ soft_convert_objects, ) from pandas.core.dtypes.common import ( - ensure_int64, + ensure_platform_int, is_datetime64_ns_dtype, is_dtype_equal, is_extension_array_dtype, @@ -1007,7 +1007,7 @@ def _reindex_indexer( else: validate_indices(indexer, len(self._axes[0])) - indexer = ensure_int64(indexer) + indexer = ensure_platform_int(indexer) if (indexer == -1).any(): allow_fill = True else: @@ -1098,7 +1098,7 @@ def unstack(self, unstacker, fill_value) -> ArrayManager: new_indexer[unstacker.mask] = indexer allow_fill = True new_indexer2D = new_indexer.reshape(*unstacker.full_shape) - new_indexer2D = ensure_int64(new_indexer2D) + new_indexer2D = ensure_platform_int(new_indexer2D) new_arrays = [] for arr in self.arrays: diff --git a/pandas/core/reshape/tile.py b/pandas/core/reshape/tile.py index 89eba5bf41c78..624dcf23e8c9a 100644 --- a/pandas/core/reshape/tile.py +++ b/pandas/core/reshape/tile.py @@ -11,7 +11,7 @@ from pandas.core.dtypes.common import ( DT64NS_DTYPE, - ensure_int64, + ensure_platform_int, is_bool_dtype, is_categorical_dtype, is_datetime64_dtype, @@ -413,7 +413,7 @@ def _bins_to_cuts( bins = unique_bins side = "left" if right else "right" - ids = ensure_int64(bins.searchsorted(x, side=side)) + ids = ensure_platform_int(bins.searchsorted(x, side=side)) if include_lowest: ids[x == bins[0]] = 1 diff --git a/pandas/tests/reshape/test_cut.py b/pandas/tests/reshape/test_cut.py index 06159cf70b1ab..944205c66c3e6 100644 --- a/pandas/tests/reshape/test_cut.py +++ b/pandas/tests/reshape/test_cut.py @@ -414,7 +414,7 @@ def test_single_bin(data, length): ser = Series([data] * length) result = cut(ser, 1, labels=False) - expected = Series([0] * length) + expected = Series([0] * length, dtype=np.intp) tm.assert_series_equal(result, expected) diff --git a/pandas/tests/reshape/test_qcut.py b/pandas/tests/reshape/test_qcut.py index d48fde35f8561..7996c15ae8e64 100644 --- a/pandas/tests/reshape/test_qcut.py +++ b/pandas/tests/reshape/test_qcut.py @@ -202,7 +202,7 @@ def test_single_quantile(data, start, end, length, labels): intervals = IntervalIndex([Interval(start, end)] * length, closed="right") expected = Series(intervals).astype(CDT(ordered=True)) else: - expected = Series([0] * length) + expected = Series([0] * length, dtype=np.intp) tm.assert_series_equal(result, expected)