Skip to content

Commit 5ad9abd

Browse files
authored
TST/CLN: Remove makeUInt/Timedelta/RangeIndex (#56200)
* Remove makeRangeIndex * Remove makeUInnt64Index * Remove makeTimedeltaIndex * Fix typo, address test
1 parent 83f6275 commit 5ad9abd

File tree

11 files changed

+94
-105
lines changed

11 files changed

+94
-105
lines changed

pandas/_testing/__init__.py

+3-25
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
RangeIndex,
4848
Series,
4949
bdate_range,
50+
timedelta_range,
5051
)
5152
from pandas._testing._io import (
5253
round_trip_localpath,
@@ -111,10 +112,7 @@
111112
NpDtype,
112113
)
113114

114-
from pandas import (
115-
PeriodIndex,
116-
TimedeltaIndex,
117-
)
115+
from pandas import PeriodIndex
118116
from pandas.core.arrays import ArrowExtensionArray
119117

120118
_N = 30
@@ -405,17 +403,6 @@ def makeIntIndex(k: int = 10, *, name=None, dtype: Dtype = "int64") -> Index:
405403
return makeNumericIndex(k, name=name, dtype=dtype)
406404

407405

408-
def makeUIntIndex(k: int = 10, *, name=None, dtype: Dtype = "uint64") -> Index:
409-
dtype = pandas_dtype(dtype)
410-
if not is_unsigned_integer_dtype(dtype):
411-
raise TypeError(f"Wrong dtype {dtype}")
412-
return makeNumericIndex(k, name=name, dtype=dtype)
413-
414-
415-
def makeRangeIndex(k: int = 10, name=None, **kwargs) -> RangeIndex:
416-
return RangeIndex(0, k, 1, name=name, **kwargs)
417-
418-
419406
def makeFloatIndex(k: int = 10, *, name=None, dtype: Dtype = "float64") -> Index:
420407
dtype = pandas_dtype(dtype)
421408
if not is_float_dtype(dtype):
@@ -431,12 +418,6 @@ def makeDateIndex(
431418
return DatetimeIndex(dr, name=name, **kwargs)
432419

433420

434-
def makeTimedeltaIndex(
435-
k: int = 10, freq: Frequency = "D", name=None, **kwargs
436-
) -> TimedeltaIndex:
437-
return pd.timedelta_range(start="1 day", periods=k, freq=freq, name=name, **kwargs)
438-
439-
440421
def makePeriodIndex(k: int = 10, name=None, **kwargs) -> PeriodIndex:
441422
dt = datetime(2000, 1, 1)
442423
pi = pd.period_range(start=dt, periods=k, freq="D", name=name, **kwargs)
@@ -537,7 +518,7 @@ def makeCustomIndex(
537518
"f": makeFloatIndex,
538519
"s": lambda n: Index([f"{i}_{chr(i)}" for i in range(97, 97 + n)]),
539520
"dt": makeDateIndex,
540-
"td": makeTimedeltaIndex,
521+
"td": lambda n: timedelta_range("1 day", periods=n),
541522
"p": makePeriodIndex,
542523
}
543524
idx_func = idx_func_dict.get(idx_type)
@@ -1027,11 +1008,8 @@ def shares_memory(left, right) -> bool:
10271008
"makeNumericIndex",
10281009
"makeObjectSeries",
10291010
"makePeriodIndex",
1030-
"makeRangeIndex",
10311011
"makeTimeDataFrame",
1032-
"makeTimedeltaIndex",
10331012
"makeTimeSeries",
1034-
"makeUIntIndex",
10351013
"maybe_produces_warning",
10361014
"NARROW_NP_DTYPES",
10371015
"NP_NAT_OBJECTS",

pandas/conftest.py

+8-6
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,11 @@
6363
Interval,
6464
IntervalIndex,
6565
Period,
66+
RangeIndex,
6667
Series,
6768
Timedelta,
6869
Timestamp,
70+
timedelta_range,
6971
)
7072
import pandas._testing as tm
7173
from pandas.core import ops
@@ -614,16 +616,16 @@ def _create_mi_with_dt64tz_level():
614616
"datetime": tm.makeDateIndex(100),
615617
"datetime-tz": tm.makeDateIndex(100, tz="US/Pacific"),
616618
"period": tm.makePeriodIndex(100),
617-
"timedelta": tm.makeTimedeltaIndex(100),
618-
"range": tm.makeRangeIndex(100),
619+
"timedelta": timedelta_range(start="1 day", periods=100, freq="D"),
620+
"range": RangeIndex(100),
619621
"int8": tm.makeIntIndex(100, dtype="int8"),
620622
"int16": tm.makeIntIndex(100, dtype="int16"),
621623
"int32": tm.makeIntIndex(100, dtype="int32"),
622624
"int64": tm.makeIntIndex(100, dtype="int64"),
623-
"uint8": tm.makeUIntIndex(100, dtype="uint8"),
624-
"uint16": tm.makeUIntIndex(100, dtype="uint16"),
625-
"uint32": tm.makeUIntIndex(100, dtype="uint32"),
626-
"uint64": tm.makeUIntIndex(100, dtype="uint64"),
625+
"uint8": Index(np.arange(100), dtype="uint8"),
626+
"uint16": Index(np.arange(100), dtype="uint16"),
627+
"uint32": Index(np.arange(100), dtype="uint32"),
628+
"uint64": Index(np.arange(100), dtype="uint64"),
627629
"float32": tm.makeFloatIndex(100, dtype="float32"),
628630
"float64": tm.makeFloatIndex(100, dtype="float64"),
629631
"bool-object": Index([True, False] * 5, dtype=object),

