| 23 | |
| 24 | |
| 25 | def test_reindex_level(idx): |
| 26 | index = Index(["one"]) |
| 27 | |
| 28 | target, indexer = idx.reindex(index, level="second") |
| 29 | target2, indexer2 = index.reindex(idx, level="second") |
| 30 | |
| 31 | exp_index = idx.join(index, level="second", how="right") |
| 32 | exp_index2 = idx.join(index, level="second", how="left") |
| 33 | |
| 34 | assert target.equals(exp_index) |
| 35 | exp_indexer = np.array([0, 2, 4]) |
| 36 | tm.assert_numpy_array_equal(indexer, exp_indexer, check_dtype=False) |
| 37 | |
| 38 | assert target2.equals(exp_index2) |
| 39 | exp_indexer2 = np.array([0, -1, 0, -1, 0, -1]) |
| 40 | tm.assert_numpy_array_equal(indexer2, exp_indexer2, check_dtype=False) |
| 41 | |
| 42 | with pytest.raises(TypeError, match="Fill method not supported"): |
| 43 | idx.reindex(idx, method="pad", level="second") |
| 44 | |
| 45 | |
| 46 | def test_reindex_preserves_names_when_target_is_list_or_ndarray(idx): |