44import numpy as np
55import pytest
66
7- from pandas ._config import using_string_dtype
8-
97from pandas .errors import (
108 NumExprClobberingError ,
119 UndefinedVariableError ,
@@ -762,7 +760,6 @@ def test_inf(self, op, f, engine, parser):
762760 result = df .query (q , engine = engine , parser = parser )
763761 tm .assert_frame_equal (result , expected )
764762
765- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
766763 def test_check_tz_aware_index_query (self , tz_aware_fixture ):
767764 # https://github.com/pandas-dev/pandas/issues/29463
768765 tz = tz_aware_fixture
@@ -775,6 +772,7 @@ def test_check_tz_aware_index_query(self, tz_aware_fixture):
775772 tm .assert_frame_equal (result , expected )
776773
777774 expected = DataFrame (df_index )
775+ expected .columns = expected .columns .astype (object )
778776 result = df .reset_index ().query ('"2018-01-03 00:00:00+00" < time' )
779777 tm .assert_frame_equal (result , expected )
780778
@@ -1072,7 +1070,7 @@ def test_query_with_string_columns(self, parser, engine):
10721070 with pytest .raises (NotImplementedError , match = msg ):
10731071 df .query ("a in b and c < d" , parser = parser , engine = engine )
10741072
1075- def test_object_array_eq_ne (self , parser , engine , using_infer_string ):
1073+ def test_object_array_eq_ne (self , parser , engine ):
10761074 df = DataFrame (
10771075 {
10781076 "a" : list ("aaaabbbbcccc" ),
@@ -1081,14 +1079,11 @@ def test_object_array_eq_ne(self, parser, engine, using_infer_string):
10811079 "d" : np .random .default_rng (2 ).integers (9 , size = 12 ),
10821080 }
10831081 )
1084- warning = RuntimeWarning if using_infer_string and engine == "numexpr" else None
1085- with tm .assert_produces_warning (warning ):
1086- res = df .query ("a == b" , parser = parser , engine = engine )
1082+ res = df .query ("a == b" , parser = parser , engine = engine )
10871083 exp = df [df .a == df .b ]
10881084 tm .assert_frame_equal (res , exp )
10891085
1090- with tm .assert_produces_warning (warning ):
1091- res = df .query ("a != b" , parser = parser , engine = engine )
1086+ res = df .query ("a != b" , parser = parser , engine = engine )
10921087 exp = df [df .a != df .b ]
10931088 tm .assert_frame_equal (res , exp )
10941089
@@ -1128,15 +1123,13 @@ def test_query_with_nested_special_character(self, parser, engine):
11281123 ],
11291124 )
11301125 def test_query_lex_compare_strings (
1131- self , parser , engine , op , func , using_infer_string
1126+ self , parser , engine , op , func
11321127 ):
11331128 a = Series (np .random .default_rng (2 ).choice (list ("abcde" ), 20 ))
11341129 b = Series (np .arange (a .size ))
11351130 df = DataFrame ({"X" : a , "Y" : b })
11361131
1137- warning = RuntimeWarning if using_infer_string and engine == "numexpr" else None
1138- with tm .assert_produces_warning (warning ):
1139- res = df .query (f'X { op } "d"' , engine = engine , parser = parser )
1132+ res = df .query (f'X { op } "d"' , engine = engine , parser = parser )
11401133 expected = df [func (df .X , "d" )]
11411134 tm .assert_frame_equal (res , expected )
11421135
@@ -1400,15 +1393,13 @@ def test_expr_with_column_name_with_backtick(self):
14001393 expected = df [df ["a`b" ] < 2 ]
14011394 tm .assert_frame_equal (result , expected )
14021395
1403- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
14041396 def test_expr_with_string_with_backticks (self ):
14051397 # GH 59285
14061398 df = DataFrame (("`" , "`````" , "``````````" ), columns = ["#backticks" ])
14071399 result = df .query ("'```' < `#backticks`" )
14081400 expected = df ["```" < df ["#backticks" ]]
14091401 tm .assert_frame_equal (result , expected )
14101402
1411- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
14121403 def test_expr_with_string_with_backticked_substring_same_as_column_name (self ):
14131404 # GH 59285
14141405 df = DataFrame (("`" , "`````" , "``````````" ), columns = ["#backticks" ])
@@ -1439,7 +1430,6 @@ def test_expr_with_column_names_with_special_characters(self, col1, col2, expr):
14391430 expected = df [df [col1 ] < df [col2 ]]
14401431 tm .assert_frame_equal (result , expected )
14411432
1442- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
14431433 def test_expr_with_no_backticks (self ):
14441434 # GH 59285
14451435 df = DataFrame (("aaa" , "vvv" , "zzz" ), columns = ["column_name" ])
@@ -1483,15 +1473,13 @@ def test_expr_with_quote_opened_before_backtick_and_quote_is_unmatched(self):
14831473 ):
14841474 df .query ("`column-name` < 'It`s that\\ 's \" quote\" #hash" )
14851475
1486- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
14871476 def test_expr_with_quote_opened_before_backtick_and_quote_is_matched_at_end (self ):
14881477 # GH 59285
14891478 df = DataFrame (("aaa" , "vvv" , "zzz" ), columns = ["column-name" ])
14901479 result = df .query ("`column-name` < 'It`s that\\ 's \" quote\" #hash'" )
14911480 expected = df [df ["column-name" ] < 'It`s that\' s "quote" #hash' ]
14921481 tm .assert_frame_equal (result , expected )
14931482
1494- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
14951483 def test_expr_with_quote_opened_before_backtick_and_quote_is_matched_in_mid (self ):
14961484 # GH 59285
14971485 df = DataFrame (("aaa" , "vvv" , "zzz" ), columns = ["column-name" ])
0 commit comments