pandas/tests/frame/test_reductions.py

+16-15
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,10 @@
1818
Categorical,
1919
CategoricalDtype,
2020
DataFrame,
21+
DatetimeIndex,
2122
Index,
23+
PeriodIndex,
24+
RangeIndex,
2225
Series,
2326
Timestamp,
2427
date_range,
@@ -598,7 +601,7 @@ def test_sem(self, datetime_frame):
598601
"C": [1.0],
599602
"D": ["a"],
600603
"E": Categorical(["a"], categories=["a"]),
601-
"F": pd.DatetimeIndex(["2000-01-02"], dtype="M8[ns]"),
604+
"F": DatetimeIndex(["2000-01-02"], dtype="M8[ns]"),
602605
"G": to_timedelta(["1 days"]),
603606
},
604607
),
@@ -610,7 +613,7 @@ def test_sem(self, datetime_frame):
610613
"C": [np.nan],
611614
"D": np.array([np.nan], dtype=object),
612615
"E": Categorical([np.nan], categories=["a"]),
613-
"F": pd.DatetimeIndex([pd.NaT], dtype="M8[ns]"),
616+
"F": DatetimeIndex([pd.NaT], dtype="M8[ns]"),
614617
"G": to_timedelta([pd.NaT]),
615618
},
616619
),
@@ -621,7 +624,7 @@ def test_sem(self, datetime_frame):
621624
"I": [8, 9, np.nan, np.nan],
622625
"J": [1, np.nan, np.nan, np.nan],
623626
"K": Categorical(["a", np.nan, np.nan, np.nan], categories=["a"]),
624-
"L": pd.DatetimeIndex(
627+
"L": DatetimeIndex(
625628
["2000-01-02", "NaT", "NaT", "NaT"], dtype="M8[ns]"
626629
),
627630
"M": to_timedelta(["1 days", "nan", "nan", "nan"]),
@@ -635,7 +638,7 @@ def test_sem(self, datetime_frame):
635638
"I": [8, 9, np.nan, np.nan],
636639
"J": [1, np.nan, np.nan, np.nan],
637640
"K": Categorical([np.nan, "a", np.nan, np.nan], categories=["a"]),
638-
"L": pd.DatetimeIndex(
641+
"L": DatetimeIndex(
639642
["NaT", "2000-01-02", "NaT", "NaT"], dtype="M8[ns]"
640643
),
641644
"M": to_timedelta(["nan", "1 days", "nan", "nan"]),
@@ -652,15 +655,13 @@ def test_mode_dropna(self, dropna, expected):
652655
"C": [1, np.nan, np.nan, np.nan],
653656
"D": [np.nan, np.nan, "a", np.nan],
654657
"E": Categorical([np.nan, np.nan, "a", np.nan]),
655-
"F": pd.DatetimeIndex(
656-
["NaT", "2000-01-02", "NaT", "NaT"], dtype="M8[ns]"
657-
),
658+
"F": DatetimeIndex(["NaT", "2000-01-02", "NaT", "NaT"], dtype="M8[ns]"),
658659
"G": to_timedelta(["1 days", "nan", "nan", "nan"]),
659660
"H": [8, 8, 9, 9],
660661
"I": [9, 9, 8, 8],
661662
"J": [1, 1, np.nan, np.nan],
662663
"K": Categorical(["a", np.nan, "a", np.nan]),
663-
"L": pd.DatetimeIndex(
664+
"L": DatetimeIndex(
664665
["2000-01-02", "2000-01-02", "NaT", "NaT"], dtype="M8[ns]"
665666
),
666667
"M": to_timedelta(["1 days", "nan", "1 days", "nan"]),
@@ -831,15 +832,15 @@ def test_sum_corner(self):
831832
@pytest.mark.parametrize(
832833
"index",
833834
[
834-
tm.makeRangeIndex(0),
835-
tm.makeDateIndex(0),
836-
tm.makeNumericIndex(0, dtype=int),
837-
tm.makeNumericIndex(0, dtype=float),
838-
tm.makeDateIndex(0, freq="ME"),
839-
tm.makePeriodIndex(0),
835+
RangeIndex(0),
836+
DatetimeIndex([]),
837+
Index([], dtype=np.int64),
838+
Index([], dtype=np.float64),
839+
DatetimeIndex([], freq="ME"),
840+
PeriodIndex([], freq="D"),
840841
],
841842
)
842-
def test_axis_1_empty(self, all_reductions, index, using_array_manager):
843+
def test_axis_1_empty(self, all_reductions, index):
843844
df = DataFrame(columns=["a"], index=index)
844845
result = getattr(df, all_reductions)(axis=1)
845846
if all_reductions in ("any", "all"):

pandas/tests/indexes/datetimelike_/test_equals.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
TimedeltaIndex,
1919
date_range,
2020
period_range,
21+
timedelta_range,
2122
)
2223
import pandas._testing as tm
2324

@@ -141,7 +142,7 @@ def test_not_equals_bday(self, freq):
141142
class TestTimedeltaIndexEquals(EqualsTests):
142143
@pytest.fixture
143144
def index(self):
144-
return tm.makeTimedeltaIndex(10)
145+
return timedelta_range("1 day", periods=10)
145146

146147
def test_equals2(self):
147148
# GH#13107

pandas/tests/indexes/test_base.py

+11-6
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
TimedeltaIndex,
3131
date_range,
3232
period_range,
33+
timedelta_range,
3334
)
3435
import pandas._testing as tm
3536
from pandas.core.indexes.api import (
@@ -92,7 +93,7 @@ def test_constructor_copy(self, index):
9293
name="Green Eggs & Ham",
9394
), # DTI with tz
9495
date_range("2015-01-01 10:00", freq="D", periods=3), # DTI no tz
95-
pd.timedelta_range("1 days", freq="D", periods=3), # td
96+
timedelta_range("1 days", freq="D", periods=3), # td
9697
period_range("2015-01-01", freq="D", periods=3), # period
9798
],
9899
)
@@ -122,7 +123,7 @@ def test_constructor_from_index_dtlike(self, cast_as_obj, index):
122123
date_range("2015-01-01 10:00", freq="D", periods=3, tz="US/Eastern"),
123124
True,
124125
), # datetimetz
125-
(pd.timedelta_range("1 days", freq="D", periods=3), False), # td
126+
(timedelta_range("1 days", freq="D", periods=3), False), # td
126127
(period_range("2015-01-01", freq="D", periods=3), False), # period
127128
],
128129
)
@@ -267,7 +268,7 @@ def test_constructor_dtypes_datetime(self, tz_naive_fixture, attr, klass):
267268
@pytest.mark.parametrize("attr", ["values", "asi8"])
268269
@pytest.mark.parametrize("klass", [Index, TimedeltaIndex])
269270
def test_constructor_dtypes_timedelta(self, attr, klass):
270-
index = pd.timedelta_range("1 days", periods=5)
271+
index = timedelta_range("1 days", periods=5)
271272
index = index._with_freq(None) # won't be preserved by constructors
272273
dtype = index.dtype
273274

