|
8 | 8 | CategoricalDtype,
|
9 | 9 | CategoricalIndex,
|
10 | 10 | DataFrame,
|
| 11 | + DateOffset, |
11 | 12 | DatetimeIndex,
|
12 | 13 | Index,
|
13 | 14 | MultiIndex,
|
14 | 15 | Series,
|
15 | 16 | Timestamp,
|
16 | 17 | concat,
|
| 18 | + date_range, |
17 | 19 | get_dummies,
|
18 | 20 | period_range,
|
19 | 21 | )
|
@@ -165,6 +167,47 @@ def test_getitem_iloc_two_dimensional_generator(self):
|
165 | 167 | expected = Series([5, 6], name="b", index=[1, 2])
|
166 | 168 | tm.assert_series_equal(result, expected)
|
167 | 169 |
|
| 170 | + def test_getitem_iloc_dateoffset_days(self): |
| 171 | + # GH 46671 |
| 172 | + df = DataFrame( |
| 173 | + list(range(10)), |
| 174 | + index=date_range("01-01-2022", periods=10, freq=DateOffset(days=1)), |
| 175 | + ) |
| 176 | + result = df.loc["2022-01-01":"2022-01-03"] |
| 177 | + expected = DataFrame( |
| 178 | + [0, 1, 2], |
| 179 | + index=DatetimeIndex( |
| 180 | + ["2022-01-01", "2022-01-02", "2022-01-03"], |
| 181 | + dtype="datetime64[ns]", |
| 182 | + freq=DateOffset(days=1), |
| 183 | + ), |
| 184 | + ) |
| 185 | + tm.assert_frame_equal(result, expected) |
| 186 | + |
| 187 | + df = DataFrame( |
| 188 | + list(range(10)), |
| 189 | + index=date_range( |
| 190 | + "01-01-2022", periods=10, freq=DateOffset(days=1, hours=2) |
| 191 | + ), |
| 192 | + ) |
| 193 | + result = df.loc["2022-01-01":"2022-01-03"] |
| 194 | + expected = DataFrame( |
| 195 | + [0, 1, 2], |
| 196 | + index=DatetimeIndex( |
| 197 | + ["2022-01-01 00:00:00", "2022-01-02 02:00:00", "2022-01-03 04:00:00"], |
| 198 | + dtype="datetime64[ns]", |
| 199 | + freq=DateOffset(days=1, hours=2), |
| 200 | + ), |
| 201 | + ) |
| 202 | + tm.assert_frame_equal(result, expected) |
| 203 | + |
| 204 | + df = DataFrame( |
| 205 | + list(range(10)), |
| 206 | + index=date_range("01-01-2022", periods=10, freq=DateOffset(minutes=3)), |
| 207 | + ) |
| 208 | + result = df.loc["2022-01-01":"2022-01-03"] |
| 209 | + tm.assert_frame_equal(result, df) |
| 210 | + |
168 | 211 |
|
169 | 212 | class TestGetitemCallable:
|
170 | 213 | def test_getitem_callable(self, float_frame):
|
|
0 commit comments