Skip to content

Commit bee3ceb

Browse files
committed
CLN: fix review
1 parent ce42b34 commit bee3ceb

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
@@ -45,7 +45,7 @@
4545

4646
from pandas.core.algorithms import checked_add_with_arr
4747
from pandas.core.arrays import datetimelike as dtl
48-
from pandas.core.arrays._ranges import generate_time_range
48+
from pandas.core.arrays._ranges import generate_regular_range
4949
import pandas.core.common as com
5050

5151
from pandas.tseries.frequencies import get_period_alias, to_offset
@@ -395,7 +395,7 @@ def _generate_range(
395395
end = end.tz_localize(None)
396396

397397
if isinstance(freq, Tick):
398-
values = generate_time_range(start, end, periods, freq)
398+
values = generate_regular_range(start, end, periods, freq)
399399
else:
400400
xdr = generate_range(start=start, end=end, periods=periods, offset=freq)
401401
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
@@ -38,7 +38,7 @@
3838
from pandas.core import nanops
3939
from pandas.core.algorithms import checked_add_with_arr
4040
from pandas.core.arrays import datetimelike as dtl
41-
from pandas.core.arrays._ranges import generate_time_range
41+
from pandas.core.arrays._ranges import generate_regular_range
4242
import pandas.core.common as com
4343
from pandas.core.construction import extract_array
4444

@@ -250,7 +250,7 @@ def _generate_range(cls, start, end, periods, freq, closed=None):
250250
left_closed, right_closed = dtl.validate_endpoints(closed)
251251

252252
if freq is not None:
253-
index = generate_time_range(start, end, periods, freq)
253+
index = generate_regular_range(start, end, periods, freq)
254254
else:
255255
index = np.linspace(start.value, end.value, periods).astype("i8")
256256
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)