@@ -526,10 +527,14 @@ def test_map_with_tuples_mi(self):
526527
tm.assert_index_equal(reduced_index, Index(first_level))
527528

528529
@pytest.mark.parametrize(
529-
"attr", ["makeDateIndex", "makePeriodIndex", "makeTimedeltaIndex"]
530+
"index",
531+
[
532+
date_range("2020-01-01", freq="D", periods=10),
533+
period_range("2020-01-01", freq="D", periods=10),
534+
timedelta_range("1 day", periods=10),
535+
],
530536
)
531-
def test_map_tseries_indices_return_index(self, attr):
532-
index = getattr(tm, attr)(10)
537+
def test_map_tseries_indices_return_index(self, index):
533538
expected = Index([1] * 10)
534539
result = index.map(lambda x: 1)
535540
tm.assert_index_equal(expected, result)

pandas/tests/indexes/test_setops.py

+6-9
Original file line numberDiff line numberDiff line change
@@ -139,19 +139,16 @@ def test_union_different_types(index_flat, index_flat2, request):
139139

140140

141141
@pytest.mark.parametrize(
142-
"idx_fact1,idx_fact2",
142+
"idx1,idx2",
143143
[
144-
(tm.makeIntIndex, tm.makeRangeIndex),
145-
(tm.makeFloatIndex, tm.makeIntIndex),
146-
(tm.makeFloatIndex, tm.makeRangeIndex),
147-
(tm.makeFloatIndex, tm.makeUIntIndex),
144+
(Index(np.arange(5), dtype=np.int64), RangeIndex(5)),
145+
(Index(np.arange(5), dtype=np.float64), Index(np.arange(5), dtype=np.int64)),
146+
(Index(np.arange(5), dtype=np.float64), RangeIndex(5)),
147+
(Index(np.arange(5), dtype=np.float64), Index(np.arange(5), dtype=np.uint64)),
148148
],
149149
)
150-
def test_compatible_inconsistent_pairs(idx_fact1, idx_fact2):
150+
def test_compatible_inconsistent_pairs(idx1, idx2):
151151
# GH 23525
152-
idx1 = idx_fact1(10)
153-
idx2 = idx_fact2(20)
154-
155152
res1 = idx1.union(idx2)
156153
res2 = idx2.union(idx1)
157154

