Skip to content

Commit 1c04a47

Browse files
Sheogorath27feefladder
authored andcommitted
TST: categorical reindex with added categories (pandas-dev#43210)
* TST: categorical reindex with added categories * Update test_reindex.py * TST: Dataframe construct from series.
1 parent 3d59459 commit 1c04a47

File tree

2 files changed

+47
-0
lines changed

2 files changed

+47
-0
lines changed

pandas/tests/frame/test_constructors.py

+27
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
Series,
4444
Timedelta,
4545
Timestamp,
46+
cut,
4647
date_range,
4748
isna,
4849
)
@@ -2353,6 +2354,32 @@ def test_construct_with_two_categoricalindex_series(self):
23532354
)
23542355
tm.assert_frame_equal(result, expected)
23552356

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+
23562383
def test_from_M8_structured(self):
23572384
dates = [(datetime(2012, 9, 9, 0, 0), datetime(2012, 9, 8, 15, 10))]
23582385
arr = np.array(dates, dtype=[("Date", "M8[us]"), ("Forecasting", "M8[us]")])

pandas/tests/indexes/categorical/test_reindex.py

+20
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
CategoricalIndex,
77
DataFrame,
88
Index,
9+
Interval,
910
Series,
1011
)
1112
import pandas._testing as tm
@@ -103,3 +104,22 @@ def test_reindex_not_category(self, index_df, index_res, index_exp):
103104
result = df.reindex(index=index_res)
104105
expected = DataFrame(index=index_exp)
105106
tm.assert_frame_equal(result, expected)
107+
108+
def test_reindex_categorical_added_category(self):
109+
# GH 42424
110+
ci = CategoricalIndex(
111+
[Interval(0, 1, closed="right"), Interval(1, 2, closed="right")],
112+
ordered=True,
113+
)
114+
ci_add = CategoricalIndex(
115+
[
116+
Interval(0, 1, closed="right"),
117+
Interval(1, 2, closed="right"),
118+
Interval(2, 3, closed="right"),
119+
Interval(3, 4, closed="right"),
120+
],
121+
ordered=True,
122+
)
123+
result, _ = ci.reindex(ci_add)
124+
expected = ci_add
125+
tm.assert_index_equal(expected, result)

0 commit comments

Comments
 (0)