3
3
import numpy as np
4
4
import pytest
5
5
6
- from pandas ._config import using_string_dtype
7
-
8
6
from pandas .errors import (
9
7
NumExprClobberingError ,
10
8
UndefinedVariableError ,
@@ -747,7 +745,6 @@ def test_inf(self, op, f, engine, parser):
747
745
result = df .query (q , engine = engine , parser = parser )
748
746
tm .assert_frame_equal (result , expected )
749
747
750
- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
751
748
def test_check_tz_aware_index_query (self , tz_aware_fixture ):
752
749
# https://github.com/pandas-dev/pandas/issues/29463
753
750
tz = tz_aware_fixture
@@ -760,6 +757,7 @@ def test_check_tz_aware_index_query(self, tz_aware_fixture):
760
757
tm .assert_frame_equal (result , expected )
761
758
762
759
expected = DataFrame (df_index )
760
+ expected .columns = expected .columns .astype (object )
763
761
result = df .reset_index ().query ('"2018-01-03 00:00:00+00" < time' )
764
762
tm .assert_frame_equal (result , expected )
765
763
@@ -1057,7 +1055,7 @@ def test_query_with_string_columns(self, parser, engine):
1057
1055
with pytest .raises (NotImplementedError , match = msg ):
1058
1056
df .query ("a in b and c < d" , parser = parser , engine = engine )
1059
1057
1060
- def test_object_array_eq_ne (self , parser , engine , using_infer_string ):
1058
+ def test_object_array_eq_ne (self , parser , engine ):
1061
1059
df = DataFrame (
1062
1060
{
1063
1061
"a" : list ("aaaabbbbcccc" ),
@@ -1066,14 +1064,11 @@ def test_object_array_eq_ne(self, parser, engine, using_infer_string):
1066
1064
"d" : np .random .default_rng (2 ).integers (9 , size = 12 ),
1067
1065
}
1068
1066
)
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 )
1072
1068
exp = df [df .a == df .b ]
1073
1069
tm .assert_frame_equal (res , exp )
1074
1070
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 )
1077
1072
exp = df [df .a != df .b ]
1078
1073
tm .assert_frame_equal (res , exp )
1079
1074
@@ -1112,16 +1107,12 @@ def test_query_with_nested_special_character(self, parser, engine):
1112
1107
[">=" , operator .ge ],
1113
1108
],
1114
1109
)
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 ):
1118
1111
a = Series (np .random .default_rng (2 ).choice (list ("abcde" ), 20 ))
1119
1112
b = Series (np .arange (a .size ))
1120
1113
df = DataFrame ({"X" : a , "Y" : b })
1121
1114
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 )
1125
1116
expected = df [func (df .X , "d" )]
1126
1117
tm .assert_frame_equal (res , expected )
1127
1118
0 commit comments