@@ -1445,11 +1445,11 @@ def test_constructor_tuple_of_tuples(self):
1445
1445
"data, expected_values, expected_index" ,
1446
1446
[
1447
1447
({(1 , 2 ): 3 , (None , 5 ): 6 }, [3 , 6 ], [(1 , 2 ), (None , 5 )]),
1448
- # GH 60695 test case
1449
1448
({(1 ,): 3 , (4 , 5 ): 6 }, [3 , 6 ], [(1 , None ), (4 , 5 )]),
1450
1449
],
1451
1450
)
1452
1451
def test_constructor_dict_of_tuples (self , data , expected_values , expected_index ):
1452
+ # GH 60695
1453
1453
result = Series (data ).sort_values ()
1454
1454
expected = Series (expected_values , index = MultiIndex .from_tuples (expected_index ))
1455
1455
tm .assert_series_equal (result , expected )
@@ -1870,44 +1870,33 @@ class A(OrderedDict):
1870
1870
@pytest .mark .parametrize (
1871
1871
"data, expected_index_multi, expected_index_single" ,
1872
1872
[
1873
+ ({("a" , "a" ): 0.0 , ("b" , "a" ): 1.0 , ("b" , "c" ): 2.0 }, True , None ),
1874
+ ({("a" ,): 0.0 , ("a" , "b" ): 1.0 }, True , None ),
1873
1875
(
1874
- {("a" , "a" ): 0.0 , ("b" , "a" ): 1.0 , ("b" , "c" ): 2.0 },
1875
- MultiIndex .from_tuples ([("a" , "a" ), ("b" , "a" ), ("b" , "c" )]),
1876
+ {"z" : 111.0 , ("a" , "a" ): 0.0 , ("b" , "a" ): 1.0 , ("b" , "c" ): 2.0 },
1876
1877
None ,
1877
- ),
1878
- (
1879
- {("a" ,): 0.0 , ("a" , "b" ): 1.0 },
1880
- MultiIndex .from_tuples ([("a" ,), ("a" , "b" )]),
1881
- None ,
1882
- ),
1883
- (
1884
- {("a" , "a" ): 0.0 , ("b" , "a" ): 1.0 , ("b" , "c" ): 2.0 , "z" : 111.0 },
1885
- None ,
1886
- Index (["z" , ("a" , "a" ), ("b" , "a" ), ("b" , "c" )], dtype = object ),
1878
+ True ,
1887
1879
),
1888
1880
],
1889
1881
)
1890
1882
def test_constructor_dict_multiindex (
1891
1883
self , data , expected_index_multi , expected_index_single
1892
1884
):
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 ())
1897
-
1885
+ # GH#60695
1898
1886
result = Series (data )
1899
1887
1900
1888
if expected_index_multi is not None :
1901
- expected = Series ([x [1 ] for x in sorted_data ], index = expected_index_multi )
1889
+ expected = Series (
1890
+ list (data .values ()),
1891
+ index = MultiIndex .from_tuples (list (data .keys ())),
1892
+ )
1902
1893
tm .assert_series_equal (result , expected )
1903
1894
1904
1895
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
-
1896
+ expected = Series (
1897
+ list (data .values ()),
1898
+ index = Index (list (data .keys ())),
1899
+ )
1911
1900
tm .assert_series_equal (result , expected )
1912
1901
1913
1902
def test_constructor_dict_multiindex_reindex_flat (self ):
0 commit comments