Skip to content

Commit ebfde0f

Browse files
ganevgvMateusz Górski
authored and
Mateusz Górski
committed
TST: add test for .loc indexing Index type preservation (pandas-dev#29533)
1 parent 0c000bd commit ebfde0f

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

pandas/tests/frame/test_indexing.py

+25
Original file line numberDiff line numberDiff line change
@@ -3856,3 +3856,28 @@ def test_functions_no_warnings(self):
38563856
df["group"] = pd.cut(
38573857
df.value, range(0, 105, 10), right=False, labels=labels
38583858
)
3859+
3860+
def test_loc_indexing_preserves_index_category_dtype(self):
3861+
# GH 15166
3862+
df = DataFrame(
3863+
data=np.arange(2, 22, 2),
3864+
index=pd.MultiIndex(
3865+
levels=[pd.CategoricalIndex(["a", "b"]), range(10)],
3866+
codes=[[0] * 5 + [1] * 5, range(10)],
3867+
names=["Index1", "Index2"],
3868+
),
3869+
)
3870+
3871+
expected = pd.CategoricalIndex(
3872+
["a", "b"],
3873+
categories=["a", "b"],
3874+
ordered=False,
3875+
name="Index1",
3876+
dtype="category",
3877+
)
3878+
3879+
result = df.index.levels[0]
3880+
tm.assert_index_equal(result, expected)
3881+
3882+
result = df.loc[["a"]].index.levels[0]
3883+
tm.assert_index_equal(result, expected)

0 commit comments

Comments
 (0)