|
43 | 43 | Series,
|
44 | 44 | Timedelta,
|
45 | 45 | Timestamp,
|
| 46 | + cut, |
46 | 47 | date_range,
|
47 | 48 | isna,
|
48 | 49 | )
|
@@ -2353,6 +2354,32 @@ def test_construct_with_two_categoricalindex_series(self):
|
2353 | 2354 | )
|
2354 | 2355 | tm.assert_frame_equal(result, expected)
|
2355 | 2356 |
|
| 2357 | + def test_constructor_series_nonexact_categoricalindex(self): |
| 2358 | + # GH 42424 |
| 2359 | + ser = Series(range(0, 100)) |
| 2360 | + ser1 = cut(ser, 10).value_counts().head(5) |
| 2361 | + ser2 = cut(ser, 10).value_counts().tail(5) |
| 2362 | + result = DataFrame({"1": ser1, "2": ser2}) |
| 2363 | + index = CategoricalIndex( |
| 2364 | + [ |
| 2365 | + Interval(-0.099, 9.9, closed="right"), |
| 2366 | + Interval(9.9, 19.8, closed="right"), |
| 2367 | + Interval(19.8, 29.7, closed="right"), |
| 2368 | + Interval(29.7, 39.6, closed="right"), |
| 2369 | + Interval(39.6, 49.5, closed="right"), |
| 2370 | + Interval(49.5, 59.4, closed="right"), |
| 2371 | + Interval(59.4, 69.3, closed="right"), |
| 2372 | + Interval(69.3, 79.2, closed="right"), |
| 2373 | + Interval(79.2, 89.1, closed="right"), |
| 2374 | + Interval(89.1, 99, closed="right"), |
| 2375 | + ], |
| 2376 | + ordered=True, |
| 2377 | + ) |
| 2378 | + expected = DataFrame( |
| 2379 | + {"1": [10] * 5 + [np.nan] * 5, "2": [np.nan] * 5 + [10] * 5}, index=index |
| 2380 | + ) |
| 2381 | + tm.assert_frame_equal(expected, result) |
| 2382 | + |
2356 | 2383 | def test_from_M8_structured(self):
|
2357 | 2384 | dates = [(datetime(2012, 9, 9, 0, 0), datetime(2012, 9, 8, 15, 10))]
|
2358 | 2385 | arr = np.array(dates, dtype=[("Date", "M8[us]"), ("Forecasting", "M8[us]")])
|
|
0 commit comments