4
4
import numpy as np
5
5
import pytest
6
6
7
- from pandas ._config import using_string_dtype
8
-
9
7
from pandas .errors import (
10
8
NumExprClobberingError ,
11
9
UndefinedVariableError ,
@@ -762,7 +760,6 @@ def test_inf(self, op, f, engine, parser):
762
760
result = df .query (q , engine = engine , parser = parser )
763
761
tm .assert_frame_equal (result , expected )
764
762
765
- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
766
763
def test_check_tz_aware_index_query (self , tz_aware_fixture ):
767
764
# https://github.com/pandas-dev/pandas/issues/29463
768
765
tz = tz_aware_fixture
@@ -775,6 +772,7 @@ def test_check_tz_aware_index_query(self, tz_aware_fixture):
775
772
tm .assert_frame_equal (result , expected )
776
773
777
774
expected = DataFrame (df_index )
775
+ expected .columns = expected .columns .astype (object )
778
776
result = df .reset_index ().query ('"2018-01-03 00:00:00+00" < time' )
779
777
tm .assert_frame_equal (result , expected )
780
778
@@ -1072,7 +1070,7 @@ def test_query_with_string_columns(self, parser, engine):
1072
1070
with pytest .raises (NotImplementedError , match = msg ):
1073
1071
df .query ("a in b and c < d" , parser = parser , engine = engine )
1074
1072
1075
- def test_object_array_eq_ne (self , parser , engine , using_infer_string ):
1073
+ def test_object_array_eq_ne (self , parser , engine ):
1076
1074
df = DataFrame (
1077
1075
{
1078
1076
"a" : list ("aaaabbbbcccc" ),
@@ -1081,14 +1079,11 @@ def test_object_array_eq_ne(self, parser, engine, using_infer_string):
1081
1079
"d" : np .random .default_rng (2 ).integers (9 , size = 12 ),
1082
1080
}
1083
1081
)
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 )
1087
1083
exp = df [df .a == df .b ]
1088
1084
tm .assert_frame_equal (res , exp )
1089
1085
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 )
1092
1087
exp = df [df .a != df .b ]
1093
1088
tm .assert_frame_equal (res , exp )
1094
1089
@@ -1128,15 +1123,13 @@ def test_query_with_nested_special_character(self, parser, engine):
1128
1123
],
1129
1124
)
1130
1125
def test_query_lex_compare_strings (
1131
- self , parser , engine , op , func , using_infer_string
1126
+ self , parser , engine , op , func
1132
1127
):
1133
1128
a = Series (np .random .default_rng (2 ).choice (list ("abcde" ), 20 ))
1134
1129
b = Series (np .arange (a .size ))
1135
1130
df = DataFrame ({"X" : a , "Y" : b })
1136
1131
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 )
1140
1133
expected = df [func (df .X , "d" )]
1141
1134
tm .assert_frame_equal (res , expected )
1142
1135
@@ -1400,15 +1393,13 @@ def test_expr_with_column_name_with_backtick(self):
1400
1393
expected = df [df ["a`b" ] < 2 ]
1401
1394
tm .assert_frame_equal (result , expected )
1402
1395
1403
- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
1404
1396
def test_expr_with_string_with_backticks (self ):
1405
1397
# GH 59285
1406
1398
df = DataFrame (("`" , "`````" , "``````````" ), columns = ["#backticks" ])
1407
1399
result = df .query ("'```' < `#backticks`" )
1408
1400
expected = df ["```" < df ["#backticks" ]]
1409
1401
tm .assert_frame_equal (result , expected )
1410
1402
1411
- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
1412
1403
def test_expr_with_string_with_backticked_substring_same_as_column_name (self ):
1413
1404
# GH 59285
1414
1405
df = DataFrame (("`" , "`````" , "``````````" ), columns = ["#backticks" ])
@@ -1439,7 +1430,6 @@ def test_expr_with_column_names_with_special_characters(self, col1, col2, expr):
1439
1430
expected = df [df [col1 ] < df [col2 ]]
1440
1431
tm .assert_frame_equal (result , expected )
1441
1432
1442
- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
1443
1433
def test_expr_with_no_backticks (self ):
1444
1434
# GH 59285
1445
1435
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):
1483
1473
):
1484
1474
df .query ("`column-name` < 'It`s that\\ 's \" quote\" #hash" )
1485
1475
1486
- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
1487
1476
def test_expr_with_quote_opened_before_backtick_and_quote_is_matched_at_end (self ):
1488
1477
# GH 59285
1489
1478
df = DataFrame (("aaa" , "vvv" , "zzz" ), columns = ["column-name" ])
1490
1479
result = df .query ("`column-name` < 'It`s that\\ 's \" quote\" #hash'" )
1491
1480
expected = df [df ["column-name" ] < 'It`s that\' s "quote" #hash' ]
1492
1481
tm .assert_frame_equal (result , expected )
1493
1482
1494
- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
1495
1483
def test_expr_with_quote_opened_before_backtick_and_quote_is_matched_in_mid (self ):
1496
1484
# GH 59285
1497
1485
df = DataFrame (("aaa" , "vvv" , "zzz" ), columns = ["column-name" ])
0 commit comments