1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
| import numpy as np
| import pytest
|
| from pandas import (
| DatetimeIndex,
| Timestamp,
| date_range,
| )
| import pandas._testing as tm
|
|
| class TestRepeat:
| def test_repeat_range(self, tz_naive_fixture):
| tz = tz_naive_fixture
| rng = date_range("1/1/2000", "1/1/2001")
|
| result = rng.repeat(5)
| assert result.freq is None
| assert len(result) == 5 * len(rng)
|
| index = date_range("2001-01-01", periods=2, freq="D", tz=tz)
| exp = DatetimeIndex(
| ["2001-01-01", "2001-01-01", "2001-01-02", "2001-01-02"], tz=tz
| )
| for res in [index.repeat(2), np.repeat(index, 2)]:
| tm.assert_index_equal(res, exp)
| assert res.freq is None
|
| index = date_range("2001-01-01", periods=2, freq="2D", tz=tz)
| exp = DatetimeIndex(
| ["2001-01-01", "2001-01-01", "2001-01-03", "2001-01-03"], tz=tz
| )
| for res in [index.repeat(2), np.repeat(index, 2)]:
| tm.assert_index_equal(res, exp)
| assert res.freq is None
|
| index = DatetimeIndex(["2001-01-01", "NaT", "2003-01-01"], tz=tz)
| exp = DatetimeIndex(
| [
| "2001-01-01",
| "2001-01-01",
| "2001-01-01",
| "NaT",
| "NaT",
| "NaT",
| "2003-01-01",
| "2003-01-01",
| "2003-01-01",
| ],
| tz=tz,
| )
| for res in [index.repeat(3), np.repeat(index, 3)]:
| tm.assert_index_equal(res, exp)
| assert res.freq is None
|
| def test_repeat(self, tz_naive_fixture):
| tz = tz_naive_fixture
| reps = 2
| msg = "the 'axis' parameter is not supported"
|
| rng = date_range(start="2016-01-01", periods=2, freq="30Min", tz=tz)
|
| expected_rng = DatetimeIndex(
| [
| Timestamp("2016-01-01 00:00:00", tz=tz),
| Timestamp("2016-01-01 00:00:00", tz=tz),
| Timestamp("2016-01-01 00:30:00", tz=tz),
| Timestamp("2016-01-01 00:30:00", tz=tz),
| ]
| )
|
| res = rng.repeat(reps)
| tm.assert_index_equal(res, expected_rng)
| assert res.freq is None
|
| tm.assert_index_equal(np.repeat(rng, reps), expected_rng)
| with pytest.raises(ValueError, match=msg):
| np.repeat(rng, reps, axis=1)
|
|