403Webshell
Server IP : 209.209.40.120  /  Your IP : 216.73.217.112
Web Server : Microsoft-IIS/10.0
System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586
User : NEWWWW$ ( 0)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python312/Lib/site-packages/pandas/tests/frame/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python312/Lib/site-packages/pandas/tests/frame/__pycache__/test_query_eval.cpython-312.pyc
�

/	�gz��	�Z�ddlZddlZddlZddlmZmZddlmcm	Z
ddlZddlm
Z
mZmZmZmZddlmZddlmZej.ddgd���d	��Zej.dej2d
e
j4d
���gd���d
��Zd�ZGd�d�ZGd�d�ZGd�d�Ze
j4d
�Gd�d��Z e
j4d
�Gd�de ��Z!Gd�de �Z"Gd�de!�Z#Gd�d�Z$Gd�d �Z%Gd!�d"�Z&y)#�N)�NumExprClobberingError�UndefinedVariableError)�	DataFrame�Index�
MultiIndex�Series�
date_range)�NUMEXPR_INSTALLED�python�pandasc��|S�N���xs �DC:\Python312\Lib\site-packages\pandas/tests/frame/test_query_eval.py�<lambda>rs��1��)�params�idsc��|jSr��param��requests r�parserrs���=�=�r�numexpr)�marksc��|Srrrs rrrs��!�rc��|jSrrrs r�enginer!s��
�=�=�rc�@�|dk7rtjd|���yy)Nrzcannot evaluate with parser=)�pytest�skip)rs r�skip_if_no_pandas_parserr%%s#��
������2�6�(�;�<�rc��eZdZejd��Zejd��Zejd��Zd�Zd�Z	d�Z
d�Zy)	�
TestCompatc� �tdgd�i�S)N�A�����r��selfs r�dfz
TestCompat.df+s���#�y�)�*�*rc�&�||jdkDS)Nr�r)�r0r1s  r�	expected1zTestCompat.expected1/s���"�$�$��(�|�rc� �|jdzS�Nr+r3r4s  r�	expected2zTestCompat.expected23s���t�t�a�x�rc��|jd�}tj||�|jd�}tj||d��y)N�A>0�A+1F��check_names��query�tm�assert_frame_equal�eval�assert_series_equal�r0r1r5r8�results     r�test_query_defaultzTestCompat.test_query_default7s@�����%���
���f�i�0�������
���v�y�e�Drc��|jdd��}tj||�|jdd��}tj||d��y)Nr:�r!r;Fr<r>rDs     r�test_query_NonezTestCompat.test_query_None?sH�����%���-��
���f�i�0�����t��,��
���v�y�e�Drc��|jdd��}tj||�|jdd��}tj||d��y)Nr:rrHr;Fr<r>rDs     r�test_query_pythonzTestCompat.test_query_pythonEsH�����%���1��
���f�i�0�����x��0��
���v�y�e�Drc���trU|jdd��}tj||�|j	dd��}tj
||d��yd}t
jt|��5|jdd��ddd�t
jt|��5|j	dd��ddd�y#1swY�AxYw#1swYyxYw)	Nr:rrHr;Fr<z~'numexpr' is not installed or an unsupported version. Cannot use engine='numexpr' for query/eval if 'numexpr' is not installed��match)	r
r?r@rArBrCr#�raises�ImportError)r0r1r5r8rE�msgs      r�test_query_numexprzTestCompat.test_query_numexprKs�����X�X�e�I�X�6�F��!�!�&�)�4��W�W�U�9�W�5�F��"�"�6�9�%�H�!�
�
���{�#�6�
2�����y��1�
2����{�#�6�
1�����i��0�
1�
1�
2�
2��
1�
1�s�9C
�0C�
C�C"N)�__name__�
__module__�__qualname__r#�fixturer1r5r8rFrIrKrRrrrr'r'*s_���^�^�+��+��^�^�����^�^����E�E�E�1rr'c��eZdZejjdddg�ejjdgd��d���Zd�Zd�Zd	�Z	d
�Z
d�Zd�Zy
)�TestDataFrameEval�n�i�z
op_str,op,rop))�+�__add__�__radd__)�-�__sub__�__rsub__)�*�__mul__�__rmul__)�/�__truediv__�__rtruediv__c�&�tdt|�td���}d|jd<|j	�}ttj|j|�j|d�td���}td|�d	��}td
|�d	��}	tj|	|�|dvr)t||�|�}	tj|	|�y|dvr)t||�|�}	tj|	|�yy)
Nr+�abcd��index�columnsr,r����rkzbase z dfzm )r[ra)r^rd)
r�range�list�iloc�mean�np�tile�values�reshaperBr@rA�getattr)
r0�op_str�op�roprYr1�m�base�expectedrEs
          r�test_opszTestDataFrameEval.test_ops_s����q��a��$�v�,�
