@@ -1883,23 +1883,31 @@ class A(OrderedDict):
1883
1883
(
1884
1884
{("a" , "a" ): 0.0 , ("b" , "a" ): 1.0 , ("b" , "c" ): 2.0 , "z" : 111.0 },
1885
1885
None ,
1886
- Index (["z" , ("a" , "a" ), ("b" , "a" ), ("b" , "c" )], tupleize_cols = False ),
1886
+ Index (["z" , ("a" , "a" ), ("b" , "a" ), ("b" , "c" )], dtype = object ),
1887
1887
),
1888
1888
],
1889
1889
)
1890
1890
def test_constructor_dict_multiindex (
1891
- data , expected_index_multi , expected_index_single
1891
+ self , data , expected_index_multi , expected_index_single
1892
1892
):
1893
- _d = sorted (data .items ())
1893
+ if all (isinstance (k , tuple ) for k in data .keys ()):
1894
+ sorted_data = sorted (data .items ())
1895
+ else :
1896
+ sorted_data = list (data .items ())
1894
1897
1895
1898
result = Series (data )
1896
- if expected_index_multi :
1897
- expected = Series ([x [1 ] for x in _d ], index = expected_index_multi )
1899
+
1900
+ if expected_index_multi is not None :
1901
+ expected = Series ([x [1 ] for x in sorted_data ], index = expected_index_multi )
1898
1902
tm .assert_series_equal (result , expected )
1899
1903
1900
- if expected_index_single :
1901
- result = result .reindex (index = expected_index_single )
1902
- expected = Series ([x [1 ] for x in _d ], index = expected_index_single )
1904
+ if expected_index_single is not None :
1905
+ result = result .reindex (index = expected_index_single , fill_value = np .nan )
1906
+ expected_values = [
1907
+ data [idx ] if idx in data else np .nan for idx in expected_index_single
1908
+ ]
1909
+ expected = Series (expected_values , index = expected_index_single )
1910
+
1903
1911
tm .assert_series_equal (result , expected )
1904
1912
1905
1913
def test_constructor_dict_multiindex_reindex_flat (self ):
0 commit comments