Skip to content

Commit 56217de

Browse files
committed
CLN: fix review
1 parent c611271 commit 56217de

File tree

5 files changed

+43
-42
lines changed

5 files changed

+43
-42
lines changed

pandas/core/arrays/_ranges.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from pandas.tseries.offsets import DateOffset
1313

1414

15-
def generate_time_range(
15+
def generate_regular_range(
1616
start: Union[Timestamp, Timedelta],
1717
end: Union[Timestamp, Timedelta],
1818
periods: int,
@@ -25,18 +25,18 @@ def generate_time_range(
2525
Parameters
2626
----------
2727
start : Timedelta, Timestamp or None
28-
first point of produced date range
28+
First point of produced date range.
2929
end : Timedelta, Timestamp or None
30-
last point of produced date range
30+
Last point of produced date range.
3131
periods : int
32-
number of periods in produced date range
32+
Number of periods in produced date range.
3333
freq : DateOffset
34-
describes space between dates in produced date range
34+
Describes space between dates in produced date range.
35+
It should be an instance of Tick.
3536
3637
Returns
3738
-------
38-
ndarray[np.int64]
39-
Representing nanosecond unix timestamps.
39+
ndarray[np.int64] Representing nanoseconds.
4040
"""
4141
start = start.value if start is not None else None
4242
end = end.value if end is not None else None

pandas/core/arrays/datetimes.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444

4545
from pandas.core.algorithms import checked_add_with_arr
4646
from pandas.core.arrays import datetimelike as dtl
47-
from pandas.core.arrays._ranges import generate_time_range
47+
from pandas.core.arrays._ranges import generate_regular_range
4848
import pandas.core.common as com
4949

5050
from pandas.tseries.frequencies import get_period_alias, to_offset
@@ -398,7 +398,7 @@ def _generate_range(
398398
end = end.tz_localize(None)
399399

400400
if isinstance(freq, Tick):
401-
values = generate_time_range(start, end, periods, freq)
401+
values = generate_regular_range(start, end, periods, freq)
402402
else:
403403
xdr = generate_range(start=start, end=end, periods=periods, offset=freq)
404404
values = np.array([x.value for x in xdr], dtype=np.int64)

pandas/core/arrays/timedeltas.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
from pandas.core import nanops
3434
from pandas.core.algorithms import checked_add_with_arr
3535
from pandas.core.arrays import datetimelike as dtl
36-
from pandas.core.arrays._ranges import generate_time_range
36+
from pandas.core.arrays._ranges import generate_regular_range
3737
import pandas.core.common as com
3838
from pandas.core.construction import extract_array
3939
from pandas.core.ops.common import unpack_zerodim_and_defer
@@ -259,7 +259,7 @@ def _generate_range(cls, start, end, periods, freq, closed=None):
259259
left_closed, right_closed = dtl.validate_endpoints(closed)
260260

261261
if freq is not None:
262-
index = generate_time_range(start, end, periods, freq)
262+
index = generate_regular_range(start, end, periods, freq)
263263
else:
264264
index = np.linspace(start.value, end.value, periods).astype("i8")
265265
if len(index) >= 2:

pandas/tests/indexes/timedeltas/test_timedelta_range.py

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import numpy as np
22
import pytest
33

4-
from pandas import timedelta_range, to_timedelta
4+
from pandas import Timedelta, Timestamp, date_range, timedelta_range, to_timedelta
55
import pandas._testing as tm
66

77
from pandas.tseries.offsets import Day, Second
@@ -61,3 +61,33 @@ def test_errors(self):
6161
# too many params
6262
with pytest.raises(ValueError, match=msg):
6363
timedelta_range(start="0 days", end="5 days", periods=10, freq="H")
64+
65+
@pytest.mark.parametrize(
66+
"start, end, freq",
67+
[
68+
("1D", "10D", "2D"),
69+
("2D", "30D", "3D"),
70+
("2s", "50s", "5s"),
71+
# tests that worked before GH 33498:
72+
("4D", "16D", "3D"),
73+
("8D", "16D", "40s"),
74+
],
75+
)
76+
def test_timedelta_range_freq_divide_end(self, start, end, freq):
77+
# GH 33498 only the cases where `(end % freq) == 0` used to fail
78+
79+
def mock_timedelta_range(start=None, end=None, **kwargs):
80+
epoch = Timestamp(0)
81+
if start is not None:
82+
start = epoch + Timedelta(start)
83+
if end is not None:
84+
end = epoch + Timedelta(end)
85+
result = date_range(start=start, end=end, **kwargs) - epoch
86+
result.freq = freq
87+
return result
88+
89+
res = timedelta_range(start=start, end=end, freq=freq)
90+
exp = mock_timedelta_range(start=start, end=end, freq=freq)
91+
92+
tm.assert_index_equal(res, exp)
93+
assert res.freq == exp.freq

pandas/tests/resample/test_timedelta.py

Lines changed: 1 addition & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -149,34 +149,5 @@ def test_resample_timedelta_edge_case(start, end, freq, resample_freq):
149149
result = s.resample(resample_freq).min()
150150
expected_index = pd.timedelta_range(freq=resample_freq, start=start, end=end)
151151
tm.assert_index_equal(result.index, expected_index)
152+
assert result.index.freq == expected_index.freq
152153
assert not np.isnan(result[-1])
153-
154-
155-
@pytest.mark.parametrize(
156-
"start, end, freq",
157-
[
158-
("1D", "10D", "2D"),
159-
("2D", "30D", "3D"),
160-
("2s", "50s", "5s"),
161-
# tests that worked before GH 33498:
162-
("4D", "16D", "3D"),
163-
("8D", "16D", "40s"),
164-
],
165-
)
166-
def test_timedelta_range_freq_divide_end(start, end, freq):
167-
# GH 33498 only the cases where `(end % freq) == 0` used to fail
168-
169-
def mock_timedelta_range(start=None, end=None, **kwargs):
170-
epoch = pd.Timestamp(0)
171-
if start is not None:
172-
start = epoch + pd.Timedelta(start)
173-
if end is not None:
174-
end = epoch + pd.Timedelta(end)
175-
result = pd.date_range(start=start, end=end, **kwargs) - epoch
176-
result.freq = freq
177-
return result
178-
179-
res = pd.timedelta_range(start=start, end=end, freq=freq)
180-
exp = mock_timedelta_range(start=start, end=end, freq=freq)
181-
182-
tm.assert_index_equal(res, exp)

0 commit comments

Comments
 (0)