?�������
��G�G�I����G�G�A�H�H�a� �(�(��B�/��f��
���%��x�s�+�,����6�(�#�&�'��
���f�h�/����$�W�R��_�Q�'�F��!�!�&�(�3��:�
�%�W�R��%�a�(�F��!�!�&�(�3�rc�p�tdtjjd�j	d�i�}tj
|jdddtj|jdd�z
}dtj|�z
jdd}tj||�y)Nr)r,i�ar�r+�)
rrr�random�default_rng�standard_normal�nanrp�isnanr@rA)r0r1r|rEs    r�test_dataframe_sub_numexpr_pathz1TestDataFrameEval.test_dataframe_sub_numexpr_path�s�����R�Y�Y�2�2�1�5�E�E�e�L�M�
N���v�v�����!���r�x�x�����"�
�.�.���b�h�h�r�l�"�(�(��2�.��
���f�h�/rc�2�tgd�gd�d��}d}tjt|��5|j	d��ddd�tjt|��5|j	d�ddd�y#1swY�?xYw#1swYyxYw)Nr*)�a�br��r)�Bz%expr must be a string to be evaluatedrMc� �|jdk(S)Nr�)r�rs rrz6TestDataFrameEval.test_query_non_str.<locals>.<lambda>�s��q�s�s�c�z�r�o�rr#rO�
ValueErrorr?�r0r1rQs   r�test_query_non_strz$TestDataFrameEval.test_query_non_str�s{��
�Y�_�=�
>��5��
�]�]�:�S�
1�	+��H�H�)�*�	+��]�]�:�S�
1�	��H�H�S�M�	�	�	+�	+��	�	�s�B�&B
�B
�
Bc��tdgd�i�}d}tjt|��5|j	d�ddd�y#1swYyxYw)Nr)r*zexpr cannot be an empty stringrM�r�r�s   r�test_query_empty_stringz)TestDataFrameEval.test_query_empty_string�sD��
��Y�'�
(��.��
�]�]�:�S�
1�	��H�H�R�L�	�	�	�s�A�Ac�,�ttjjd�j	d�td���}ddi}ddi}|j
d||g�	�|d|dzk(sJ�tjd||g�	�|d|dzk(sJ�y)
Nr,��
r,�abrmr�r+r��a + b��	resolvers)rrrr�r�r�rorB�pd)r0r1�dict1�dict2s    r�test_eval_resolvers_as_listz-TestDataFrameEval.test_eval_resolvers_as_list�s���
��I�I�!�!�!�$�4�4�W�=�t�D�z�
���a����a����w�w�w�5�%�.�w�9�U�3�Z�%�PS�*�=T�T�T�T��w�w�w�5�%�.�9�U�3�Z�%�PS�*�=T�T�T�Trc��ttjjd�j	d�td���}ddi}|j
d|g��}|d|d	|dzz}tj||�y)
Nr,r�r�rm�cz	a + b * cr�r�r�)	rrrr�r�r�rorBr@rC)r0r1r�rEr|s     r�test_eval_resolvers_combinedz.TestDataFrameEval.test_eval_resolvers_combined�s{��
��I�I�!�!�!�$�4�4�W�=�t�D�z�
���a����������8���c�7�R��W�u�S�z�1�1��
���v�x�0rc��tdddgi�}|jd�}tddgddgd��}tj||�y)N�a1�Y�Nzc = ((a1 == 'Y') & True)TF)r�r�)rrBr@rA)r0r1�resr|s    r�test_eval_object_dtype_binopz.TestDataFrameEval.test_eval_object_dtype_binop�sK��
��s�C�j�)�
*���g�g�0�1���S�#�J�d�E�]�C�D��
���c�8�,rN)
rSrTrUr#�mark�parametrizer}r�r�r�r�r�r�rrrrXrX]sg���[�[���S�1�d�)�,��[�[����	
��4��-�4�80�	��U�1�-rrXc�$�eZdZd�Zd�Zd�Zd�Zy)� TestDataFrameQueryWithMultiIndexc��t|�tjjd�j	ddgd��}tjjd�j	ddgd��}tj||gdd	g�
�}ttjjd�jd�|��}t|jjd�j|d�
�}|jd||��}|jd||��}	||dk(}
tj||
�tj|	|
�|jd||��}|jd||��}	||dk7}
tj||
�tj|	|
�|jd||��}|jd||��}	||j!dg�}
tj||
�tj|	|
�|jd||��}|jd||��}	||j!dg�}
tj||
�tj|	|
�|jd||��}|jd||��}	||j!dg�}
tj||
�tj|	|
�|jd||��}|jd||��}	||j!dg�}
tj||
�tj|	|
�y)Nr,�red�greenr���size�eggs�ham�color�food��namesr��rj�rj�namezcolor == "red"�rr!z"red" == colorzcolor != "red"z"red" != colorzcolor == ["red"]z["red"] == colorzcolor != ["red"]z["red"] != colorz["red"] in colorz"red" in colorz["red"] not in colorz"red" not in color�r%rrr�r��choicer�from_arraysrr�rrj�get_level_valuesrtr?r@rA�isin�r0rr!r�r�rjr1�ind�res1�res2�exps           r� test_query_with_named_multiindexzATestDataFrameQueryWithMultiIndex.test_query_with_named_multiindex�s��� ��(��I�I�!�!�!�$�+�+�U�G�,<�2�+�F���I�I�!�!�!�$�+�+�V�U�O�"�+�E���&�&��1�v�g�v�5F�G��
�r�y�y�,�,�Q�/�?�?��H�PU�
V����H�H�%�%�g�.�5�5�U��
��
�x�x�(���x�G���x�x�(���x�G��������
���d�C�(�
���d�C�(��x�x�(���x�G���x�x�(���x�G��������
���d�C�(�
���d�C�(��x�x�*�6�&�x�I���x�x�*�6�&�x�I������5�'�"�#��
���d�C�(�
���d�C�(��x�x�*�6�&�x�I���x�x�*�6�&�x�I���#�(�(�E�7�#�#�$��
���d�C�(�
���d�C�(��x�x�*�6�&�x�I���x�x�(���x�G������5�'�"�#��
���d�C�(�
���d�C�(��x�x�.�v�f�x�M���x�x�,�V�F�x�K���#�(�(�E�7�#�#�$��
���d�C�(�
���d�C�(rc��t|�tjjd�j	ddgd��}tjjd�j	ddgd��}tj||g�}ttjjd�jd�|�	�}t|jjd
�j|�	�}|jd||��}|jd
||��}	||dk(}
tj||
�tj|	|
�|jd||��}|jd||��}	||dk7}
tj||
�tj|	|
�|jd||��}|jd||��}	||j!dg�}
tj||
�tj|	|
�|jd||��}|jd||��}	||j!dg�}
tj||
�tj|	|
�|jd||��}|jd||��}	||j!dg�}
tj||
�tj|	|
�|jd||��}|jd||��}	||j!dg�}
tj||
�tj|	|
�t|jjd�j|�	�}|jd||��}|jd||��}	||dk(}
tj||
�tj|	|
�|jd||��}|jd||��}	||dk7}
tj||
�tj|	|
�|jd||��}|jd||��}	||j!dg�}
tj||
�tj|	|
�|jd||��}|jd ||��}	||j!dg�}
tj||
�tj|	|
�|jd!||��}|jd"||��}	||j!dg�}
tj||
�tj|	|
�|jd#||��}|jd$||��}	||j!dg�}
tj||
�tj|	|
�y)%Nr,r�r�r�r�r�r�r�r�r�ilevel_0 == "red"r�z"red" == ilevel_0�ilevel_0 != "red"z"red" != ilevel_0zilevel_0 == ["red"]z["red"] == ilevel_0zilevel_0 != ["red"]z["red"] != ilevel_0z["red"] in ilevel_0z"red" in ilevel_0z["red"] not in ilevel_0z"red" not in ilevel_0r+zilevel_1 == "eggs"z"eggs" == ilevel_1zilevel_1 != "eggs"z"eggs" != ilevel_1zilevel_1 == ["eggs"]z["eggs"] == ilevel_1zilevel_1 != ["eggs"]z["eggs"] != ilevel_1z["eggs"] in ilevel_1z"eggs" in ilevel_1z["eggs"] not in ilevel_1z"eggs" not in ilevel_1r�r�s           r�"test_query_with_unnamed_multiindexzCTestDataFrameQueryWithMultiIndex.test_query_with_unnamed_multiindex�sJ�� ��(��I�I�!�!�!�$�+�+�U�G�,<�2�+�F���I�I�!�!�!�$�+�+�V�U�O�"�+�E���&�&��1�v�.��
�r�y�y�,�,�Q�/�?�?��H�PU�
V���R�X�X�.�.�q�1�8�8��F���x�x�+�F�6�x�J���x�x�+�F�6�x�J��������
���d�C�(�
���d�C�(��x�x�+�F�6�x�J���x�x�+�F�6�x�J��������
���d�C�(�
���d�C�(��x�x�-�f�V�x�L���x�x�-�f�V�x�L������5�'�"�#��
���d�C�(�
���d�C�(��x�x�-�f�V�x�L���x�x�-�f�V�x�L���#�(�(�E�7�#�#�$��
���d�C�(�
���d�C�(��x�x�-�f�V�x�L���x�x�+�F�6�x�J������5�'�"�#��
���d�C�(�
���d�C�(��x�x�1�&��x�P���x�x�/��v�x�N���#�(�(�E�7�#�#�$��
���d�C�(�
���d�C�(��R�X�X�.�.�q�1�8�8��F���x�x�,�V�F�x�K���x�x�,�V�F�x�K��������
���d�C�(�
���d�C�(��x�x�,�V�F�x�K���x�x�,�V�F�x�K��������
���d�C�(�
���d�C�(��x�x�.�v�f�x�M���x�x�.�v�f�x�M������6�(�#�$��
���d�C�(�
���d�C�(��x�x�.�v�f�x�M���x�x�.�v�f�x�M���#�(�(�F�8�$�$�%��
���d�C�(�
���d�C�(��x�x�.�v�f�x�M���x�x�,�V�F�x�K������6�(�#�$��
���d�C�(�
���d�C�(��x�x�2�6�&�x�Q���x�x�0���x�O���#�(�(�F�8�$�$�%��
���d�C�(�
���d�C�(rc�n�t|�tjjd�j	ddgd��}tj
d�}t
j||g�}ddg|_ttjjd�jd�|��}|jd	||�
�}t|jjd�j|d��}||dk(}	t!j"||	�|jd
||�
�}t|jjd�j|d��}||dk7}	t!j"||	�|jd||�
�}t|jjd�j|��}||dk(}	t!j"||	�|jd||�
�}t|jjd�j|��}||dk7}	t!j"||	�y)Nr,r�r�r�r��ratingr�r�zrating == 1r�r�r+zrating != 1r�rr�)r%rrr�r�r��arangerr�r�rr�r?rrjr�rtr@rA)
r0rr!r�r�rjr1r�r�r�s
          r�*test_query_with_partially_named_multiindexzKTestDataFrameQueryWithMultiIndex.test_query_with_partially_named_multiindexKs��� ��(��I�I�!�!�!�$�+�+�U�G�,<�2�+�F���I�I�b�M���&�&��1�v�.���X�&���
�r�y�y�,�,�Q�/�?�?��H�PU�
V���h�h�}�V�F�h�C����H�H�%�%�h�/�6�6�e�(�
������l��
���c�3�'��h�h�}�V�F�h�C����H�H�%�%�h�/�6�6�e�(�
������l��
���c�3�'��h�h�*�6�&�h�I���R�X�X�.�.�q�1�8�8��F��������
���c�3�'��h�h�*�6�&�h�I���R�X�X�.�.�q�1�8�8��F��������
���c�3�'rc�d�ttjd�tjtd�D�cgc]
}td���c}ddg����}|j
�}d�}|jj�}|j|||jd�||jd�|d	�}|j�D]`\}}t|t�r|j||�r�+J�t|t�rtj |||��Wt#d
��ycc}w)N�r�r-r,r��spamr�r�r�c�V�|j|�}|j�}||_|Sr)r��	to_seriesrj)�mi�level�level_values�ss    rr�z]TestDataFrameQueryWithMultiIndex.test_query_multiindex_get_index_resolvers.<locals>.to_seriesss,���.�.�u�5�L��&�&�(�A��A�G��Hr)rjrkr�r��clevel_0z object must be a Series or Index)rrr�onesrr�rn�_get_index_resolversrkr�rj�items�
isinstancer�is_rr@rC�AssertionError)	r0�_r1r�r��
col_seriesr|�k�vs	         r�)test_query_multiindex_get_index_resolverszJTestDataFrameQueryWithMultiIndex.test_query_multiindex_get_index_resolversjs	��
��G�G�G���(�(�$)�!�H�-�q��r��-�f�f�5E��
���+�+�-�	�	��Z�Z�)�)�+�
��X�X�!��b�h�h��/��b�h�h��/�"�
���O�O�%�	I�D�A�q��!�U�#��u�u�X�a�[�)�)�)��A�v�&��&�&�q�(�1�+�6�$�%G�H�H�
	I��'.s�D-N)rSrTrUr�r�r�r�rrrr�r��s��0)�dV)�p(�>Irr�c�\�eZdZejd��Zejd��Zd�Zd�Zd�Z	d�Z
d�Zd�Zd	�Z
d
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zej:j=ddej@gdejBgg�d��Z"d�Z#d�Z$y) �TestDataFrameQueryNumExprPandasc��y�Nrrr/s rr!z&TestDataFrameQueryNumExprPandas.engine����rc��y�Nrrr/s rrz&TestDataFrameQueryNumExprPandas.parser����rc��t|�ttjj	d�jd��}t
dd��|d<t
dd��|d<t
d	d��|d
<|jd||��}||jd
kd
|jkz}tj||�y)Nr,�rr-�1/1/2012r��periods�dates1�1/1/2013�dates2�1/1/2014�dates3z"@df.dates1 < 20130101 < @df.dates3�r!r�20130101)r%rrrr�r�r�r	r?r�r�r@rA�r0r!rr1r��expecs      r�%test_date_query_with_attribute_accesszETestDataFrameQueryNumExprPandas.test_date_query_with_attribute_access�s��� ��(�
�r�y�y�,�,�Q�/�?�?��G�
H��!�*�a�8��8��!�*�a�8��8��!�*�a�8��8���h�h�0����
���B�I�I�
�*�z�B�I�I�/E�F�G��
���c�5�)rc�j�ttjjd�j	d��}tdd��|d<tdd��|d<td	d��|d
<|j
d||��}||jd
kd
|jkz}tj||�y)Nr,r�r�rr�r�r�r�r�r��dates1 < 20130101 < dates3r�r��rrrr�r�r�r	r?r�r�r@rAr�s      r�#test_date_query_no_attribute_accesszCTestDataFrameQueryNumExprPandas.test_date_query_no_attribute_access�s���
�r�y�y�,�,�Q�/�?�?��G�
H��!�*�a�8��8��!�*�a�8��8��!�*�a�8��8���h�h�3�F�6�h�R���B�I�I�
�*�z�B�I�I�/E�F�G��
���c�5�)rc��d}ttjjd�j	|df��}td|��|d<td|��|d<td	|��|d
<tj|jtjjd�j|�dkDdf<tj|jtjjd�j|�dkDd
f<|jd||�
�}||jdkd|jkz}tj||�y)Nr�r,r-r�r�r�r�r�r�r���?r�r�r��rrrr�r�r�r	r��NaT�locr?r�r�r@rA�r0r!rrYr1r�r�s       r�test_date_query_with_NaTz8TestDataFrameQueryNumExprPandas.test_date_query_with_NaT�s����
�r�y�y�,�,�Q�/�?�?��A��G�
H��!�*�a�8��8��!�*�a�8��8��!�*�a�8��8��EG�V�V����r�y�y�$�$�Q�'�.�.�q�1�C�7��A�B�EG�V�V����r�y�y�$�$�Q�'�.�.�q�1�C�7��A�B��h�h�3�F�6�h�R���B�I�I�
�*�z�B�I�I�/E�F�G��
���c�5�)rc��d}ttjjd�j	|df��}td|��|d<td|��|d<|j
dd	d	�
�}|�J�|jd||��}||jd
kd
|jkz}tj||�y)Nr�r,r-r�r�r�r�r�T��inplace�drop�index < 20130101 < dates3r�r��rrrr�r�r�r	�	set_indexr?rjr�r@rA�r0r!rrYr1�return_valuer�r�s        r�test_date_index_queryz5TestDataFrameQueryNumExprPandas.test_date_index_query�s�����
�r�y�y�,�,�Q�/�?�?��A��G�
H��!�*�a�8��8��!�*�a�8��8���|�|�H�d��|�F���#�#�#��h�h�2�6�&�h�Q���B�H�H�z�)�j�2�9�9�.D�E�F��
���c�5�)rc���d}ttjjd�j	|df��jdti�}td|��|d<td|��|d	<tj|jd
<|jddd��}|�J�|jd
||��}||jdkd|jkz}tj ||�y)Nr�r,r-rr�r�r�r�r��rrTrr
r�r��rrrr�r�r��astype�objectr	r�rrprr?rjr�r@rAr
s        r�test_date_index_query_with_NaTz>TestDataFrameQueryNumExprPandas.test_date_index_query_with_NaT�s�����
�r�y�y�,�,�Q�/�?�?��A��G�
H�
O�
O�
��K�
��"�*�a�8��8��!�*�a�8��8���������
��|�|�H�d��|�F���#�#�#��h�h�2�6�&�h�Q���B�H�H�z�)�j�2�9�9�.D�E�F��
���c�5�)rc���d}i}td|��|d<td|��|d<t|�}tj|jt
jjd�j
|�dkDdf<|jdd	d	�
�}|�J�|jd||��}||jj�d
kd
|jkz}tj||�y)Nr�r�r�r�r�r�r,rTrr�r�r�)r	rr�rrrrr�r�rr?rjr�r�r@rA)	r0r!rrY�dr1rr�r�s	         r�)test_date_index_query_with_NaT_duplicateszITestDataFrameQueryNumExprPandas.test_date_index_query_with_NaT_duplicates�s������� ��Q�7��(�� ��Q�7��(��
�q�\��EG�V�V����r�y�y�$�$�Q�'�.�.�q�1�C�7��A�B��|�|�H�d��|�F���#�#�#��h�h�3�F�6�h�R���B�H�H�&�&�(�:�5�*�r�y�y�:P�Q�R��
���c�5�)rc��d}ttd|��tj|�d��}|j	d||��}t|�dk(sJ�|j	d||��}t
j||�d	}d
D]>}tjt|��5|j	d|�d
�||��ddd��@y#1swY�KxYw)Nr�r�r�)�dates�nondatezdates == nondater�rzdates != nondatez=Invalid comparison between dtype=datetime64\[ns\] and ndarray)�<�>�<=�>=rMzdates z nondate)rr	rrr�r?�lenr@rAr#rO�	TypeError)r0r!rrYr1rErQrxs        r�test_date_query_with_non_datez=TestDataFrameQueryNumExprPandas.test_date_query_with_non_date�s�����
� ��Q�7�B�I�I�a�L�Q�
�����,�V�F��K���6�{�a�������,�V�F��K��
���f�b�)�N��(�	N�B����y��4�
N����6�"��X�.�v�f��M�
N�
N�	N�
N�
N�s�C�C	c���ttd�tdd�tdd�d��}d}tjt|��5|jd	||�
�ddd�y#1swYyxYw)Nr�r-�
rZ�)�ir[�rzinvalid syntaxrMzi - +r�)rrnr#rO�SyntaxErrorr?)r0r!rr1rQs     r�test_query_syntax_errorz7TestDataFrameQueryNumExprPandas.test_query_syntax_error�s]��
�U�2�Y�U�1�b�\��a���M�
N����
�]�]�;�c�
2�	<��H�H�W�V�F�H�;�	<�	<�	<�s�
A(�(A1c��t|�ttjj	d�jd�t
d���}d\}}|jd||��}||j|jkD}tj||�|jd||��}|||jkD}tj||�tjtd	�
�5|jd||��ddd�tjtd�
�5|jd
||��ddd�y#1swY�BxYw#1swYyxYw)Nr,)�r,r�rm)r+r,za > br�z@a > b�!local variable 'c' is not definedrMz@a > b > @czname 'c' is not definedz
@a > b > c)r%rrrr�r�r�ror?r�r�r@rAr#rOr)r0r!rr1r�r�r�r|s        r�test_query_scopez0TestDataFrameQueryNumExprPandas.test_query_scope�s4�� ��(�
��I�I�!�!�!�$�4�4�W�=�t�D�z�
�����1��h�h�w�v�f�h�=���b�d�d�R�T�T�k�?��
���c�8�,��h�h�x��v�h�>���a�"�$�$�h�<��
���c�8�,��]�]�"�*M�
�	B�
�H�H�]�6�&�H�A�	B��]�]�1�9R�
S�	A��H�H�\�&��H�@�	A�	A�
	B�	B��	A�	A�s�0E�(E�E�Ec� �dx}}ttjjd�j	||df��td���}t
jtd��5|jd	||�
�ddd�y#1swYyxYw)Nr�r,r-r��abcrmzname 'sin' is not definedrM�sin > 5r�)
rrrr�r��integersror#rOrr?)r0r!rrYrzr1s      r�test_query_doesnt_pickup_localz>TestDataFrameQueryNumExprPandas.test_query_doesnt_pickup_local
sz���
��A�
��I�I�!�!�!�$�-�-�a�q�!�f�-�=�t�E�{�
��
�]�]�1�9T�
U�	>��H�H�Y�v�f�H�=�	>�	>�	>�s�&B�B
c�F�dx}}ttjjd�j	||df��td���}d|j_d}tjt|�	�5|jd
||��ddd�y#1swYyxYw)Nr�r,r-r�r/rm�sinzVariables in expression.+rMr0r�)rrrr�r�r1rorjr�r#rOrr?)r0r!rrYrzr1rQs       r�test_query_builtinz2TestDataFrameQueryNumExprPandas.test_query_builtins����
��A�
��I�I�!�!�!�$�-�-�a�q�!�f�-�=�t�E�{�
������
�)��
�]�]�1��
=�	>��H�H�Y�v�f�H�=�	>�	>�	>�s�9B�B c��ttjjd�j	d�gd���}tj|jd||��||j|jk�tj|jd||��||j|jz|j|jzkD�y)Nr,r��r�r�r�rm�a < br�z
a + b > b * c)rrrr�r�r�r@rAr?r�r�r��r0r!rr1s    r�
test_queryz*TestDataFrameQueryNumExprPandas.test_query"s���
��I�I�!�!�!�$�4�4�W�=��
��	����H�H�W�V�F�H�;�R����r�t�t��_�	
�	����H�H�_�V�F�H�C��r�t�t�b�d�d�{�R�T�T�B�D�D�[�(�)�	
rc���ttjjd�j	dd��tt
d�d��gd���}|jd	||�
�}||jdk|j|jkz}tj||�|jd||�
�}||j|jk}tj||�y)
Nr,r�r�r��blob�r�r7riz(blob < 5) & (a < b)r�rzblob < b)
rrrr�r�r1rrnr?rjr�r�r@rAr�s      r�test_query_index_with_namez:TestDataFrameQueryNumExprPandas.test_query_index_with_name/s���
��I�I�!�!�!�$�-�-�b�w�-�?���b�	��/�#�
��
�h�h�-�f�V�h�L���B�H�H�q�L�R�T�T�B�D�D�[�1�2��
���c�5�)��h�h�z�&��h�@���2�8�8�b�d�d�?�#��
���c�5�)rc��ttjjd�j	dd��td�gd���}|j
d||��}||j|jk}tj||�|j
d	||��}||jd
k}tj||�y)Nr,r�r�r�r7riz	index < br�z	index < 5r)rrrr�r�r1rnr?rjr�r@rAr�s      r�test_query_index_without_namez=TestDataFrameQueryNumExprPandas.test_query_index_without_name>s���
��I�I�!�!�!�$�-�-�b�w�-�?���)�#�
���h�h�{�6�&�h�A���2�8�8�b�d�d�?�#��
���c�5�)��h�h�{�6�&�h�A���2�8�8�a�<� ��
���c�5�)rc���t|�ttjj	d�jd��}ttjj	d�jd��}||dkD|dkDz}|j
d||��}tj||�tjd||��}tj||�tjd||��}||dkD|dkDz||dkDdkDz}tj||�tjd||��}|j
d	||��}tj||�y)
Nr,r�rz(@df > 0) & (@df2 > 0)r�zdf[df > 0 and df2 > 0]z)df[df > 0 and df2 > 0 and df[df > 0] > 0]zdf[(df>0) & (df2>0)]�(@df>0) & (@df2>0))r%rrrr�r�r�r?r@rAr�rB)r0r!rr1�df2r|rEs       r�test_nested_scopez1TestDataFrameQueryNumExprPandas.test_nested_scopeOs8�� ��(�
�r�y�y�,�,�Q�/�?�?��G�
H����	�	�-�-�a�0�@�@��H�I���r�A�v�#��'�*�+�����2�6�&��Q��
���f�h�/����1�&��P��
���f�h�/����7��v�
���r�A�v�#��'�*�b��a��j�1�n�=�>��
���f�h�/����/��v�N���8�8�0���8�O��
���f�h�/rc��ttjjd�j	d��}tjtd��5|jd||��ddd�y#1swYyxYw)Nr,r��name 'df' is not definedrMzdf > 0r�)	rrrr�r�r�r#rOrr?r9s    r�*test_nested_raises_on_local_self_referencezJTestDataFrameQueryNumExprPandas.test_nested_raises_on_local_self_referencefs_��
�r�y�y�,�,�Q�/�?�?��G�
H���]�]�1�9S�
T�	=��H�H�X�f�V�H�<�	=�	=�	=�s�A1�1A:c��t|�ttjj	d�jd�t
d���}d}||j|k}|jd||��}tj||�||j|jk}|jd||��}tj||�y)	Nr,)�dr��
abcdefghijrmr+za < @br�r8)r%rrrr�r�r�ror�r?r@rAr�)r0r!rr1r��expectrEs       r�test_local_syntaxz1TestDataFrameQueryNumExprPandas.test_local_syntaxms��� ��(�
��I�I�!�!�!�$�4�4�Y�?���&�
��
���B�D�D�1�H������(�6�&��A��
���f�f�-��B�D�D�2�4�4�K������'�&���@��
���f�f�-rc��t|�td�}ttjjd�j
dt|�f�|��}|jd||��}|j|jk|j|jkz|jj|j�z|jj|j�z}||}tj||�y)Nr/r,rIrmz!a < b < c and a not in b not in cr�)r%rorrrr�r�r�r r?r�r�r�r�r@rA)r0r!r�colsr1r�r�r�s        r�test_chained_cmp_and_inz7TestDataFrameQueryNumExprPandas.test_chained_cmp_and_in}s��� ��(��E�{��
��I�I�!�!�!�$�4�4�c�3�t�9�5E�F�PT�
���h�h�/��v��
���t�t�b�d�d�{�r�t�t�b�d�d�{�+�r�t�t�y�y�����.>�>�"�$�$�)�)�B�D�D�/�AQ�Q���3���
���c�5�)rc���t|�ttjj	d�jdd��d��}ttjj	d�jdd��d��}t
||d	��}|j|jd
z
j|�}|jd||��}tj||�ttjj	d�jdd��d��}|j|d
z
j|�}|jd
||��}tj||�y)Nr,r-�r�r�r=r�r��r�r�r+z
b - 1 in ar�z@b - 1 in a)
r%rrrr�r�r1rrr�r�r?r@rA)r0r!rr�r�r1r|rEs        r�test_local_variable_with_inz;TestDataFrameQueryNumExprPandas.test_local_variable_with_in�s�� ��(��2�9�9�(�(��+�4�4�Q�R�4�@�s�K���2�9�9�(�(��+�4�4�R�b�4�A��L��
�Q�Q�'�
(���6�6�2�4�4�!�8�/�/�!�,�-�����,�v�f��E��
���h��/��2�9�9�(�(��+�4�4�R�b�4�A��L���6�6�1�q�5�,�,�q�/�*�����-��v��F��
���h��/rc��t|�d}tdgd�i�}|jd||��}||jdk(}t	j
||�y)Nr+r�)r�r�r�r��@crUz	a == "@c"r�rU�r%rr?r�r@rA)r0r!rr�r1rEr|s       r�test_at_inside_stringz5TestDataFrameQueryNumExprPandas.test_at_inside_string�sU�� ��(�
��
��=�>�
?�����+�f�V��D���b�d�d�d�l�#��
���f�h�/rc�V�|j|j}}t|�ttj
j
d�jd�td���}tjtd��5|jd||��ddd�y#1swYyxYw)	Nr,r�r�rmr,rMza == @cr�)r!rr%rrrr�r�ror#rOrr?r9s    r�test_query_undefined_localz:TestDataFrameQueryNumExprPandas.test_query_undefined_local�s������d�k�k��� ��(�
�r�y�y�,�,�Q�/�6�6�w�?��d��
T��
�]�]�"�*M�
�	>�
�H�H�Y�v�f�H�=�	>�	>�	>�s�B�B(c�>�d}tjddd�}t|tjj	d�j|j�d��}d|j_|jd||��}||dd	kD}tj||�t|tjj	d�j|j�d��}|jd
||��}|j|j|jd	kD}tj||�t|tjj	d�j|j�d��}d|j_|jd
||��}||jd	kD}tj||�|jd||��}|j|j|jd	kD}tj||�y)Nr+r+�er,)rjr�rjz	index > 5r�rzilevel_0 > 5rRr�za > 5)rr�r_rr�r�r�r�rjr�r?r@rArr�)r0r!rrYr�r1rEr|s        r�:test_index_resolvers_come_after_columns_with_the_same_namezZTestDataFrameQueryNumExprPandas.test_index_resolvers_come_after_columns_with_the_same_name�s���
���E�E�"�S��)���
��b�i�i�3�3�A�6�F�F�q�v�v�N�O�
�� ����
����+�f�V��D���b��k�A�o�&��
���f�h�/�
��b�i�i�3�3�A�6�F�F�q�v�v�N�O�
�����.����G���6�6�"�(�(�2�8�8�a�<�0�1��
���f�h�/�
�Q�R�Y�Y�%:�%:�1�%=�%M�%M�a�f�f�%U�V�
W������
����'�&���@���b�d�d�Q�h�<��
���f�h�/����+�f�V��D���6�6�"�(�(�2�8�8�a�<�0�1��
���f�h�/rzop, f�==�!=c��d}ttjjd�j|�tjjd�j|�d��}tj|j
ddd�df<d|�d�}|||jtj�}|j|||��}	tj|	|�y)Nr�r,rRr�a z infr�)
rrrr�r��infrr�r?r@rA)
r0rx�fr!rrYr1�qr|rEs
          r�test_infz(TestDataFrameQueryNumExprPandas.test_inf�s�����
��Y�Y�*�*�1�-�4�4�Q�7��Y�Y�*�*�1�-�4�4�Q�7�
�
��������s��s�A�v�����D�M���a����b�f�f�o�&�����!�F�6��:��
���f�h�/rc�&�|}tddd|d��}t|��}t|��}|jd�}tj||�t|�}|j�jd�}tj||�y)Nz
2019-01-01�1dr��time)�start�freqr��tzr�r�z"2018-01-03 00:00:00+00" < time)r	rr?r@rA�reset_index)r0�tz_aware_fixturerk�df_indexr|r1rEs       r�test_check_tz_aware_index_queryz?TestDataFrameQueryNumExprPandas.test_check_tz_aware_index_query�s���
����T�2�"�6�
���8�,��
�X�
&�����;�<��
���f�h�/��X�&�����!�'�'�(I�J��
���f�h�/rc	�R�d}tdtjjd�j|�ztjjd�j|�d��}||dj	d�dk(}|jd||��}t
j||�ttjtjjd�j|�d	ktjtjjd�j|��tjjd�j|�d��}||dj�}|jd
||��}t
j||�y)Nr�r,rRr��intrza.astype('int') == 0r�rza.notnull())rrrr�r�rr?r@rA�wherer�r��notnull)r0r!rrYr1r|rEs       r�test_method_calls_in_queryz:TestDataFrameQueryNumExprPandas.test_method_calls_in_query�sS����
�����.�.�q�1�8�8��;�;��Y�Y�*�*�1�-�4�4�Q�7�
�
���b��g�n�n�U�+�q�0�1�����0����O��
���f�h�/�
��X�X��I�I�)�)�!�,�3�3�A�6��<��F�F��I�I�)�)�!�,�<�<�Q�?��
�Y�Y�*�*�1�-�=�=�a�@�

�	
���b��g�o�o�'�(�����-��v��F��
���f�h�/rN)%rSrTrUr#rVr!rr�r�rrrrr"r)r-r2r5r:r>r@rDrGrLrOrSrWrYr]r�r��operator�eq�nererortrrrr�r��s����^�^�����^�^����
*�*�
*�	*�
*�*�N�"<�A�4>�	>�
�
*�*�"0�.=�.� *�
0�0�>�0�>�[�[���W��h�k�k�':�T�8�;�;�<O�&P�Q�0�R�0�
0�0rr�c�~�eZdZejd��Zejd��Zd�Zd�Zd�Z	d�Z
d�Zd�Zd	�Z
y
)�TestDataFrameQueryNumExprPythonc��yr�rr/s rr!z&TestDataFrameQueryNumExprPython.enginer�rc��y�Nrrr/s rrz&TestDataFrameQueryNumExprPython.parser
r�rc�j�ttjjd�j	d��}tdd��|d<tdd��|d<td	d��|d
<|j
d||��}||jd
kd
|jkz}tj||�y)Nr,r�r�rr�r�r�r�r�r��)(dates1 < 20130101) & (20130101 < dates3)r�r�r�r�s      rr�zCTestDataFrameQueryNumExprPython.test_date_query_no_attribute_accesss���
�r�y�y�,�,�Q�/�?�?��G�
H��!�*�a�8��8��!�*�a�8��8��!�*�a�8��8���h�h�7��v��
���B�I�I�
�*�z�B�I�I�/E�F�G��
���c�5�)rc��d}ttjjd�j	|df��}td|��|d<td|��|d<td	|��|d
<tj|jtjjd�j|�dkDdf<tj|jtjjd�j|�dkDd
f<|jd||�
�}||jdkd|jkz}tj||�y)Nr�r,r-r�r�r�r�r�r�r�rr~r�r�rrs       rrz8TestDataFrameQueryNumExprPython.test_date_query_with_NaTs����
�r�y�y�,�,�Q�/�?�?��A��G�
H��!�*�a�8��8��!�*�a�8��8��!�*�a�8��8��EG�V�V����r�y�y�$�$�Q�'�.�.�q�1�C�7��A�B�EG�V�V����r�y�y�$�$�Q�'�.�.�q�1�C�7��A�B��h�h�7��v��
���B�I�I�
�*�z�B�I�I�/E�F�G��
���c�5�)rc��d}ttjjd�j	|df��}td|��|d<td|��|d<|j
dd	d	�
�}|�J�|jd||��}||jd
kd
|jkz}tj||�y)Nr�r,r-r�r�r�r�r�Tr�((index < 20130101) & (20130101 < dates3)r�r�rr
s        rrz5TestDataFrameQueryNumExprPython.test_date_index_query's�����
�r�y�y�,�,�Q�/�?�?��A��G�
H��!�*�a�8��8��!�*�a�8��8���|�|�H�d��|�F���#�#�#��h�h�6�v�f��
���B�H�H�z�)�j�2�9�9�.D�E�F��
���c�5�)rc���d}ttjjd�j	|df��jdti�}td|��|d<td|��|d	<tj|jd
<|jddd��}|�J�|jd
||��}||jdkd|jkz}tj ||�y)Nr�r,r-rr�r�r�r�r�rTrr�r�r�rr
s        rrz>TestDataFrameQueryNumExprPython.test_date_index_query_with_NaT4s�����
�r�y�y�,�,�Q�/�?�?��A��G�
H�
O�
O�
��K�
��"�*�a�8��8��!�*�a�8��8���������
��|�|�H�d��|�F���#�#�#��h�h�6�v�f��
���B�H�H�z�)�j�2�9�9�.D�E�F��
���c�5�)rc��d}ttjjd�j	|df��}td|��|d<td|��|d<tj|jtjjd�j|�d	kDdf<|jdd
d
��}|�J�d}tjt|�
�5|jd||��ddd�y#1swYyxYw)Nr�r,r-r�r�r�r�r�rTr�"'BoolOp' nodes are not implementedrMr
r�)rrrr�r�r�r	r�rrrr#rO�NotImplementedErrorr?)r0r!rrYr1rrQs       rrzITestDataFrameQueryNumExprPython.test_date_index_query_with_NaT_duplicatesEs�����
�r�y�y�,�,�Q�/�?�?��A��G�
H��!�*�a�8��8��!�*�a�8��8��EG�V�V����r�y�y�$�$�Q�'�.�.�q�1�C�7��A�B��|�|�H�d��|�F���#�#�#�3��
�]�]�.�c�
:�	P��H�H�0���H�O�	P�	P�	P�s�C=�=Dc�>�d}tjd||��}|dk(sJ�ttjjd�j
d��}ttjjd�j
d��}d}tjt|��5|jd||��ddd�tjtd	��5|jd
||��ddd�||dkD|dkDz}tjd||��}tj||�||dkD|dkDz||dkDdkDz}tjd
||��}tj||�y#1swY��xYw#1swY��xYw)Nr+zx + 1r�r,r�z5The '@' prefix is only supported by the pandas parserrMrBrFz(df>0) & (df2>0)rzdf[(df > 0) & (df2 > 0)]z+df[(df > 0) & (df2 > 0) & (df[df > 0] > 0)])r�rBrrrr�r�r�r#rOr(r?rr@rA)	r0r!rrrEr1rCrQr|s	         rrDz1TestDataFrameQueryNumExprPython.test_nested_scopeQsy��
��������?����{��{�
�r�y�y�,�,�Q�/�?�?��G�
H����	�	�-�-�a�0�@�@��H�I��G��
�]�]�;�c�
2�	I��H�H�)�&��H�H�	I��]�]�1�9S�
T�	G��H�H�'��v�H�F�	G��r�A�v�#��'�*�+�����3�F�6�R��
���h��/��r�A�v�#��'�*�b��a��j�1�n�=�>�����9�&�QW�
��	���h��/�	I�	I��	G�	G�s�-F�%F�F�Fc�4�tgd�gd�d��}d}tjt|��5|j	d�ddd�d}tjt|��5|j	d�ddd�y#1swY�AxYw#1swYyxYw)	Nr*�rZr�)�min�maxzMVariables in expression \"\(min\) == \(1\)\" overlap with builtins: \('min'\)rMzmin == 1zMVariables in expression \"\(max\) == \(1\)\" overlap with builtins: \('max'\)zmax == 1)rr#rOrr?)r0r1�regex_to_matchs   r�+test_query_numexpr_with_min_and_max_columnszKTestDataFrameQueryNumExprPython.test_query_numexpr_with_min_and_max_columnsls���
�y��;�
<��
0�	��]�]�1��
H�	!��H�H�Z� �	!�
0�	��]�]�1��
H�	!��H�H�Z� �	!�	!�	!�	!��	!�	!�s�B�'B�B�BN)rSrTrUr#rVr!rr�rrrrrDr�rrrryrysT���^�^�����^�^����	*�*�*�*�"
P�0�6!rryc�Z�eZdZejd��Zejd��Zd�Zy)�TestDataFrameQueryPythonPandasc��yr|rr/s rr!z%TestDataFrameQueryPythonPandas.engine~r�rc��yr�rr/s rrz%TestDataFrameQueryPythonPandas.parser�r�rc�2�dx}}ttjjd�j	||df��td���}d|j_||jdkD}|jd	||�
�}tj||�y�Nr�r,r-r�r/rmr4rr0r��rrrr�r�r1rorjr�r?r@rA�r0r!rrYrzr1r|rEs        rr5z1TestDataFrameQueryPythonPandas.test_query_builtin�����
��A�
��I�I�!�!�!�$�-�-�a�q�!�f�-�=�t�E�{�
������
��b�h�h��l�#�����)�F�6��B��
���h��/rN�rSrTrUr#rVr!rr5rrrr�r�}�5���^�^�����^�^����	0rr�c�Z�eZdZejd��Zejd��Zd�Zy)�TestDataFrameQueryPythonPythonc��yr|rr/s rr!z%TestDataFrameQueryPythonPython.engine�r�rc��yr|rr/s rrz%TestDataFrameQueryPythonPython.parser�r�rc�2�dx}}ttjjd�j	||df��td���}d|j_||jdkD}|jd	||�
�}tj||�yr�r�r�s        rr5z1TestDataFrameQueryPythonPython.test_query_builtin�r�rNr�rrrr�r��r�rr�c
�P�eZdZd�Zd�Zd�Zd�Zd�Zd�Ze	jjddejgd	ejgd
ejgdej gg�d��Zd
�Zd�Ze	jjdgd�gd�gd�gd�gd�gd�g�d��Zy)�TestDataFrameQueryStringsc	�P�ttjjd�j	d�dg��}tt
d��|d<||jdk(}|dk7r�d}d	}|gdz|gdzz}|ddd
�}d\}	}
d|	g|
gzz}d}t|||�D]U\}}
}|�d
|
�d
|��}tjt|��5|j|||d|ji��ddd��Wy|jd||��}tj||�|jd||��}tj||�tj|||jjdg��||jdk7}|jd||��}tj||�|jd||��}tj||�tj|||jjdg��y#1swY���xYw)Nr,�r�r+r�rm�
aabbccddee�stringsr�rz"a"rl�r^r_�$'(Not)?In' nodes are not implemented� rM)r!r�
local_dictz"a" == stringsr�zstrings == "a"zstrings != "a"z"a" != strings)rrrr�r�r�rror��zipr#rOr�r?r@rAr��r0rr!r1rK�col�lst�lhs�rhsrvrw�opsrQrx�exr�s                r�test_str_query_methodz/TestDataFrameQueryStrings.test_str_query_method�s��
�r�y�y�,�,�Q�/�?�?��H�SV�RW�
X���t�L�1�2��9�
��B�J�J�#�%�&���X���C��C��%�!�)�s�e�a�i�'�C��d��d�)�C��F�B����t�r�d�{�#�C�9�C� #�C��c� 2�
���R���u�A�b�T��3�%�(���]�]�#6�c�B���H�H��%�%�$-�r�z�z�#:�	����
��(�(�+�F�6�(�J�C��!�!�#�v�.��(�(�+�F�6�(�J�C��!�!�#�v�.��!�!�#�r�"�*�*�/�/�3�%�*@�'A�B���
�
�c�)�*�F��(�(�+�F�6�(�J�C��!�!�#�v�.��(�(�+�F�6�(�J�C��!�!�#�v�.��!�!�#�r�2�:�:�?�?�C�5�+A�*A�'B�C�+��s�"H�H%	c��ttjjd�j	d�dg��}tt
d��|d<||jjddg�}|dk7r�d}d	}|gdz|gdzz}|ddd
�}d\}	}
d|	g|
gzz}d}t|||�D]H\}}
}|�d
|
�d
|��}tjt|��5|j|||��ddd��Jy|jd||��}tj||�|jd||��}tj||�||jjddg�}|jd||��}tj||�|jd||��}tj||�y#1swY�� xYw)Nr,r�r�rmr�r�r�rz
["a", "b"]rlr�r�r�rMr�zstrings == ["a", "b"]z["a", "b"] == stringszstrings != ["a", "b"]z["a", "b"] != strings)rrrr�r�r�rror�r�r�r#rOr�r?r@rAr�s                r�test_str_list_query_methodz4TestDataFrameQueryStrings.test_str_list_query_method�s���
�r�y�y�,�,�Q�/�?�?��H�SV�RW�
X���t�L�1�2��9�
��B�J�J�O�O�S�#�J�/�0���X���C��C��%�!�)�s�e�a�i�'�C��d��d�)�C��F�B����t�r�d�{�#�C�9�C� #�C��c� 2�
?���R���u�A�b�T��3�%�(���]�]�#6�c�B�?��H�H�R��v�H�>�?�?�
?�
�(�(�2�6�&�(�Q�C��!�!�#�v�.��(�(�2�6�&�(�Q�C��!�!�#�v�.�������#�s��4�4�5�F��(�(�2�6�&�(�Q�C��!�!�#�v�.��(�(�2�6�&�(�Q�C��!�!�#�v�.�?�?�s�G�G	c	��ttd�td�tjj	d�jdd��tjj	d�jdd��d��}|d	k(r�|j
d
||��}||jj|j�}tj||�|j
d||��}||jj|j�|j|jkz}tj||�yd
}tjt |��5|j
d
||��ddd�d}tjt |��5|j
d||��ddd�y#1swY�DxYw#1swYyxYw)N�aaaabbbbcccc�aabbccddeeffr,r�r��	�r�r�r�rrza in br�za in b and c < dr�rMr�)rrorrr�r�r1r?r�r�r�r@rAr�rr#rOr�)r0rr!r1r�r�rQs       r�test_query_with_string_columnsz8TestDataFrameQueryStrings.test_query_with_string_columns�s���
��.�)��.�)��Y�Y�*�*�1�-�6�6�q�r�6�B��Y�Y�*�*�1�-�6�6�q�r�6�B�	
�
���X���(�(�8�F�6�(�B�C��r�t�t�y�y�����'�E��!�!�#�u�-��(�(�-�f�V�(�L�C��r�t�t�y�y�����"�$�$����+�6�7�E��!�!�#�u�-�9�C����2�#�>�
A�����&���@�
A�8�C����2�#�>�
K����+�F�6��J�
K�
K�	
A�
A��
K�
K�s� F8�G�8G�G
c	���ttd�td�tjj	d�jdd��tjj	d�jdd��d��}|r|d	k(rtnd}tj|�5|jd
||��}ddd�||j|jk(}tj|�tj|�5|jd||��}ddd�||j|jk7}tj||�y#1swY��xYw#1swY�HxYw)
Nr�r�r,rr�r�r�r�rza == br�za != b)
rrorrr�r�r1�RuntimeWarningr@�assert_produces_warningr?r�r�rA)r0rr!�using_infer_stringr1�warningr�r�s        r�test_object_array_eq_nez1TestDataFrameQueryStrings.test_object_array_eq_nes:��
��.�)��.�)��Y�Y�*�*�1�-�6�6�q�r�6�B��Y�Y�*�*�1�-�6�6�q�r�6�B�	
�
��%7�6�Y�;N�.�TX��
�
'�
'��
0�	C��(�(�8�F�6�(�B�C�	C�����������
���c�3�'�
�
'�
'��
0�	C��(�(�8�F�6�(�B�C�	C�����������
���c�3�'�	C�	C��
	C�	C�s�#E�E#�E �#E,c	��t|�tdd�D��cgc]}dD]
}d|�d|�����c}}dz}tddd	�
�}tddd	�
�}tt	j
dd�j
d�||j|�d
��}||jdk(}	|jd||��}
tj|	|
�ycc}}w)Nr+rZ)�load�exitzpage r�r,z2014-01-01 0:00:01�30sr�)rjr�z2014-02-01 1:00:01�)�id�event�	timestampz
"page 1 load"z'"page 1 load"' in eventr�)r%rnr	rrrr��repeat�appendr�r?r@rA)r0rr!rY�act�events�stamps1�stamps2r1r|r�s           r�test_query_with_nested_stringsz8TestDataFrameQueryStrings.test_query_with_nested_strings"s��� ��(�',�Q��{�
�"#�>N�
�7:�e�A�3�a��u��
��
�
����1��q�I���1��q�I��
��i�i��1�o�,�,�Q�/��$�^�^�G�4�
�
���b�h�h�/�1�2���h�h�5�f�V�h�T��
���h��,��
s�Cc��t|�tgd�gd�d��}|jd||��}||jdk(}t	j
||�y)N)r�r��test & testr*rRza == "test & test"r�r�rV)r0rr!r1r�r�s      r�(test_query_with_nested_special_characterzBTestDataFrameQueryStrings.test_query_with_nested_special_character5sR�� ��(�
�6�Y�G�
H���h�h�+�F�6�h�J���2�4�4�=�(�)��
���c�5�)rzop, funcrrrrc���ttjjd�j	td�d��}ttj|j��}t||d��}|r|dk(rtnd}	tj|	�5|jd|�d�||��}
ddd�|||jd	�}tj
|�y#1swY�6xYw)
Nr,�abcder+)�Xr�rzX z "d"r�r)rrrr�r�r�ror�r�rr�r@r�r?r�rA)r0rr!rx�funcr�r�r�r1r�r�r|s            r�test_query_lex_compare_stringsz8TestDataFrameQueryStrings.test_query_lex_compare_strings<s���
�2�9�9�(�(��+�2�2�4��=�"�E�F���2�9�9�Q�V�V�$�%��
�Q�Q�'�
(��$6�6�Y�;N�.�TX��
�
'�
'��
0�	H��(�(�R��t�4�=���(�G�C�	H��d�2�4�4��o�&��
���c�8�,�	H�	H�s�C*�*C3c�J�d}tjjd�jddt	|�f��jt�}t||��}|jd||��}||j|jz}tj||�y)N)�bid�bidsize�ask�asksizer,r+r�rmz	bid & askr�)
rrr�r�r1r r�boolrr?r�r�r@rA)r0rr!rk�datar1r�r|s        r�"test_query_single_element_booleansz<TestDataFrameQueryStrings.test_query_single_element_booleansRs���4���y�y�$�$�Q�'�0�0��!�S��\�9J�0�K�R�R�SW�X��
�t�W�
-���h�h�{�6�&�h�A���b�f�f�r�v�v�o�&��
���c�8�,rc��t|�tgd�gd�d��}||jdk(}d}|jd||��}t	j
||�y)N)�BUD USr��IBM USr�)g�����l[@g�G�zn[@g������f@g33333�f@)�Symbol�Pricer�zSymbol == @symbr�)r%rr�r?r@rA)r0rr!r1�e�symbr's       r�!test_query_string_scalar_variablez;TestDataFrameQueryStrings.test_query_string_scalar_variableZs^�� ��(�
�B�9�
�
��
�r�y�y�H�$�%�����H�H�&�v�f�H�E��
���a��#r�in_list)N�asdf�ghjk)r�Nr�)r�r�N)NNr�)r�NN)NNNc���d}d}t|�D��cic]\}}|dk(s�||��}}}td|id��}|jjd�|_td|id��}|j	d||�	�}	||ddk(}
|j	d
||�	�}tj|	|�tj|	|
�tj|	|�tj|
|�ycc}}w)Nrrr�r��string��dtype�int64za == 'asdf'r�za <= 'asdf')�	enumeraterrjrr?r@rA)r0r�rr!r&�valuer|�df_expectedr1r�r��res3s            r�test_query_string_null_elementsz9TestDataFrameQueryStrings.test_query_string_null_elementsgs�������-6�w�-?�S���E�5�F�?�A�u�H�S��S���h��x�@��'�-�-�4�4�W�=���
��W�~�X�
6���x�x�
�f�V�x�D���"�S�'�V�#�$���x�x�
�f�V�x�D��
���d�K�0�
���d�D�)�
���d�D�)�
���d�D�)��Ts
�
C3�C3N)rSrTrUr�r�r�r�r�r�r#r�r�ru�lt�gt�le�ger�r�r�r�rrrr�r��s���'D�R!/�FK�4(�(-�&*��[�[����
�(�+�+��
�(�+�+��
�8�;�;��
�8�;�;��		
��-��-�-�$��[�[����"�"�"� � ��
	
�
�*�
�*rr�c��eZdZejd��Zd�Zd�Zejjdgd��d��Z
y)�TestDataFrameEvalWithFramec��ttjjd�j	d�td���S)Nr,r�r/rm)rrrr�r�r�ror/s r�framez TestDataFrameEvalWithFrame.frame�s2����I�I�!�!�!�$�4�4�W�=�t�E�{�
�	
rc��|jd||��}|j|jz}tj||�y)Nr�r��rBr�r�r@rC�r0r�rr!r�rKs      r�test_simple_exprz+TestDataFrameEvalWithFrame.test_simple_expr�s8���j�j����j�?�����5�7�7�"��
���s�F�+rc��|jd||��}|j|jdk|jz}tj||�y)Nza[a < 1] + br�r+r�r�s      r�test_bool_arith_exprz/TestDataFrameEvalWithFrame.test_bool_arith_expr�sE���j�j���v�j�F��������1��%����/��
���s�F�+rrx)r[r^rardc��tddgddgd��}d}tjt|��5|j	d|�d	�||�
�ddd�y#1swYyxYw)Nr+r,r�rrRz:unsupported operand type\(s\) for .+: '.+' and '.+'|CannotrMraz br�)rr#rOr!rB)r0rr!rxr1rQs      r�%test_invalid_type_for_operator_raisesz@TestDataFrameEvalWithFrame.test_invalid_type_for_operator_raises�s[��
�a��V�3��*�5�
6��K��
�]�]�9�C�
0�	?��G�G�b���B�K��v�G�>�	?�	?�	?�s�A�AN)rSrTrUr#rVr�r�rr�r�rrrrr�r��sH���^�^�
��
�
,�
,�
�[�[���T�#7�8�?�9�?rr�c��eZdZejd��Zd�Zd�Zd�Zd�Z	d�Z
d�Zd�Zd	�Z
d
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zej>jAdgd��d��Z!ej>jAddd g�ej>jAdgd��d!���Z"d"�Z#y#)$�!TestDataFrameQueryBacktickQuotingc	#��K�tidgd��dgd��dgd��dgd��d	gd
��dgd��d
gd��dgd��dgd��dgd��dgd��dgd��dgd��dgd��dgd��dgd ��d!gd"��gd#�gd$�gd%�gd&�gd'�d(�����y)�w)*z�
        Yields a dataframe with strings that may or may not need escaping
        by backticks. The last two columns cannot be escaped by backticks
        and should raise a ValueError.
        r)r*�B B)r-r,r+�C Cr��C  C)r�rZr-�C_C)�r�r��D_D D)�r+r[�E.E)r�r-r�F-F)rr+r��1e1)r,rZr�def)r�r
r,�A (x))rZr+r-zB(x))r+r+rzB (x))r,r�rZ�  &^ :!€$?(} >    <++*''  )r,rr�r�)r�r
r+� A)rZr�r��  �r+r,r+)r�r-r+)r�r+r)rr�r�)r,rZr)rr�r�)zit'szthat'su☺zfoo#barr+Nr.r/s rr1z$TestDataFrameQueryBacktickQuoting.df�s������
��Y�
��y�
��y�
��	�	
�
�z�
���

��y�
��z�
��y�
��{�
���
��	�
���
�/�	�
��K�
� �i�!
�"�i�#
�$"�#� �$��-
�
�	
�s�A6A8c�h�|jd�}|d|dk}tj||�y)Nz	1 < `B B`r+r�r?r@rA�r0r1r�rKs    r�#test_single_backtick_variable_queryzETestDataFrameQueryBacktickQuoting.test_single_backtick_variable_query�s2���h�h�{�#���A��5�	�M�"��
���c�6�*rc�z�|jd�}|d|dkd|dkz}tj||�y)Nz1 < `B B` and 4 < `C C`r+rrZrrrs    r�!test_two_backtick_variables_queryzCTestDataFrameQueryBacktickQuoting.test_two_backtick_variables_query�s@���h�h�0�1���Q��E��]�q�2�e�9�}�5�6��
���c�6�*rc�h�|jd�}|d|dz}tj||�y)Nz	A + `B B`r)r�rBr@rCrs    r�"test_single_backtick_variable_exprzDTestDataFrameQueryBacktickQuoting.test_single_backtick_variable_expr��2���g�g�k�"���C��2�e�9�$��
���s�F�+rc�h�|jd�}|d|dz}tj||�y)Nz
`B B` + `C C`rrrrs    r� test_two_backtick_variables_exprzBTestDataFrameQueryBacktickQuoting.test_two_backtick_variables_expr�s2���g�g�o�&���E��R��Y�&��
���s�F�+rc�h�|jd�}|d|dz}tj||�y)Nz	`C_C` + Ar
r)rrs    r� test_already_underscore_variablezBTestDataFrameQueryBacktickQuoting.test_already_underscore_variable�s2���g�g�k�"���E��R��W�$��
���s�F�+rc�h�|jd�}|d|dz}tj||�y)NzC_C + `C C`r
rrrs    r�test_same_name_but_underscoresz@TestDataFrameQueryBacktickQuoting.test_same_name_but_underscores�s2���g�g�m�$���E��R��Y�&��
���s�F�+rc�h�|jd�}|d|dz}tj||�y)NzA + `D_D D`r)rrrs    r�!test_mixed_underscores_and_spaceszCTestDataFrameQueryBacktickQuoting.test_mixed_underscores_and_spaces�s2���g�g�m�$���C��2�g�;�&��
���s�F�+rc�h�|jd�}|d|dz}tj||�y)Nz	A + `C_C`r)r
rrs    r�'test_backtick_quote_name_with_no_spaceszITestDataFrameQueryBacktickQuoting.test_backtick_quote_name_with_no_spaces�r rc�t�|jd�}|d|dz|dz
}tj||�y)Nz`E.E` + `F-F` - Arrr)rrs    r�test_special_charactersz9TestDataFrameQueryBacktickQuoting.test_special_characters�s<���g�g�)�*���E��R��Y�&��C��0��
���s�F�+rc�h�|jd�}|d|dz}tj||�y)Nz	A + `1e1`r)rrrs    r�test_start_with_digitz7TestDataFrameQueryBacktickQuoting.test_start_with_digit�r rc�h�|jd�}|d|dz}tj||�y)Nz	A + `def`r)rrrs    r�test_keywordz.TestDataFrameQueryBacktickQuoting.test_keyword�r rc�h�|jd�}||ddkD}tj||�y)Nz`A` > 2r)r,rrs    r�test_unneeded_quotingz7TestDataFrameQueryBacktickQuoting.test_unneeded_quoting�s1���h�h�y�!���B�s�G�a�K���
���c�6�*rc�h�|jd�}||ddkD}tj||�y)Nz`A (x)` > 2rr,rrs    r�test_parenthesisz2TestDataFrameQueryBacktickQuoting.test_parenthesis�s2���h�h�}�%���B�w�K�!�O�$��
���c�6�*rc�h�|jd�}||ddkD}tj||�y)Nz`` > 5r�rrrs    r�test_empty_stringz3TestDataFrameQueryBacktickQuoting.test_empty_strings1���h�h�x� ���B�r�F�Q�J���
���c�6�*rc�h�|jd�}||ddkD}tj||�y)Nz
`C  C` > 5r	rrrs    r�test_multiple_spacesz6TestDataFrameQueryBacktickQuoting.test_multiple_spacess2���h�h�|�$���B�v�J��N�#��
���c�6�*rc�h�|jd�}|d|dz}tj||�y)Nz` A` + `  `rrrrs    r�test_start_with_spacesz8TestDataFrameQueryBacktickQuoting.test_start_with_spacess2���g�g�m�$���D��B�t�H�$��
���s�F�+rc�h�|jd�}||ddkD}tj||�y)Nu"`  &^ :!€$?(} >    <++*''  ` > 4rrZrrs    r�test_lots_of_operators_stringz?TestDataFrameQueryBacktickQuoting.test_lots_of_operators_strings6���h�h�;�<���B�5�6��:�;��
���c�6�*rc��d}tjt|��5|jd�ddd�y#1swYyxYw)Nz(module 'pandas' has no attribute 'thing'rMz	@pd.thing)r#rO�AttributeErrorrB)r0r1�messages   r�test_missing_attributez8TestDataFrameQueryBacktickQuoting.test_missing_attributes6��<��
�]�]�>��
9�	!��G�G�K� �	!�	!�	!��	�9�Ac��d}tjt|��5|jd�ddd�y#1swYyxYw)N�6(Could not convert ).*( to a valid Python identifier.)rMz`it's` > `that's`�r#rOr(r?r�s   r�test_failing_quotez4TestDataFrameQueryBacktickQuoting.test_failing_quotes7��G��
�]�]�;�c�
2�	*��H�H�(�)�	*�	*�	*�rAc��d}tjt|��5|jd�ddd�y#1swYyxYw)NrCrMu	`☺` > 4rDr�s   r�$test_failing_character_outside_rangezFTestDataFrameQueryBacktickQuoting.test_failing_character_outside_range s6��G��
�]�]�;�c�
2�	"��H�H�[�!�	"�	"�	"�rAc��d}tjt|��5|jd�ddd�y#1swYyxYw)NzFailed to parse backticksrMz
`foo#bar` > 4rDr�s   r�test_failing_hashtagz6TestDataFrameQueryBacktickQuoting.test_failing_hashtag%s6��)��
�]�]�;�c�
2�	&��H�H�_�%�	&�	&�	&�rAc�6�d�}|g}|jd�tjtd��5|jd�ddd�tjtd��5|jd�ddd�y#1swY�?xYw#1swYyxYw)z�
        Only attributes and variables ('named functions') can be called.
        .__call__() is not an allowed attribute because that would allow
        calling anything.
        https://github.com/pandas-dev/pandas/pull/32460
        c��yr7r)r�s rr�zNTestDataFrameQueryBacktickQuoting.test_call_non_named_expression.<locals>.func2s��rz@func()z"Only named functions are supportedrMz@funcs[0]()Nz@funcs[0].__call__())rBr#rOr!)r0r1r��funcss    r�test_call_non_named_expressionz@TestDataFrameQueryBacktickQuoting.test_call_non_named_expression*s���	����
