@@ -34,23 +34,25 @@ def test_get_level_number_integer(idx):
34
34
idx ._get_level_number ("fourth" )
35
35
36
36
37
- def test_get_dtypes ():
37
+ def test_get_dtypes (using_infer_string ):
38
38
# Test MultiIndex.dtypes (# Gh37062)
39
39
idx_multitype = MultiIndex .from_product (
40
40
[[1 , 2 , 3 ], ["a" , "b" , "c" ], pd .date_range ("20200101" , periods = 2 , tz = "UTC" )],
41
41
names = ["int" , "string" , "dt" ],
42
42
)
43
+
44
+ exp = "object" if not using_infer_string else "string"
43
45
expected = pd .Series (
44
46
{
45
47
"int" : np .dtype ("int64" ),
46
- "string" : np . dtype ( "O" ) ,
48
+ "string" : exp ,
47
49
"dt" : DatetimeTZDtype (tz = "utc" ),
48
50
}
49
51
)
50
52
tm .assert_series_equal (expected , idx_multitype .dtypes )
51
53
52
54
53
- def test_get_dtypes_no_level_name ():
55
+ def test_get_dtypes_no_level_name (using_infer_string ):
54
56
# Test MultiIndex.dtypes (# GH38580 )
55
57
idx_multitype = MultiIndex .from_product (
56
58
[
@@ -59,17 +61,18 @@ def test_get_dtypes_no_level_name():
59
61
pd .date_range ("20200101" , periods = 2 , tz = "UTC" ),
60
62
],
61
63
)
64
+ exp = "object" if not using_infer_string else "string"
62
65
expected = pd .Series (
63
66
{
64
67
"level_0" : np .dtype ("int64" ),
65
- "level_1" : np . dtype ( "O" ) ,
68
+ "level_1" : exp ,
66
69
"level_2" : DatetimeTZDtype (tz = "utc" ),
67
70
}
68
71
)
69
72
tm .assert_series_equal (expected , idx_multitype .dtypes )
70
73
71
74
72
- def test_get_dtypes_duplicate_level_names ():
75
+ def test_get_dtypes_duplicate_level_names (using_infer_string ):
73
76
# Test MultiIndex.dtypes with non-unique level names (# GH45174)
74
77
result = MultiIndex .from_product (
75
78
[
@@ -79,8 +82,9 @@ def test_get_dtypes_duplicate_level_names():
79
82
],
80
83
names = ["A" , "A" , "A" ],
81
84
).dtypes
85
+ exp = "object" if not using_infer_string else "string"
82
86
expected = pd .Series (
83
- [np .dtype ("int64" ), np . dtype ( "O" ) , DatetimeTZDtype (tz = "utc" )],
87
+ [np .dtype ("int64" ), exp , DatetimeTZDtype (tz = "utc" )],
84
88
index = ["A" , "A" , "A" ],
85
89
)
86
90
tm .assert_series_equal (result , expected )
0 commit comments