33import numpy as np
44import pytest
55
6- from pandas ._config import using_string_dtype
7-
86from pandas .errors import (
97 NumExprClobberingError ,
108 UndefinedVariableError ,
@@ -747,7 +745,6 @@ def test_inf(self, op, f, engine, parser):
747745 result = df .query (q , engine = engine , parser = parser )
748746 tm .assert_frame_equal (result , expected )
749747
750- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
751748 def test_check_tz_aware_index_query (self , tz_aware_fixture ):
752749 # https://github.com/pandas-dev/pandas/issues/29463
753750 tz = tz_aware_fixture
@@ -760,6 +757,7 @@ def test_check_tz_aware_index_query(self, tz_aware_fixture):
760757 tm .assert_frame_equal (result , expected )
761758
762759 expected = DataFrame (df_index )
760+ expected .columns = expected .columns .astype (object )
763761 result = df .reset_index ().query ('"2018-01-03 00:00:00+00" < time' )
764762 tm .assert_frame_equal (result , expected )
765763
@@ -1057,7 +1055,7 @@ def test_query_with_string_columns(self, parser, engine):
10571055 with pytest .raises (NotImplementedError , match = msg ):
10581056 df .query ("a in b and c < d" , parser = parser , engine = engine )
10591057
1060- def test_object_array_eq_ne (self , parser , engine , using_infer_string ):
1058+ def test_object_array_eq_ne (self , parser , engine ):
10611059 df = DataFrame (
10621060 {
10631061 "a" : list ("aaaabbbbcccc" ),
@@ -1066,14 +1064,11 @@ def test_object_array_eq_ne(self, parser, engine, using_infer_string):
10661064 "d" : np .random .default_rng (2 ).integers (9 , size = 12 ),
10671065 }
10681066 )
1069- warning = RuntimeWarning if using_infer_string and engine == "numexpr" else None
1070- with tm .assert_produces_warning (warning ):
1071- res = df .query ("a == b" , parser = parser , engine = engine )
1067+ res = df .query ("a == b" , parser = parser , engine = engine )
10721068 exp = df [df .a == df .b ]
10731069 tm .assert_frame_equal (res , exp )
10741070
1075- with tm .assert_produces_warning (warning ):
1076- res = df .query ("a != b" , parser = parser , engine = engine )
1071+ res = df .query ("a != b" , parser = parser , engine = engine )
10771072 exp = df [df .a != df .b ]
10781073 tm .assert_frame_equal (res , exp )
10791074
@@ -1112,16 +1107,12 @@ def test_query_with_nested_special_character(self, parser, engine):
11121107 [">=" , operator .ge ],
11131108 ],
11141109 )
1115- def test_query_lex_compare_strings (
1116- self , parser , engine , op , func , using_infer_string
1117- ):
1110+ def test_query_lex_compare_strings (self , parser , engine , op , func ):
11181111 a = Series (np .random .default_rng (2 ).choice (list ("abcde" ), 20 ))
11191112 b = Series (np .arange (a .size ))
11201113 df = DataFrame ({"X" : a , "Y" : b })
11211114
1122- warning = RuntimeWarning if using_infer_string and engine == "numexpr" else None
1123- with tm .assert_produces_warning (warning ):
1124- res = df .query (f'X { op } "d"' , engine = engine , parser = parser )
1115+ res = df .query (f'X { op } "d"' , engine = engine , parser = parser )
11251116 expected = df [func (df .X , "d" )]
11261117 tm .assert_frame_equal (res , expected )
11271118
0 commit comments