pandas/tests/indexing/test_floats.py

+17-14
Original file line numberDiff line numberDiff line change
@@ -132,14 +132,16 @@ def test_scalar_with_mixed(self, indexer_sl):
132132
expected = 3
133133
assert result == expected
134134

135-
@pytest.mark.parametrize("index_func", [tm.makeIntIndex, tm.makeRangeIndex])
136-
def test_scalar_integer(self, index_func, frame_or_series, indexer_sl):
135+
@pytest.mark.parametrize(
136+
"index", [Index(np.arange(5), dtype=np.int64), RangeIndex(5)]
137+
)
138+
def test_scalar_integer(self, index, frame_or_series, indexer_sl):
137139
getitem = indexer_sl is not tm.loc
138140

139141
# test how scalar float indexers work on int indexes
140142

141143
# integer index
142-
i = index_func(5)
144+
i = index
143145
obj = gen_obj(frame_or_series, i)
144146

145147
# coerce to equal int
@@ -169,11 +171,12 @@ def compare(x, y):
169171
result = indexer_sl(s2)[3]
170172
compare(result, expected)
171173

172-
@pytest.mark.parametrize("index_func", [tm.makeIntIndex, tm.makeRangeIndex])
173-
def test_scalar_integer_contains_float(self, index_func, frame_or_series):
174+
@pytest.mark.parametrize(
175+
"index", [Index(np.arange(5), dtype=np.int64), RangeIndex(5)]
176+
)
177+
def test_scalar_integer_contains_float(self, index, frame_or_series):
174178
# contains
175179
# integer index
176-
index = index_func(5)
177180
obj = gen_obj(frame_or_series, index)
178181

179182
# coerce to equal int
@@ -348,11 +351,11 @@ def test_integer_positional_indexing(self, idx):
348351
with pytest.raises(TypeError, match=msg):
349352
s.iloc[idx]
350353

351-
@pytest.mark.parametrize("index_func", [tm.makeIntIndex, tm.makeRangeIndex])
352-
def test_slice_integer_frame_getitem(self, index_func):
354+
@pytest.mark.parametrize(
355+
"index", [Index(np.arange(5), dtype=np.int64), RangeIndex(5)]
356+
)
357+
def test_slice_integer_frame_getitem(self, index):
353358
# similar to above, but on the getitem dim (of a DataFrame)
354-
index = index_func(5)
355-
356359
s = DataFrame(np.random.default_rng(2).standard_normal((5, 2)), index=index)
357360

358361
# getitem
@@ -403,11 +406,11 @@ def test_slice_integer_frame_getitem(self, index_func):
403406
s[idx]
404407

405408
@pytest.mark.parametrize("idx", [slice(3.0, 4), slice(3, 4.0), slice(3.0, 4.0)])
406-
@pytest.mark.parametrize("index_func", [tm.makeIntIndex, tm.makeRangeIndex])
407-
def test_float_slice_getitem_with_integer_index_raises(self, idx, index_func):
409+
@pytest.mark.parametrize(
410+
"index", [Index(np.arange(5), dtype=np.int64), RangeIndex(5)]
411+
)
412+
def test_float_slice_getitem_with_integer_index_raises(self, idx, index):
408413
# similar to above, but on the getitem dim (of a DataFrame)
409-
index = index_func(5)
410-
411414
s = DataFrame(np.random.default_rng(2).standard_normal((5, 2)), index=index)
412415

413416
# setitem

0 commit comments

Comments
 (0)