���	��
�]�]�9�,P�
Q�	#��G�G�M�"�	#��]�]�9�,P�
Q�	,��G�G�*�+�	,�	,�	#�	#��	,�	,�s�B�(B�B�Bc��tddgddggddg|��}trtnd}tj|�5|jd�}ddd�tgd	�gd
�ggd�|��}tj|�y#1swY�6xYw)Nr+r,r-rZr�r��rkr�z	c = b - ar)r-rZr+r7�rr
r�r@r�rBrA)r0�any_numeric_ea_and_arrow_dtyper1r�rEr|s      r�test_ea_dtypesz0TestDataFrameQueryBacktickQuoting.test_ea_dtypes?s���
���V�a��V��s�C�j�8V�
��%6�.�4��
�
'�
'��
0�	*��W�W�[�)�F�	*��
�	�"�#�0�
��
	���f�h�/�	*�	*���B�B
c��tddgddggddgd��}trtnd}tj|�5|jd	�}ddd�tgd
�gd�ggd�d��}tj|�y#1swY�6xYw)
Nr+r,r-rZr�r��Float64rOz	c = b - 1r)r-rZr-r7rP)r0r1r�rEr|s     r�test_ea_dtypes_and_scalarz;TestDataFrameQueryBacktickQuoting.test_ea_dtypes_and_scalarNs���
��A���A��'�#�s��9�
M��$5�.�4��
�
'�
'��
0�	*��W�W�[�)�F�	*��
�	�"�O�9�
��	���f�h�/�	*�	*�rSc	��tddgddggddg|��}|jd�}ttddg|�	�tddg|�	�tddg|d
j�	�d��}t	j
||�y)Nr+r,r-rZr�r�rOz	c = 2 - 1r�r�r7)rrBrr�r@rA)r0rQr1rEr|s     r�#test_ea_dtypes_and_scalar_operationzETestDataFrameQueryBacktickQuoting.test_ea_dtypes_and_scalar_operationYs���
���V�a��V��s�C�j�8V�
������%����Q��F�*H�I��Q��F�*H�I��Q��F�&��+�*;�*;�<�
�
��	���f�h�/rr�)r��Int64�int64[pyarrow]c�p�|dk(rtjd�tdtddg|��i�}dh}|dk(rtrt
nd}t
j|�5|jd�}ddd�tdtdg|dg�	�i�}t
j|�y#1swY�;xYw)
NrZ�pyarrowr�r+r,r�rYz	a in @ref�r�rj)
r#�importorskiprrr
r�r@r�r?rA)r0r�r1�refr�rEr|s       r�test_query_ea_dtypesz6TestDataFrameQueryBacktickQuoting.test_query_ea_dtypeshs����$�$����	�*�
��V�Q��F�%�8�9�
:���c��$)�W�$4�9J�.�PT��
�
'�
'��
0�	+��X�X�k�*�F�	+��c�6�1�#�U�1�#�#F�G�H��
���f�h�/�	+�	+�s� B,�,B5r!rrc	���|dk(rtnd}|dk(rtstjd�|dk(rtjd�tt
gd�d��t
gd�|��d	��}tj|�5|jd
|��}ddd�tt
dd
gddd
g��t
dd
g|dd
g��d	��}tj|�y#1swY�NxYw)Nrznumexpr not installedrZr\)r+r+r,rYr�)r+r,r,r�zA == BrHr+r,rr])r�r
r#r$r^rrr@r�r?rA)r0r�r!r�r1rEr|s       r�!test_query_ea_equality_comparisonzCTestDataFrameQueryBacktickQuoting.test_query_ea_equality_comparisonus���%+�i�$7�.�T���Y��'8��K�K�/�0��$�$����	�*�
���'�2��	�QV�9W�X�
���
'�
'��
0�	7��X�X�h�v�X�6�F�	7���Q��F�'�!�Q��@��Q��F�%��1�v�>�
�
��	���f�h�/�	7�	7�s�C&�&C/c�
�tjjd�}tdtjddgd��it
��}|j
d�}tdgit
��}tj||�y)N�UTCr�T)�utcr�za > @now)	r��	Timestamp�nowr�to_datetimerr?r@rA)r0rgr1rEr|s     r�test_all_nat_in_objectz8TestDataFrameQueryBacktickQuoting.test_all_nat_in_object�sd���l�l���u�%��
��R�^�^�T�4�L�d�C�D�F�
S�����*�%���c�2�Y�f�5��
���f�h�/rN)$rSrTrUr#rVr1rrrr"r$r&r(r*r,r.r0r2r4r6r8r:r<r@rErGrIrMrRrVrXr�r�r`rbrirrrrr�s���^�^�
��
�B+�
+�
,�
,�
,�
,�
,�
,�
,�
,�
,�
+�
+�
+�
+�
,�
+�
!�
*�
"�
&�
,�*
0�	0�
0��[�[���W�&J�K�
0�L�
0��[�[���X��)�'<�=��[�[���W�&J�K�0�L�>�0�(0rr)'ru�numpyrrr#�
pandas.errorsrr�pandas.util._test_decorators�util�_test_decorators�tdrr�rrrrr	�pandas._testing�_testingr@�pandas.core.computation.checkr
rVrr�
skip_if_nor!r%r'rXr�r�ryr�r�r�r�rrrr�<module>rtsT����
��*�)�����;������(�+��=��>�������l�f�l�l�9�M�B�M�M�)�4L�M�N����	��=�
01�01�f`-�`-�FGI�GI�T����y��v0�v0��v0�r����y��u!�&E�u!��u!�p0�%D�0�*0�%D�0�*Z*�Z*�z?�?�4s0�s0r

Youez - 2016 - github.com/yon3zu
LinuXploit