2
2
import pytest
3
3
4
4
import pandas as pd
5
- from pandas import CategoricalIndex , Index , MultiIndex
5
+ from pandas import CategoricalIndex , MultiIndex
6
6
import pandas ._testing as tm
7
7
8
8
@@ -27,90 +27,6 @@ def test_get_level_number_integer(idx):
27
27
idx ._get_level_number ("fourth" )
28
28
29
29
30
- def test_get_level_values (idx ):
31
- result = idx .get_level_values (0 )
32
- expected = Index (["foo" , "foo" , "bar" , "baz" , "qux" , "qux" ], name = "first" )
33
- tm .assert_index_equal (result , expected )
34
- assert result .name == "first"
35
-
36
- result = idx .get_level_values ("first" )
37
- expected = idx .get_level_values (0 )
38
- tm .assert_index_equal (result , expected )
39
-
40
- # GH 10460
41
- index = MultiIndex (
42
- levels = [CategoricalIndex (["A" , "B" ]), CategoricalIndex ([1 , 2 , 3 ])],
43
- codes = [np .array ([0 , 0 , 0 , 1 , 1 , 1 ]), np .array ([0 , 1 , 2 , 0 , 1 , 2 ])],
44
- )
45
-
46
- exp = CategoricalIndex (["A" , "A" , "A" , "B" , "B" , "B" ])
47
- tm .assert_index_equal (index .get_level_values (0 ), exp )
48
- exp = CategoricalIndex ([1 , 2 , 3 , 1 , 2 , 3 ])
49
- tm .assert_index_equal (index .get_level_values (1 ), exp )
50
-
51
-
52
- def test_get_value_duplicates ():
53
- index = MultiIndex (
54
- levels = [["D" , "B" , "C" ], [0 , 26 , 27 , 37 , 57 , 67 , 75 , 82 ]],
55
- codes = [[0 , 0 , 0 , 1 , 2 , 2 , 2 , 2 , 2 , 2 ], [1 , 3 , 4 , 6 , 0 , 2 , 2 , 3 , 5 , 7 ]],
56
- names = ["tag" , "day" ],
57
- )
58
-
59
- assert index .get_loc ("D" ) == slice (0 , 3 )
60
-
61
-
62
- def test_get_level_values_all_na ():
63
- # GH 17924 when level entirely consists of nan
64
- arrays = [[np .nan , np .nan , np .nan ], ["a" , np .nan , 1 ]]
65
- index = pd .MultiIndex .from_arrays (arrays )
66
- result = index .get_level_values (0 )
67
- expected = pd .Index ([np .nan , np .nan , np .nan ], dtype = np .float64 )
68
- tm .assert_index_equal (result , expected )
69
-
70
- result = index .get_level_values (1 )
71
- expected = pd .Index (["a" , np .nan , 1 ], dtype = object )
72
- tm .assert_index_equal (result , expected )
73
-
74
-
75
- def test_get_level_values_int_with_na ():
76
- # GH 17924
77
- arrays = [["a" , "b" , "b" ], [1 , np .nan , 2 ]]
78
- index = pd .MultiIndex .from_arrays (arrays )
79
- result = index .get_level_values (1 )
80
- expected = Index ([1 , np .nan , 2 ])
81
- tm .assert_index_equal (result , expected )
82
-
83
- arrays = [["a" , "b" , "b" ], [np .nan , np .nan , 2 ]]
84
- index = pd .MultiIndex .from_arrays (arrays )
85
- result = index .get_level_values (1 )
86
- expected = Index ([np .nan , np .nan , 2 ])
87
- tm .assert_index_equal (result , expected )
88
-
89
-
90
- def test_get_level_values_na ():
91
- arrays = [[np .nan , np .nan , np .nan ], ["a" , np .nan , 1 ]]
92
- index = pd .MultiIndex .from_arrays (arrays )
93
- result = index .get_level_values (0 )
94
- expected = pd .Index ([np .nan , np .nan , np .nan ])
95
- tm .assert_index_equal (result , expected )
96
-
97
- result = index .get_level_values (1 )
98
- expected = pd .Index (["a" , np .nan , 1 ])
99
- tm .assert_index_equal (result , expected )
100
-
101
- arrays = [["a" , "b" , "b" ], pd .DatetimeIndex ([0 , 1 , pd .NaT ])]
102
- index = pd .MultiIndex .from_arrays (arrays )
103
- result = index .get_level_values (1 )
104
- expected = pd .DatetimeIndex ([0 , 1 , pd .NaT ])
105
- tm .assert_index_equal (result , expected )
106
-
107
- arrays = [[], []]
108
- index = pd .MultiIndex .from_arrays (arrays )
109
- result = index .get_level_values (0 )
110
- expected = pd .Index ([], dtype = object )
111
- tm .assert_index_equal (result , expected )
112
-
113
-
114
30
def test_set_name_methods (idx , index_names ):
115
31
# so long as these are synonyms, we don't need to test set_names
116
32
assert idx .rename == idx .set_names
0 commit comments