ndarray[np.int64]
Representing the given resolution.
"""
- istart = start._value if start is not None else None
- iend = end._value if end is not None else None
+ istart = int(start._value) if start is not None else None
+ iend = int(end._value) if end is not None else None
freq.nanos # raises if non-fixed frequency
td = Timedelta(freq)
- b: int | np.int64 | np.uint64
- e: int | np.int64 | np.uint64
+ b: int
+ e: int
try:
td = td.as_unit( # pyright: ignore[reportGeneralTypeIssues]
unit, round_ok=False
def _generate_range_overflow_safe(
endpoint: int, periods: int, stride: int, side: str = "start"
-) -> np.int64 | np.uint64:
+) -> int:
"""
Calculate the second endpoint for passing to np.arange, checking
to avoid an integer overflow. Catch OverflowError and re-raise
Returns
-------
- other_end : np.int64 | np.uint64
+ other_end : int
Raises
------
remaining = periods - mid_periods
assert 0 < remaining < periods, (remaining, periods, endpoint, stride)
- midpoint = int(_generate_range_overflow_safe(endpoint, mid_periods, stride, side))
+ midpoint = _generate_range_overflow_safe(endpoint, mid_periods, stride, side)
return _generate_range_overflow_safe(midpoint, remaining, stride, side)
def _generate_range_overflow_safe_signed(
endpoint: int, periods: int, stride: int, side: str
-) -> np.int64 | np.uint64:
+) -> int:
"""
A special case for _generate_range_overflow_safe where `periods * stride`
can be calculated without overflowing int64 bounds.
# Putting this into a DatetimeArray/TimedeltaArray
# would incorrectly be interpreted as NaT
raise OverflowError
- return result
+ return int(result)
except (FloatingPointError, OverflowError):
# with endpoint negative and addend positive we risk
# FloatingPointError; with reversed signed we risk OverflowError
i64max = np.uint64(i8max)
assert uresult > i64max
if uresult <= i64max + np.uint64(stride):
- return uresult
+ return int(uresult)
raise OutOfBoundsDatetime(
f"Cannot generate range with {side}={endpoint} and periods={periods}"
)
import pandas._testing as tm
from pandas.core.reshape import reshape as reshape_lib
+from pandas.compat import IS64
@pytest.fixture(params=[True, False])
tm.assert_frame_equal(recons, df)
@pytest.mark.slow
+ @pytest.mark.xfail(condition=not IS64, reason="assumes default int is int64")
def test_unstack_number_of_levels_larger_than_int32(self, monkeypatch):
# GH#20601
# GH 26314: Change ValueError to PerformanceWarning
import numpy as np
import pytest
+from pandas.compat import IS64
from pandas.errors import (
PerformanceWarning,
SpecificationError,
tm.assert_series_equal(result, expected)
+@pytest.mark.xfail(not IS64, reason="GH#38778: fail on 32-bit system", strict=False)
@pytest.mark.parametrize(
"func, values", [("sum", [97.0, 98.0]), ("mean", [24.25, 24.5])]
)
tm.assert_frame_equal(result, expected)
+@pytest.mark.xfail(not IS64, reason="GH#38778: fail on 32-bit system", strict=False)
def test_groupby_numerical_stability_cumsum():
# GH#38934
data = [1e16, 1e16, 97, 98, -5e15, -5e15, -5e15, -5e15]
from pandas.api.types import CategoricalDtype as CDT
from pandas.core.reshape import reshape as reshape_lib
from pandas.core.reshape.pivot import pivot_table
+from pandas.compat import IS64
@pytest.fixture(params=[True, False])
tm.assert_frame_equal(result, expected)
@pytest.mark.slow
+ @pytest.mark.xfail(condition=not IS64, reason="assumes default int is int64")
def test_pivot_number_of_levels_larger_than_int32(self, monkeypatch):
# GH 20601
# GH 26314: Change ValueError to PerformanceWarning
def test_round_numpy_with_nan(self, any_float_dtype):
# See GH#14197
ser = Series([1.53, np.nan, 0.06], dtype=any_float_dtype)
- with tm.assert_produces_warning(None):
- result = ser.round()
+ result = ser.round() # on armhf, numpy warns
expected = Series([2.0, np.nan, 0.0], dtype=any_float_dtype)
tm.assert_series_equal(result, expected)
TimedeltaIndex,
)
import pandas._testing as tm
+from pandas.compat import IS64
from pandas.core.arrays import (
DatetimeArray,
TimedeltaArray,
assert name in output
+@pytest.mark.xfail(
+ condition=not IS64,
+ reason="dask has different nativesize-int vs int64 type rules",
+ strict=False,
+)
def test_frame_setitem_dask_array_into_new_col():
# GH#47128
from pandas.compat import (
is_ci_environment,
is_platform_windows,
+ IS64,
)
from pandas import (
assert result.name is None
@pytest.mark.slow
+ @pytest.mark.xfail(condition=not IS64, reason="assumes default int is int64")
@pytest.mark.parametrize("how", ["left", "right", "outer", "inner"])
def test_int64_overflow_how_merge(self, left_right, how):
left, right = left_right
tm.assert_frame_equal(out, merge(left, right, how=how, sort=True))
@pytest.mark.slow
+ @pytest.mark.xfail(condition=not IS64, reason="assumes default int is int64")
def test_int64_overflow_sort_false_order(self, left_right):
left, right = left_right
tm.assert_frame_equal(right, out[right.columns.tolist()])
@pytest.mark.slow
+ @pytest.mark.xfail(condition=not IS64, reason="assumes default int is int64", strict=False)
@pytest.mark.parametrize("how", ["left", "right", "outer", "inner"])
@pytest.mark.parametrize("sort", [True, False])
def test_int64_overflow_one_to_many_none_match(self, how, sort):