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 :  /Python312/Lib/site-packages/pandas/tests/reshape/merge/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /Python312/Lib/site-packages/pandas/tests/reshape/merge/__pycache__/test_merge_asof.cpython-312.pyc
�

0	�g���l�ddlZddlZddlZddlZddlmcmZddl	Z
ddl	mZmZm
Z
mZmZddlmZddlmZej*gd���d��ZGd�d�Zej0j3d	d
ej4dej6d��
�g�ej0j3dddiddd�g�ej0j3dddgddgg�d����Zd�Zej0j3dddd�ddd�ddd�g�d��Zd�Zd�Z d �Z!d!�Z"d"�Z#ej0j3d#d$ej4d%ej6d��
�ej4d&ej6d��
�g�d'��Z$ej6d�d(��Z%d)�Z&d*�Z'y)+�N)�Index�	Timedelta�
merge_asof�option_context�to_datetime)�
MergeError)�s�ms�us�ns)�paramsc��|jS)z-
    Resolution for datetimelike dtypes.
    )�param)�requests �LC:\Python312\Lib\site-packages\pandas/tests/reshape/merge/test_merge_asof.py�unitrs��
�=�=��c���eZdZdXd�Zej
d��Zej
d��Zej
d��Zej
d��Z	ej
d��Z
ej
d��Zd�Zd	�Z
d
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zej8j;dddg�d��Zd�Zd�Z d�Z!d�Z"d �Z#d!�Z$d"�Z%d#�Z&d$�Z'd%�Z(ej8j;d&e)d'�e*jVd(�)�gd*d+g�,�d-��Z,d.�Z-d/�Z.d0�Z/d1�Z0d2�Z1d3�Z2d4�Z3d5�Z4d6�Z5d7�Z6d8�Z7d9�Z8d:�Z9d;�Z:d<�Z;d=�Z<d>�Z=d?�Z>d@�Z?dA�Z@dB�ZAdC�ZBdD�ZCej8j;dEdF�dG�gdHdIg�,�ej8j;dJdKdLg�dM���ZDdN�ZEdO�ZFdP�ZGej8j;dgdQ��dR��ZHdS�ZIdT�ZJdU�ZKdV�ZLyW)Y�
TestAsOfMergec��|r%|jddgd��jd��}t|j�|_|S)N�time�ticker�last)�keepT��drop)�drop_duplicates�reset_indexrr)�self�df�dedupes   r�	prep_datazTestAsOfMerge.prep_datasJ����#�#�V�X�$6�V�#�D�P�P��Q��B��b�g�g�&����	rc�n�tjgd�gd�gd�gd�gd�gd�gd�gd�gd	�gd
�gd�gd�gd
�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gdjd���}|djd�|d<|djd�|d<|j	|�S) N��20160525 13:30:00.023�MSFT�51.9500�75�NASDAQ��20160525 13:30:00.038r&r'�155r)��20160525 13:30:00.048�GOOGz720.7700�100r)�r.r/z720.9200r0r)�r.r/�720.9300�200r)�r.r/r3�300r)�r.r/r3�600r)�r.r/r3�44r)��20160525 13:30:00.074�AAPL�98.6700�478343r)��20160525 13:30:00.075r=r>r?r)�rAr=z98.6600�6r)�rAr=�98.6500�30r)�rAr=rEr(r)�rAr=rE�20r)�rAr=rE�35r)�rAr=rE�10r)�rAr=�98.5500rC�ARCA��20160525 13:30:00.076r=�98.5600�1000rP�rRr=rSr4rP�rRr=rSr6rP�rRr=rS�400rP�rRr=rSr8rP��20160525 13:30:00.078r&r'�783r)�r[r&r'r0r)�'time,ticker,price,quantity,marketCenter�,��columns�price�float64�quantity�int64��pd�	DataFrame�split�astyper"�rr s  r�tradeszTestAsOfMerge.trades&s���
�\�\�L�M�N�N�N�N�N�M�P�P�K�L�L�L�L�L�I�I�L�K�K�K�K�K�M�M�M�7
�:>�C�C�C�H�=
��@��k�(�(��3��7���J��.�.�w�7��:���~�~�b�!�!rc�0�tjgd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd	�gd
jd���}|d
jd�|d
<|djd�|d<|j	|d��S)N�r%r/�720.50�720.93�r%r&�51.95rr��20160525 13:30:00.041r&rrrr�r.r/rorp��20160525 13:30:00.072r/roz720.88�rAr=�98.55�98.56�rRr=ryrz�r[r&rrrr�r[r&�51.92rr�time,ticker,bid,askr_r`�bidrc�askT�r!rfrks  r�quoteszTestAsOfMerge.quotesLs���
�\�\�E�C�C�E�E�E�E�E�C�C�C�C�C�C�C�C�!
�$*�/�/��4�'
��*�u�I�$�$�Y�/��5�	��u�I�$�$�Y�/��5�	��~�~�b��~�.�.rc��tjgd�gd�gd�gd�gd�gd�gd�gd�d	d
ddd
tjtjggd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gdj	d���}|d jd!�|d <|d"jd#�|d"<|d$jd!�|d$<|d%jd!�|d%<|j
|�S�&N�r%r&rrr(r)rrrr�r+r&rrr,r)rrrr�r.r/z720.77r0r)�720.5rp�r.r/z720.92r0r)r�rp�r.r/rpr4r)r�rp�r.r/rpr6r)r�rp�r.r/rpr8r)r�rp�r.r/rpr:r)r�rpr<r=�98.67r?r)�rAr=r�r?r)ryrz�rAr=�98.66rCr)ryrz�rAr=�98.65rFr)ryrz�rAr=r�r(r)ryrz�rAr=r�rIr)ryrz�rAr=r�rKr)ryrz�rAr=r�rMr)ryrz�rAr=ryrCrPryrz�rRr=rzrTrPryrz�rRr=rzr4rPryrz�rRr=rzr6rPryrz�rRr=rzrXrPryrz�rRr=rzr8rPryrz�r[r&rrr\r)r~rr�r[r&rrr0r)r~rr�/time,ticker,price,quantity,marketCenter,bid,askr_r`rbrcrdrer�r��rgrh�np�nanrirjr"rks  r�asofzTestAsOfMerge.asofg�C��
�\�\���������,������F�F��F�F��������������������Wt
�jF�K�K�C�P�mw
��p��k�(�(��3��7���J��.�.�w�7��:���u�I�$�$�Y�/��5�	��u�I�$�$�Y�/��5�	��~�~�b�!�!rc��tjgd�gd�gd�gd�gd�gd�gd�gd�d	d
ddd
tjtjggd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gdj	d���}|d jd!�|d <|d"jd#�|d"<|d$jd!�|d$<|d%jd!�|d%<|j
|�Sr�r�rks  r�	tolerancezTestAsOfMerge.tolerancegr�rc��tjdddddtjtjggd�gd�gd�gd	�gd
�gd�gd�d
ddddtjtjgdddddtjtjgdddddtjtjgdddddtjtjgdddddtjtjgdddddtjtjgdddddtjtjgdddddtjtjgdddddtjtjgdddddtjtjggd�gd�gd�gd�gd�gd�gd �gd!�gd!�gd"j	d#��$�}|d%jd&�|d%<|d'jd(�|d'<|d)jd&�|d)<|d*jd&�|d*<|j
|�S�+Nr%r&rrr(r)r�r�r�r�r�r�r�r<r=r�r?rAr�rCr�rFrIrKrMryrPr�r�r�r�r�)r[r&rrr\r)rrrr)r[r&rrr0r)rrrrr�r_r`rbrcrdrer�r�r�)r�datapathr s   r�allow_exact_matchesz!TestAsOfMerge.allow_exact_matchesg�m��
�\�\�,������F�F��F�F���������,������F�F��F�F��,������F�F��F�F��,������F�F��F�F��,������F�F��F�F��,������F�F��F�F��,������F�F��F�F��,������F�F��F�F��,������F�F��F�F��)�&�'�3�����PR�PV�PV�W�(�&�'�3�����PR�PV�PV�W����������wd
�JF�K�K�C�P�Mg
��P��k�(�(��3��7���J��.�.�w�7��:���u�I�$�$�Y�/��5�	��u�I�$�$�Y�/��5�	��~�~�b�!�!rc��tjdddddtjtjggd�gd�gd�gd	�gd
�gd�gd�d
ddddtjtjgdddddtjtjgdddddtjtjgdddddtjtjgdddddtjtjgdddddtjtjgdddddtjtjgdddddtjtjgdddddtjtjgdddddtjtjggd�gd�gd�gd�gd�gd�gd �gd!�gd!�gd"j	d#��$�}|d%jd&�|d%<|d'jd(�|d'<|d)jd&�|d)<|d*jd&�|d*<|j
|�Sr�r�rks  r�!allow_exact_matches_and_tolerancez/TestAsOfMerge.allow_exact_matches_and_toleranceWr�rc��tjgd�gd�d��}tjgd�gd�d��}tjgd�gd�gd�d��}t||d�	�}tj||�y
)�doc-string examples����
��a�b�c�r��left_val�r������r��	right_val�r�r�r��r�r�r�r���onN�rgrhr�tm�assert_frame_equal�r�left�right�expected�results     r�test_examples1zTestAsOfMerge.test_examples1Gs`���|�|�*�/�J�K�����?��Q�R���<�<��/�	�R�
���D�%�C�0��
���f�h�/rc�l�|dk(rtjd�tjt	gd��jd|�d��gd�gd�gd�d	�gd	��
�}tjt	gd��jd|�d��gd�gd
�gd�d�gd��
�}t
||dd��t
||ddtd���tjt	gd��jd|�d��gd�gd�gd�tjdtjtjtjgtjdtjtjtjgd�gd��
�}t
||ddtd�d��}tj||�y)r�r	zNThis test is invalid for unit='s' because that would round the trades['time']])r%r+r.r.r.�M8[�]�r&r&r/r/r=�皙����I@r�g\��(��@��(\��@g�X@��K��dr�r�)rrrbrdr`)r%r%�20160525 13:30:00.030rtr.�20160525 13:30:00.049rwrA)r/r&r&r&r/r=r/r&)���@r��\��(�I@���Q��I@r���(\X@r�g�z�GJ@)�=
ףp��@�{�G�I@�=
ףp�I@�J@r��q=
ף�X@gףp=
��@g�p=
�J@)rrr�r�rr�r��by�2ms�r�r�r�r�r�)rrrbrdr�r��10msF�r�r�r�r�N)�pytest�skiprgrhrrjrrr�r�r�r�)rrrlr�r�r�s      r�test_examples2zTestAsOfMerge.test_examples2Ss����3�;��K�K�,�
����#����&�3�t�f�A��'�B�>�4�

�<�
��$���#�	���&�3�t�f�A��'�	�S�R�1
�45�7
��<	�6�6�f��:��6�6�f��Y�u�EU�V��<�<�#����&�3�t�f�A��'�B�>�4�����r�v�v�r�v�v�r�v�v�>�����r�v�v�r�v�v�r�v�v�>�
� J�#
��(�������'� %�

��	���f�h�/rc��tjgd�gd�d��}tjgd�gd�d��}tjgd�gd�ddtjgd��}t	||d	d
��}tj||�y)
r�r�r�r�r�r�r�r�r�r��forward�r��	directionN�rgrhr�r�rr�r�r�s     r�test_examples3zTestAsOfMerge.test_examples3�sn���|�|�*�/�J�K�����?��Q�R���<�<��/��A�r�v�v��W�
���D�%�C�9�E��
���f�h�/rc��tjgd�gd�d��}tjgd�gd�d��}tjgd�gd�gd�d��}t||dd	�
�}tj||�y)r�r�r�r�r�r�)r�r�r�r�r��nearestr�Nr�r�s     r�test_examples4zTestAsOfMerge.test_examples4�sd���|�|�*�/�J�K�����?��Q�R���<�<��/�	�R�
���D�%�C�9�E��
���f�h�/rc�R�|}t||dd��}tj||�y)Nrrr��rr�r��rrlr�r�r�r�s      r�
test_basiczTestAsOfMerge.test_basic�s'�����F�F�v�(�C��
���f�h�/rc��|}|jjd�|_|jjd�|_|jjd�|_t||dd��}tj||�y)N�categoryrrr�)rrjrr�r�r�s      r�test_basic_categoricalz$TestAsOfMerge.test_basic_categorical�si�����
�
�,�,�Z�8��
��
�
�,�,�Z�8��
�"�/�/�0�0��<����F�F�v�(�C��
���f�h�/rc��|}|jd�}t||ddd��}|j|_||j}t	j
||�y)NrTr)�
left_index�right_onr�)�	set_indexr�indexrar�r�r�s      r�test_basic_left_indexz#TestAsOfMerge.test_basic_left_index�sW�����!�!�&�)����F�t�f��
�� ������F�N�N�+��
���f�h�/rc�v�|}|jd�}t||ddd��}tj||�y)NrTr)�left_on�right_indexr��rrr�r�r�s      r�test_basic_right_indexz$TestAsOfMerge.test_basic_right_index�s>�����!�!�&�)����F�F���
��	���f�h�/rc��|jd�}|jd�}|jd�}t||ddd��}tj||�y)NrTr�rrr�rr�s      r�!test_basic_left_index_right_indexz/TestAsOfMerge.test_basic_left_index_right_index�sW���>�>�&�)���!�!�&�)���!�!�&�)����F�t��(�
��	���f�h�/rc���|jddg�}|jd�}tjtd��5t	||dd��ddd�y#1swYyxYw)Nrrbzleft can only have one index��matchT�rr�rr��raisesrr�rrlr�s   r�test_multi_index_leftz#TestAsOfMerge.test_multi_index_left�s]���!�!�6�7�"3�4���!�!�&�)��
�]�]�:�-K�
L�	J��v�v�$�D�I�	J�	J�	J���A�A"c���|jd�}|jddg�}tjtd��5t	||dd��ddd�y#1swYyxYw)Nrr�zright can only have one indexrTrrrs   r�test_multi_index_rightz$TestAsOfMerge.test_multi_index_right�s\���!�!�&�)���!�!�6�5�/�2��
�]�]�:�-L�
M�	J��v�v�$�D�I�	J�	J�	J�rc���|jd�}|jd�}d}tjt|��5t	||ddd��ddd�y#1swYyxYw)Nrz:Can only pass argument "left_on" OR "left_index" not both.rrbT)rrrr�rrlr��msgs    r�test_on_and_index_left_onz'TestAsOfMerge.test_on_and_index_left_ons]���!�!�&�)���!�!�&�)��J��
�]�]�:�S�
1�	�����D�d�
�	�	�	���A�A#c���|jd�}|jd�}d}tjt|��5t	||ddd��ddd�y#1swYyxYw)Nrz<Can only pass argument "right_on" OR "right_index" not both.rr�T)rrrrrs    r�test_on_and_index_right_onz(TestAsOfMerge.test_on_and_index_right_ons]���!�!�&�)���!�!�&�)��L��
�]�]�:�S�
1�	�����4�T�
�	�	�	�rc�T�|}t||ddd��}tj||�y)Nrr)r��left_by�right_byr�r�s      r�test_basic_left_by_right_byz)TestAsOfMerge.test_basic_left_by_right_bys.������F�v�x�(�
��	���f�h�/rc���|}||jdk7}t||dd��}tj|j|jdk(ddgf<tj||�y)Nr&rrr�r�r�)rrr�r��locr�r�)rrlr�r�r��qr�s       r�test_missing_right_byz#TestAsOfMerge.test_missing_right_by"s^�����6�=�=�F�*�+���F�A�&�X�>��BD�&�&����X�_�_��.����>�?�
���f�h�/rc
��tjtgd��gd�gd�gd�gd�d�gd���}tjtgd��gd	�gd
�gd�gd�d
�gd
���}tjtgd��gd�gd�gd�gd�tjdddtjgtjdddtjgd�gd���}t||dddg��}t
j||�y)N�r%r%z20160525 13:30:00.046r.�20160525 13:30:00.050r��rP�NSDQr+�BATSr+r�r��rr�exchrbrdr`�r%r%r�rtz20160525 13:30:00.045r�)r/r&r&r&r/r=�r,r+rPrPr+rP��G�z��@r�r�r�r�r��r�r�r�r�r�r��rrr.r�r�r�r�r2r�r�r��rrr.rbrdr�r�rrr.r�)rgrhrr�r�rr�r�)rrlr�r�r�s     r�test_multibyzTestAsOfMerge.test_multiby*s������#���C�@�>�4�
�D�!
��&���#��	�K�H�C�C�
� =�#
��(�<�<�#���C�@�>�4�����v�v�r�v�v�>�����v�v�r�v�v�>�
�"R�%
��*�F�F�v�8�V�:L�M��
���f�h�/r�dtype�object�stringc
�~�tjtgd��gd�gd�gd�gd�d�gd���}|j||d��}tjtgd	��gd
�gd�gd�gd
�d�gd���}|j||d��}tjtgd��gd�gd�gd�gd�tj
dddtj
gtj
dddtj
gd�gd���}|j||d��}t
||dddg��}tj||�y)Nr()rrr�r�r�r*r�r�r-r`)rr.r/)r�rrrr�r�r0r1r3r4r�r�r2r�r�r�r5rrr.r�)	rgrhrrjr�r�rr�r�)rr7rlr�r�r�s      r� test_multiby_heterogeneous_typesz.TestAsOfMerge.test_multiby_heterogeneous_typesks/�����#���*�@�>�4�
�D�!
��$���%��?�@�����#��	�-�H�C�C�
� =�#
��&���%��?�@���<�<�#���*�@�>�4�����v�v�r�v�v�>�����v�v�r�v�v�>�
�"R�%
��(�?�?�e�U�#C�D���F�F�v�8�V�:L�M��
���f�h�/rc	�R�tjtd�ddgtd�ddgtd�ddgtd�ddgggd���jd	�}|jtj
d
�z
|_tjtd�dddgtd�ddd
gtd�dddgtd�dddgggd���jd	�}d}t
jt|��5t||ddddg��ddd�y#1swYyxYw)N�20160602r�r�r��20160603r��r�k1�k2r`rr�20160502��?�@�20160503�@�@�rr@rA�value�incompatible merge keysrTr@rAr)
rgrhrrr�	Timestampr�rrr)rr�r�rs    r�test_mismatched_index_dtypez)TestAsOfMerge.test_mismatched_index_dtype�s-���|�|��Z�(�!�S�1��Z�(�!�S�1��Z�(�!�S�1��Z�(�!�S�1�	
�)�
��)�F�
�	
��Z�Z�"�,�,�q�/�1��
�����Z�(�!�S�#�6��Z�(�!�S�#�6��Z�(�!�S�#�6��Z�(�!�S�#�6�	
�2�
��)�F�
�	�(��
�]�]�:�S�
1�	X��t�U�t��4�QU�,�W�	X�	X�	X�s�D�D&c	��tjtd�ddgtd�ddgtd�ddgtd�ddgggd���jd	�}tjtd
�dddgtd
�dddgtd
�dddgtd
�dddgggd���jd	�}tjtd�dddgtd�dddgtd�dddgtd�dddgggd���jd	�}t	||ddddg��}tj||�tjtd��5t	||ddddgdg��ddd�y#1swYyxYw)Nr=r�r�r�r>r�r?r`rrBrCrDrErFrGrHTr@rArz,left_by and right_by must be the same lengthr)rrr r!)
rgrhrrrr�r�r�rrr�s     r�test_multiby_indexedz"TestAsOfMerge.test_multiby_indexed�s����|�|��Z�(�!�S�1��Z�(�!�S�1��Z�(�!�S�1��Z�(�!�S�1�	
�)�
��)�F�
�	
�����Z�(�!�S�#�6��Z�(�!�S�#�6��Z�(�!�S�#�6��Z�(�!�S�#�6�	
�2�
��)�F�
�	��<�<��Z�(�!�S�#�6��Z�(�!�S�#�6��Z�(�!�S�#�6��Z�(�!�S�#�6�	
�2�
��)�F�
�	���%�D�d��d�|�
��	���h��/�
�]�]��L�
�
	�
���� ��t����

�
	�
	�
	�s� E>�>Fc
��	�tjggd��gd��gd��gd��gd��gd��gd��gd��d	d
ddd
tjtjg�gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd ��gd!��gd"��gd"��gd#��gd#��gd$��gd%��gd&��gd'��gd(��gd)��gd*��gd+��gd,��gd-��gd.��gd/��gd0��gd1��gd2��gd2��gd3��gd4��gd5��gd6��gd7��gd8��gd9��gd:��gd;��gd;��gd<��gd=��gd>��gd?��gd@��gdA��gdB��gdC��gdD��gdE��gdF��gdG��gdH��gdI��gdI��dJj	dK��L�}|dMjdN�|dM<|dOjdP�|dO<|dQjdN�|dQ<|dRjdN�|dR<|j
|�}tjggdS��gdT��gdU��gdV��gdW��gdX��gdY��gdZ��gd[��gd\��gd]��gd^��gd_��gd`��gda��gdb��gdc��gdc��gdd��gde��gdf��gdg��gdh��gde��gdi��gdj��gdj��gdk��gdl��gdm��gdn��gdo��gdp��gdp��gdq��gdq��gdr��gds��gdt��gdu��gdv��gdw��gdx��gdy��gdz��gd{��gd|��gd}��gd~��gd��gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���d�j	dK��L�}|dMjdN�|dM<|dOjdP�|dO<|j
|�}tjggd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���d�j	dK��L�}|dQjdN�|dQ<|dRjdN�|dR<|j
|d����}t||d�d����}tj||�y)�Nr�r�r�r�r�r�r�r�r<r=r�r?r)r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)�20160525 13:30:00.084r=z98.64�40r)ryrz)rPr=ry�149�EDGXryrz)�20160525 13:30:00.086r=rz�500rPry�98.63)�20160525 13:30:00.104r=rV�647rS�98.62rV)rWr=rVr6rSrYrV)rWr=rV�50r)rYrV)rWr=rV�70r)rYrV)rWr=rV�1r)rYrV)rWr=rV�62r)rYrV)rWr=rVrMr)rYrV)rWr=rVr0rPrYrV)�20160525 13:30:00.105r=rVr0rPrYrV)r^r=rV�700rPrYrV)�20160525 13:30:00.106r=rV�61rSrYrV)�20160525 13:30:00.107r=rVr0rPrYrV)rbr=rV�53rPrYrV)�20160525 13:30:00.108r=rVr0rPrYrV)rdr=rV�839rPrYrV)�20160525 13:30:00.115r=rV�5rSrYrV)�20160525 13:30:00.118r=rV�295rSrYrV)rhr=rVrgrSrYrV)�20160525 13:30:00.128r=rVr0r)rYrV)rjr&r~r0rPr~rr)�20160525 13:30:00.129r=rYr0r)�98.61rV)rkr=rYrMr)rlrV)rkr=rY�59r)rlrV)rkr=rY�31r)rlrV)rkr=rY�69r)rlrV)rkr=rY�12r)rlrV)rkr=rYrprSrlrV)rkr=rYr0rPrlrV)�20160525 13:30:00.130r&rr�317rP�51.93rr)rqr&rr�283rPrsrr)�20160525 13:30:00.135r&rsr0rSr~rr)rur=rYr0rPrlrY)�20160525 13:30:00.144r=rYrpr)rlrY)rvr=rY�88r)rlrY)rvr=rY�162r)rlrY)rvr=rlr0r,rlrY)rvr=rYrarPrlrY)rvr=rY�25rPrlrY)rvr=rY�14rPrlrY)�20160525 13:30:00.145r=rYrprP�98.6rV)r{r=rYr0rPr|rV)r{r=rVr0r)r|rVr�r_r`rbrcrdrer�r�r$r*r-r1r2r5r7r9r;r@rBrDrGrHrJrLrNrQrUrVrWrYrZr])rPr=z98.6400rQr))rPr=rOrRrS)rTr=rSrUrP)rWr=�98.6300rXrS)rWr=r}r6rS)rWr=r}rZr))rWr=r}r[r))rWr=r}r\r))rWr=r}r]r))rWr=r}rMr))rWr=r}r0rP)r^r=r}r0rP)r^r=r}r_rP)r`r=r}rarS)rbr=r}r0rP)rbr=r}rcrP)rdr=r}r0rP)rdr=r}rerP)rfr=r}rgrS)rhr=r}rirS)rhr=r}rgrS)rjr=r}r0r))rjr&z51.9200r0rP)rkr=�98.6200r0r))rkr=r~rMr))rkr=r~rmr))rkr=r~rnr))rkr=r~ror))rkr=r~rpr))rkr=r~rprS)rkr=r~r0rP)rqr&r'rrrP)rqr&r'rtrP)rur&z51.9300r0rS)rur=r~r0rP)rvr=r~rpr))rvr=r~rwr))rvr=r~rxr))rvr=z98.6100r0r,)rvr=r~rarP)rvr=r~ryrP)rvr=r~rzrP)r{r=r~rprP)r{r=r~r0rP)r{r=r}r0r)r^rnrqrsrurvrxr{r|r})z20160525 13:30:00.079r&r~rr)z20160525 13:30:00.080r=ryrz)rPr=ryrz)rTr=ryrV)z20160525 13:30:00.088r=r�rV)z20160525 13:30:00.089r=rVrV)rWr=rVrV)rWr=rYrV)r^r=rYrV)rbr=rYrV)rfr=rYrV)rhr=rYrV)rjr=rYrV)rkr=rYrV)rkr=rlrV)rqr&rsrr)rqr=rlrV)z20160525 13:30:00.131r=rlrY)rur&r~rr)rur=rlrY)z20160525 13:30:00.136r=rlrY)rvr=rlrY)r{r=rlrY)r{r=rlrV)r{r=z98.60rVrTr�rrr�)
rgrhr�r�rirjr"rr�r�)rr�r�rlr�r�s      r�test_basic2zTestAsOfMerge.test_basic2�s���<�<�v

��v

��v

�&�'v

�8�9v

�J�Kv

�\�]v

�n�ov

�@�Av

�T,������F�F��F�F��Sv

�d�ev

�v�wv

�H�Iv

�Z�[v

�l�mv

�~�v

�P�Qv

�b�cv

�t�uv

�F�Gv

�X�Yv

�j�kv

�|�}v

�N�Ov

�`�av

�r�sv

�D�Ev

�V�Wv

�h�iv

�z�{v

�L�Mv

�^�_v

�p�qv

�B	�C	v

�T	�U	v

�f	�g	v

�x	�y	v

�J
�K
v

�\
�]
v

�n
�o
v

�@�Av

�R�Sv

�d�ev

�v�wv

�H�Iv

�Z�[v

�l�mv

�~�v

�P
�Q
v

�b
�c
v

�t
�u
v

�F�Gv

�X�Yv

�j�kv

�|�}v

�N�Ov

�`�av

�r�sv

�D�Ev

�V�Wv

�h�iv

�z�{v

�L�Mv

�^�_v

�p�qv

�B�Cv

�T�Uv

�f�gv

�x�yv

�J�Kv

�\�]v

�n�ov

�@�Av

�R�Sv

�d�ev

�v�wv

�H�Iv

�Z�[v

�nF�K�K�C�P�qy

��t%�W�-�4�4�Y�?����'�
�3�:�:�7�C����"�5�/�0�0��;����"�5�/�0�0��;�����>�>�(�+�����N
�L�N
�M�N
�O�N
�O�	N
�
O�N
�O�
N
�O�N
�N�N
�Q�N
�Q�N
�L�N
�M�N
�M�N
�M�N
�M�N
� M�!N
�"J�#N
�$J�%N
�&M�'N
�(L�)N
�*L�+N
�,L�-N
�.L�/N
�0L�1N
�2N�3N
�4N�5N
�6N�7N
�8M�9N
�:L�;N
�<L�=N
�>L�?N
�@L�AN
�BM�CN
�DM�EN
�FM�GN
�HM�IN
�JL�KN
�LM�MN
�NM�ON
�PL�QN
�RL�SN
�TL�UN
�VK�WN
�XL�YN
�ZK�[N
�\L�]N
�^L�_N
�`J�aN
�bL�cN
�dJ�eN
�fN�gN
�hN�iN
�jL�kN
�lN�mN
�nM�oN
�pM�qN
�rM�sN
�tM�uN
�vM�wN
�xK�yN
�zL�{N
�|L�}N
�~L�N
�@L�AN
�BL�CN
�DL�EN
�FM�GN
�HM�IN
�JN�KN
�LL�MN
�NK�ON
�PK�QN
�RK�SN
�TK�UN
�VL�WN
�XN�YN
�ZN�[N
�^>�C�C�C�H�aQ
��d!��/�0�0��;��w��#�J�/�6�6�w�?��z������'�����9
�E�9
�C�9
�D�9
�F�	9
�
F�9
�F�
9
�F�9
�F�9
�D�9
�D�9
�D�9
�D�9
�D�9
�D�9
�D�9
� D�!9
�"D�#9
�$D�%9
�&D�'9
�(D�)9
�*D�+9
�,D�-9
�.D�/9
�0D�19
�2D�39
�4D�59
�6D�79
�8D�99
�:D�;9
�<D�=9
�>D�?9
�@D�A9
�BD�C9
�DD�E9
�FD�G9
�HD�I9
�JD�K9
�LD�M9
�ND�O9
�PD�Q9
�RD�S9
�TD�U9
�VD�W9
�XD�Y9
�ZD�[9
�\D�]9
�^D�_9
�`D�a9
�bD�c9
�dD�e9
�fD�g9
�hD�i9
�jD�k9
�lD�m9
�nD�o9
�pD�q9
�t*�/�/��4�w<
��z�u�
�,�,�Y�7��u�
��u�
�,�,�Y�7��u�
�����t��4���F�F�v�(�C��
���f�h�/rc��d�}||�}||�}||�}t||d��}tj||�y)Nc�h�||jdk(jdd��jd��S)Nr&rr�)�axisTr)rrr��xs r�<lambda>z0TestAsOfMerge.test_basic_no_by.<locals>.<lambda>[	s1��a����F�*�+�
�T�(��T�
#�
�[�d�[�
#�rrr�r�)rrlr�r��fr�r�s       r�test_basic_no_byzTestAsOfMerge.test_basic_no_byY	sG��
$�	
��T�7���6����6����F�F�v�6��
���f�h�/rc��d}tjt|��5t||ddd��ddd�tjtd��5t||ddgd��ddd�tjtd��5t||d�	�ddd�y#1swY�qxYw#1swY�HxYw#1swYyxYw)
Nz6incompatible merge keys \[1\] .* must be the same typerrr�r)rrr�zcan only asof on a key for leftr�)r��r�rrrrs    r�test_valid_join_keysz"TestAsOfMerge.test_valid_join_keysh	s���G��
�]�]�:�S�
1�	T��v�v�v��(�S�	T��]�]�:�-N�
O�	K��v�v�6�8�*<��J�	K��]�]�:�-N�
O�	4��v�v�(�3�	4�	4�
	T�	T��	K�	K��	4�	4�s#�B�B+�B7�B(�+B4�7Cc���tj||g�jddg�jd��}t	||dd��}|j|�}t
j||�y)NrrTrr�)rg�concat�sort_valuesrrr"r�r�)rr�rlr�r�r%r�r�s        r�test_with_duplicatesz"TestAsOfMerge.test_with_duplicatest	sc���I�I�v�v�&�'�
�[�&�(�+�
,�
�[�d�[�
#�	
�
�F�A�&�X�>���>�>�$�'��
���f�h�/rc��tjgd�gd�d��}tjgd�gd�d��}t||d��}tjgd�gd�gd�d��}tj||�y)	N)r�r�r��r�r�r�)�keyr�)r�r�r�)r�r�r�r�)r�r�r�r��r�df1�df2r�r�s     r�test_with_duplicates_no_onz(TestAsOfMerge.test_with_duplicates_no_on~	s`���l�l�9�)�D�E���l�l�9�9�E�F���C���/���<�<��9�9�M�
��	���f�h�/rc��d}tjt|��5t||ddd��ddd�y#1swYyxYw)Nz/allow_exact_matches must be boolean, passed foorrr�foo�r�r�r�r�rs    r�test_valid_allow_exact_matchesz,TestAsOfMerge.test_valid_allow_exact_matches�	s=��?��
�]�]�:�S�
1�	����6�h�E�
�	�	�	�s	�8�Ac
��t||ddtd���t|j�|j�ddd��d}tjt
|��5t||ddd��ddd�tjt
|��5t|j�|j�ddd	��ddd�d
}tjt
|��5t||ddtd���ddd�tjt
|��5t|j�|j�ddd��ddd�y#1swY��xYw#1swY��xYw#1swY�rxYw#1swYyxYw)Nrr�1sr�rr�z6incompatible tolerance .*, must be compat with type .*rrCztolerance must be positive���)rrrr�rrrs    r�test_valid_tolerancez"TestAsOfMerge.test_valid_tolerance�	si���6�6�f��Y�t�_�U�	���� ���� ����	
�H���]�]�:�S�
1�	L��v�v�&�X��K�	L��]�]�:�S�
1�	���"�"�$��"�"�$����
�	�+���]�]�:�S�
1�	����6�h�9�T�?�BR�
�	�
�]�]�:�S�
1�	���"�"�$��"�"�$����
�	�	�+	L�	L��	�	��	�	��
	�	�s0�#E�-E)�)E5�'-F�E&�)E2�5E>�F
c���|jdd��}|jdd��}|jjrJ�|jjrJ�tjt
d��5t
||dd��ddd�|jd�}|jjsJ�|jjrJ�tjt
d��5t
||dd��ddd�|jd�}|jjsJ�|jjsJ�t
||dd��y#1swY��xYw#1swY�fxYw)	NrF)�	ascendingzleft keys must be sortedrrr�zright keys must be sorted)r�r�is_monotonic_increasingr�r�
ValueErrorrrs   r�test_non_sortedzTestAsOfMerge.test_non_sorted�	s8���#�#�F�e�#�<���#�#�F�e�#�<���;�;�6�6�6�6��;�;�6�6�6�6�
�]�]�:�-G�
H�	?��v�v�&�X�>�	?��#�#�F�+���{�{�2�2�2�2��;�;�6�6�6�6�
�]�]�:�-H�
I�	?��v�v�&�X�>�	?��#�#�F�+���{�{�2�2�2�2��{�{�2�2�2�2�	�6�6�f��:�	?�	?��	?�	?�s�2E�&E�E�E$�tolerance_ts�1dayr�)�daysrzdatetime.timedelta)�idsc�T�t||dd|��}|}tj||�y)Nrrr�r�)rr�rlr�r�r�r�s       r�test_tolerancezTestAsOfMerge.test_tolerance�	s0����F�v�(�l�
����
���f�h�/rc��tjgd�gd�d��}tjgd�gd�d��}tjgd�gd�dtjdgd��}t	||d	d
d��}tj||�y)Nr�r�r��r�r�r�r��r�r�r�r�r�r��r�r�r�r�r�s     r�test_tolerance_forwardz$TestAsOfMerge.test_tolerance_forward�	�t���|�|�*�/�J�K�����#3�BR�S�T���<�<��/��B�F�F�TV��X�
���D�%�C�9�PQ�R��
���f�h�/rc��tjgd�gd�d��}tjgd�gd�d��}tjgd�gd�dtjdgd��}t	||d	d
d��}tj||�y)Nr�r�r�r�r�r�r�r�r�r�r�r�r�s     r�test_tolerance_nearestz$TestAsOfMerge.test_tolerance_nearest�	r�rc
��tjtjtd�ddt	j
d�|��t
jd�d��}tjtjtd�ddt	j
d�|��td�d	��}t||d
td���}tjtjtd�ddt	j
d�|��t
jd�td
�d��}tj||�y)Nz
2016-01-02�Dr��UTC)�start�freq�periods�tzr)�date�value1z
2016-01-01�ABCDE)r��value2r�z1 day�r�r��BCDEE)r�r�r�)
rgrh�
date_ranger�pytz�timezoner��arange�listrrr�r�)rrr�r�r�r�s      r�test_tolerance_tzzTestAsOfMerge.test_tolerance_tz�	s���|�|��
�
�%�l�3����}�}�U�+����)�)�A�,�	
�
������
�
�%�l�3����}�}�U�+����w�-�	
�
���D�%�F�i��>P�Q���<�<��
�
�%�l�3����}�}�U�+����)�)�A�,��w�-�

�
��	���f�h�/rc��tjgd�gd�d��}tjgd�gd�d��}tjgd�gd�ddtjgd��}t	||d	d
d��}tj||�y)
N)皙�����?g@g������%@r�r�)rC�@�ffffff
@g@g'@r�r�r�r�r�r���?r�r�r�s     r�test_tolerance_floatz"TestAsOfMerge.test_tolerance_float%
s{���|�|�"2��P�Q�����,�;U�V�
���<�<�%�+���b�f�f�-�
�
���D�%�C�9�PS�T��
���f�h�/rc
���|jd�}|jd�}|jd�}t||dddtd���}tj||�y)NrTrr�)rrr�r�)rrrr�r�)rrlr�r�r�r�s      r�test_index_tolerancez"TestAsOfMerge.test_index_tolerance7
se���&�&�v�.���!�!�&�)���!�!�&�)����������'�

��	���f�h�/rc�T�t||ddd��}|}tj||�y)NrrFr�r�)rrlr�r�r�r�s      r�test_allow_exact_matchesz&TestAsOfMerge.test_allow_exact_matchesG
s.����F�v�(��
��'��
���f�h�/rc��tjgd�gd�d��}tjgd�gd�d��}tjgd�gd�gd�d��}t||dd	d
��}tj||�y)Nr�r�r�r�r�)r�r�r�r�r�r�F�r�r�r�r�r�s     r� test_allow_exact_matches_forwardz.TestAsOfMerge.test_allow_exact_matches_forwardN
�m���|�|�*�/�J�K�����#3�BR�S�T���<�<��/�
�S�
����%�C�9�%�
��	���f�h�/rc��tjgd�gd�d��}tjgd�gd�d��}tjgd�gd�gd�d��}t||dd	d
��}tj||�y)Nr�r�r�r�r�)r�r�r�r�r�r�Fr�r�r�s     r� test_allow_exact_matches_nearestz.TestAsOfMerge.test_allow_exact_matches_nearest]
r�rc	�h�t||ddtd�d��}|}tj||�y)Nrr�100msFr�)rrr�r�)rrlr�r�r�r�s      r�&test_allow_exact_matches_and_tolerancez4TestAsOfMerge.test_allow_exact_matches_and_tolerancel
s<���������(� %�

��5��
���f�h�/rc	�~�tjtdg�dgd��}tjtddg�ddgd��}t||d�	�}tjtdg�dgdgd
��}t	j
||�t||dd��}tjtdg�dgdgd
��}t	j
||�t||ddt
d
���}tjtdg�dgtjgd
��}t	j
||�y)N�2016-07-15 13:30:00.030�bob�r�username�2016-07-15 13:30:00.000r�r��r�versionrr��rr�r�F)r�r�r��r�r�r�)	rgrhrrr�r�rr�r�r�s     r�'test_allow_exact_matches_and_tolerance2z5TestAsOfMerge.test_allow_exact_matches_and_tolerance2z
sG���l�l� �";�!<�=�E�7�S�
���l�l�#�.�0I�J���q�6�	
�
���C���0���<�<�#�%>�$?�@�"�G��3�
�
��	���f�h�/��C���U�K���<�<�#�%>�$?�@�"�G��3�
�
��	���f�h�/����� %���'�
���<�<�#�%>�$?�@�"�G��F�F�8�
�
��	���f�h�/rc	�~�tjtddg�ddgd��}tjtddg�ddgd��}t||d	d
t	d���}tjtddg�ddgt
jt
jgd
��}tj||�y)Nr�r��charlier�r�r�r�r�rFr�r�r�)	rgrhrrrr�r�r�r�r�s     r�'test_allow_exact_matches_and_tolerance3z5TestAsOfMerge.test_allow_exact_matches_and_tolerance3�
s����l�l�#�.�0I�J��#�I�.�	
�
���l�l�#�.�0I�J���q�6�	
�
������ %���'�
���<�<�#�.�0I�J��#�I�.��F�F�B�F�F�+�
�
��	���f�h�/rc��tjgd�gd�d��}tjgd�gd�d��}tjgd�gd�tjddgd��}t	||d	d
dd�
�}tj||�y)Nr�r�r��r�r��r�r�r�r�r�r�r�r�Fr��r�r�r�r�r�r�s     r�.test_allow_exact_matches_and_tolerance_forwardz<TestAsOfMerge.test_allow_exact_matches_and_tolerance_forward�
����|�|�*�/�J�K�����#3�BR�S�T���<�<��/����QR�TV��X�
������� %��

��	���f�h�/rc��tjgd�gd�d��}tjgd�gd�d��}tjgd�gd�tjddgd	��}t	||d
ddd
��}tj||�y)Nr�r�r�r�)r�r�r�r�r�r�r�r�r�r�r�Fr�r�r�r�s     r�.test_allow_exact_matches_and_tolerance_nearestz<TestAsOfMerge.test_allow_exact_matches_and_tolerance_nearest�
r�rc
�2�tjgd�gd�gd�d��}tjgd�gd�gd�d��}tjgd�gd�gd�dtjd	d
dgd��}t	||d
dd��}tj||�y)N�r�r�r���)�Xr��Y�Zr��r�r�r��d�e�r�r�r��r�r�r�r��)r�r�r�r�r��r�r�r�r�r�r�r��r�r�r�r�r�r�r��r�r�r�r�r�s     r�test_forward_byzTestAsOfMerge.test_forward_by�
s����|�|�'�.�5�
�
�����'�.�/�
�
���<�<�'�.�5������R��4�	
�
���D�%�C�C�9�M��
���f�h�/rc��tjgd�gd�gd�d��}tjgd�gd�gd�d��}tjgd�gd�gd�gd�d	��}t||d
dd�
�}tj||�y)Nr�)r�r�r�r�r�r�r�r�)r�r�r�r�r�r�)r�r�r�r�r�r�r�r�r�r�r�r�s     r�test_nearest_byzTestAsOfMerge.test_nearest_bys����|�|�'�.�5�
�
�����'�.�/�
�
���<�<�'�.�5�/�	
�
���D�%�C�C�9�M��
���f�h�/rc�\�tjtgd��gd�gd�d�gd���}tjtgd��gd�gd�d	�gd	���}t||d
d��}tjtgd��gd�gd�gd
�d�gd���}t	j
||�y)N)�20160525 13:30:00.020r��20160525 13:30:00.040r)�20160525 13:30:00.060)r�r�r�r�r�)r�g333333�?g�������?gffffff�?g�?)rr�r�r`)z20160525 13:30:00.015rz20160525 13:30:00.025z20160525 13:30:00.035rz20160525 13:30:00.055rz20160525 13:30:00.065)r�r�r�r�r�r�r�r�)�������@皙����@�ffffff@�333333@r�g������@皙����@gffffff@)rr�r�rr�r�)rrrrr)rr�r�r�)rgrhrrr�r�r�s     r�test_by_intzTestAsOfMerge.test_by_int5s����l�l�#���'�3�
�.�
��"�l�l�#�	��0�B�
� .�#
��(�C���E�:���<�<�#���'�3�3�

�8�
��$	���f�h�/rc�p�tjgd�td�d�ddg��}tjgd�gd�d	�dd
g��}|jd�j	d��}t||d�
�}tjtd�gd�gd�d�gd���}t
j||�y)N)�
ףp=
@�HP�s�b?��z�G!9@������@u@�H�z��>@皙���C�@��q����?�ABCDEFG)rb�symbolrrbr`)�rC�Y@)�-C��6?�{�G�z�?皙�����?)rb�mpvrTrr��BGACEDF)rrrr
rrr)rrrrrrr)rrbr�rgrhr�r�rrr�r�r�s     r�
test_on_floatzTestAsOfMerge.test_on_floatrs����l�l�N��y�/�
��w�'�
���l�l�'�0D�E��e�$�
��
�o�o�g�&�2�2��2�=���C���1���<�<��y�/�N�E�
�
/�

��	���f�h�/rc�T�tj|�j}tjgd�td�d�ddg��}||j�|_tjgd�td�d	�dd
g��}||j�|_|jd�jd��}t||d�
�}tjtd�gd�td�d�gd���}||j�|_tj||�y)N�r�r��r��N�x�Or)rIrrrIr`�r�Pr!�}�xyzw)rIr�r�Trr��BACEGDF�r�r�rr r"r�r!�xxxxxyz)rrIr�)r�r7�typergrhr�rIr�rrr�r��r�any_real_numpy_dtyper7r�r�r�r�s       r�test_on_specialized_typez&TestAsOfMerge.test_on_specialized_type�s������-�.�3�3���l�l�2�d�9�o�N��w�'�
���#�)�)�$��	��l�l�'�4��<�@��h�'�
���#�)�)�$��	��o�o�g�&�2�2��2�=���C���1���<�<��y�/�5��y�/�
�
2�

���x�~�~�.���
���f�h�/rc���tj|�j}tjgd�gd�td�d�gd���}||j�|_tjgd�gd�td	�d
�gd
���}||j�|_|jd�jd�
�}t||dd��}tjtd�gd�gd�tjdtjtjtjddgd�gd���}||j�|_tj||�y)Nr)r�r�r�r�r�r�r�r)rIr�r)rr�rIr`r#)r�r�r�r�r&)rIr�r�rITrr�r�r')r�r�r�r�r�r�r�r(r��y)rr�rIr�)
r�r7r*rgrhr�rIr�rrr�r�r�r+s       r�test_on_specialized_type_by_intz-TestAsOfMerge.test_on_specialized_type_by_int�s�����-�.�3�3���l�l�5�,��y�/�
�
/�

���#�)�)�$��	��l�l�'���V��U�.�
���#�)�)�$��	��o�o�g�&�2�2��2�=���C���U�;���<�<��y�/�,�5��6�6�3�����������S�I�	
�9�
���x�~�~�.���
���f�h�/rc���tjtd�gd�gd�d�gd���}tjgd�gd�gd�d	�gd	���}|jd
�j	d��}|jd
�j	d��}t||d
d
��}tjtd�gd�gd�gd�d�gd���}t
j||�y)N�	AAABBBCCC)	r�r�r�r�r�r�r�r�r�)	��G�z
@��ׁsF
@��
@�)\��()@�G�z.)@�)@�fffff�w@�33333�w@��w@)rr.rbr`)	r�r�r�r�r�r�r�r�r�)	rrCrr�@rrr<g@�@)	rrrrr皙�����?r��?rC)r.rbrrbTrr.r�)	r�r�r�r�r�r�r�r�r�)	r5r4r3r8r6r7r9r:r;)	rrrr>rrrr=r>)rr.rbrrr�s     r�test_on_float_by_intz"TestAsOfMerge.test_on_float_by_int�s����l�l��{�+�3�
�
�0�!
��&�l�l�3�M�Q�
�
-�

���o�o�g�&�2�2��2�=���o�o�g�&�2�2��2�=���C���V�<���<�<��{�+�3�
�Q�
� 7�#
��(	���f�h�/rc��|rd}nd}tjgd�gd�d��}tjgd�gd�d��}tjt|��5t||d	�
�ddd�y#1swYyxYw)NrJ�@Incompatible merge dtype, .*, both sides must have numeric dtyper�r��r�r�r��r�r�rr�r��rgrhr�rrr)r�using_infer_stringrr�r�s     r� test_merge_datatype_error_raisesz.TestAsOfMerge.test_merge_datatype_error_raisessd���+�C�U�C��|�|��/�J�K�����?��Q�R��
�]�]�:�S�
1�	,��t�U�s�+�	,�	,�	,�s�A3�3A<c�@�d}tjgd�tjgd��d��}tjgd�tjgd��d��}tjt
|��5t
||d	�
�ddd�y#1swYyxYw)NzHincompatible merge keys \[0\] .* both sides category, but not equal onesr�r�rBr�)r�r�r�r�r�rCrr�r�)rgrh�Categoricalr�rrr)rrr�r�s    r�,test_merge_datatype_categorical_error_raisesz:TestAsOfMerge.test_merge_datatype_categorical_error_raisess���
!�	�
�|�|�#�"�.�.��*I�J�
�����,��^�^�$=�>�
�
���]�]�:�S�
1�	,��t�U�s�+�	,�	,�	,�s�<B�Bc��tjdgdgtjdg�d��}t||dddg��}tjdgdgtjdg�d��}t	j
||�y)Nr�r�r/�zr�r/rLr�)rgrhrHrr�r�)rr r�r�s    r�:test_merge_groupby_multiple_column_with_categorical_columnzHTestAsOfMerge.test_merge_groupby_multiple_column_with_categorical_column+sn��
�\�\���1�#�B�N�N�A�3�4G�H�
I���B��s��S�z�:���<�<�q�c���"�.�.�!��:M� N�O��
���f�h�/r�funcc��|S�N�r�s rr�zTestAsOfMerge.<lambda>3s��1�rc��t|�SrP)rr�s rr�zTestAsOfMerge.<lambda>3s
���A��r�numeric�datetime�sider�r�c�b�d|�d�}|ddtjg�}|gd��}tj|gd�d��}tj|gd�d	��}t	j
t|�
�5|dk(rt||d�
�nt||d�
�ddd�y#1swYyxYw)Nz"Merge keys contain null values on z siderCr<)rCr<g$@r�r�)r�r�r�r�rr�r�r�)r�r�rgrhr�rr�r)rrNrUr�nulls�	non_nulls�df_nullr s        r�test_merge_on_nansz TestAsOfMerge.test_merge_on_nans2s���3�4�&��>���c�3����'�(���)�*�	��,�,�U��H�I��
�\�\�	�
�C�
D��
�]�]�:�S�
1�	0��v�~��7�B�3�/��2�w�3�/�		0�	0�	0�s�9#B%�%B.c�2�tjtjddg|��}|jjdvr4tj|jj�j}n3tj|jj�j}||d<tj|gd�gd�gd�d	��}tj|gd
�gd�gd�d	��}t||d
dgd��}tj|gd�gd�gd�d��}tjt
jt
jt
jgt��|d<|r|djd�|d<tj ||�y)Nrr��r7)�i�ur�)�HELLO�To�You)r�r�r�)r�r�r���by_col1�by_col2�on_colrI)�WORLD�Wide�Web)r�r�r�)r�r�r�rcrdre�r�r��rcrdre�value_x�value_y�string[pyarrow_numpy])rg�array�NAr7�kindr��iinfo�numpy_dtype�max�finforhrr�r8rjr�r�)	r�any_numeric_ea_dtyperE�arr�max_valr�r�r�r�s	         r�test_by_nullablezTestAsOfMerge.test_by_nullableDsD���h�h����q�!�}�,@�A���9�9�>�>�Z�'��h�h�s�y�y�4�4�5�9�9�G��h�h�s�y�y�4�4�5�9�9�G���A���|�|��1�#�(�	
�
������3�#�(�	
�
���D�%�Y�	�,B�x�P���<�<��1�#�*�	
�
��!�h�h����������'?�v�N�����"*�9�"5�"<�"<�=T�"U�H�Y��
���f�h�/rc��tjtjdg�jd�dgdgd��}tjtjdg�jd�dgdgd��}t	||dd	�
�}tjtj
dd��dddgggd��
�}t
j||�y)N�
2018-01-01r�r�r�)�by_colre�valuesr�r�r{reri�r�)r{re�values_x�values_yr`)rgrh�
DatetimeIndex�tz_localizerrKr�r�)rr�r�r�r�s     r�test_merge_by_col_tz_awarez(TestAsOfMerge.test_merge_by_col_tz_awarers����|�|��*�*�L�>�:�F�F�u�M��#��%�
�
������*�*�L�>�:�F�F�u�M��#��%�
�
���D�%�H��B���<�<��l�l�<�E�2�A�s�C�
@�A�@�
��	���f�h�/rc�D�tjtjdg�jd�dgdgdgd��}tjtjdg�jd�dgdgd	gd��}t	||d
dgd�
�}tjtj
dd��dddgggd���}t
jtjgt��|d<|r|djd�|d<tj||�y)Nrzr�r_r�r�rbrfr�r�rcrdrerir}rjr`r\rlrm)
rgrhr�r�rrKr�rnr�r8rjr�r�)rrEr�r�r�r�s      r�test_by_mixed_tz_awarez$TestAsOfMerge.test_by_mixed_tz_aware�s���|�|��+�+�\�N�;�G�G��N�#�9��#���	
�
������+�+�\�N�;�G�G��N�#�9��#���	
�
���D�%�Y�	�,B�x�P���<�<��l�l�<�E�2�G�Q��
D�E�?�
��!�h�h����x�v�>�����"*�9�"5�"<�"<�=T�"U�H�Y��
���f�h�/r)rc�int16zm8[ns]zM8[us]c�x�tjtjdg|��dgdgd��}tjtjdg|��dgdgd��}t	||dd�	�}tjtjdg|��dgdgdgd
��}tj||�y)Nr�r\r�r�)r{rerIr�r{reri)r{rerkrl)rgrhr�rnrr�r�)rr7r�r�r�r�s      r�
test_by_dtypezTestAsOfMerge.test_by_dtype�s����|�|��(�(�A�3�e�4��#���
�
������(�(�A�3�e�4��#���
�
���D�%�H��B���<�<��(�(�A�3�e�4��#��5��5�	
�
��	���f�h�/rc�2�|dk(rtjd�tjt	tgd�gd���ddg��}tj|dd�jd	|�d
��|d<tjt	tgd�gd���ddg��}tj|dd�jd	|�d
��|d<tjt	tgd�gd�d
tjddtjtjg��gd���}tj|dd�jd	|�d
��|d<t||dtd�d��}tj||�y)Nr	zHThis test is invalid with unit='s' because that would round left['time'])rr�r�r��r)rr�r�r�r�r�rr�r`r
zm8[r�)rr��	r�r��r�rr�r�)rr�r��1msr�)r�r�r�)r�r�rgrhr��zip�to_timedeltarjr�r�rrr�r�)rrr�r�r�r�s      r� test_timedelta_tolerance_nearestz.TestAsOfMerge.test_timedelta_tolerance_nearest�sf���3�;��K�K�%�
�
�|�|���+�-?�@�A��V�$�
��
���t�F�|�T�:�A�A�C��v�Q�-�P��V�������*�,>�?�@��W�%�
��
����f�
�t�<�C�C�c�$��q�M�R��f�
��<�<���*�&������1�b�f�f�b�f�f�5��
�.�	
���?�?�8�F�+;�T�B�I�I�C�PT�v�UV�-�X������%�F�i��.>�)�
��	���f�h�/rc��tjgd�gd�d��}tjgd�gd�d��}|dj|�|d<|dj|�|d<tjgd�gd�tjddgd	��}|dj|�|d<t||dd
��}t
j||�y)N)rr�r�r�r�)r�r�rr�r�rCrDr�r�r�)rgrhrjr�r�rr�r�)r�
any_int_dtyper�r�r�r�s      r�test_int_type_tolerancez%TestAsOfMerge.test_int_type_tolerance�s����|�|�+�9�E�F�����;�Y�G�H����I�$�$�]�3��S�	��3�Z�&�&�}�5��c�
��<�<��9�B�F�F�C�QT�CU�V�
��!��
�,�,�]�;���
��D�%�C�2�>��
���f�h�/rc	�J�tjdddd��}tjgd�dg|dd�	�}tj|d
gdzdgzd
��}t||ddg��}tjgd�|ddd
gdzdgzd�tjdddd����}t	j
||�t||ddg��}tj|d
gdzdgztjddddgd�tgd����}t	j
||�y)Nz
2019-10-01�30minr�r�)r�r�r�)��������?皙�����?�ffffff�?�333333�?�xyzr�)rarg�G�z�@r�g��Q��@)�	from_date�abcTr�)r�r�rrr�)r�r�r�z2019-10-01 00:30:00�r)r�r�rrr�r�r�r�)r�r�r�)rr�r�r�r�)	rgr�rhrr�r�r�r�r)rrr�r�r�r�s      r�test_merge_index_column_tzz(TestAsOfMerge.test_merge_index_column_tz�s+���
�
�l��!��N���|�|�0�5�'��q�r��S�����5�$��!��t�f�9L�M�N����U�t�{�m�
���<�<�+�"�1�2�Y��v��z�T�F�*�
�
�-�-�%�G�Q�5��
	
��	���f�h�/���d��{�m�
���<�<�"��v��z�T�F�*�����S�#�s�3�
�
��(�

��	���f�h�/rc	�<�|dk(rtjd�tjddd|��t	d��j|�z}tjdd	|�
�}tjdditj|��
�}tjdditj|��
�}tjddd�tj|��
�}t||ddt	d����}tj||�y)Nr	z?This test is invalid with unit='s' because that would round dr1z1/1/2020z	1/20/2020�2D)r��endr�rg�������?)�secondsz2/1/2020)r�r�r�val1r�r��val2�bar)r�r�Tr�)rrr�)r�r�rgr�r�as_unitrhr�rr�r�)rr�dr1�dr2r�r�r�r�s        r�%test_left_index_right_index_tolerancez3TestAsOfMerge.test_left_index_right_index_tolerance
s����3�;��K�K�Q�
��m�m��+�D�t�
��c�"�*�*�4�0�1���m�m�*�*�4�H���l�l�F�E�?�"�2B�2B�3�2G�H���l�l�F�E�?�"�2B�2B�3�2G�H���<�<��E�*�"�2B�2B�3�2G�
���������,�
��	���f�h�/rN)F)M�__name__�
__module__�__qualname__r"r��fixturerlr�r�r�r�r�r�r�r�r�r�r�rr	rrrrrr"r&r6�mark�parametrizer;rLrNrr�r�r�r�r�r�r�rrT�	timedeltar�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r	rr-r0r?rFrIrMrZrxr�r�r�r�r�r�r�rQrrrrs�����^�^�#"��#"�J�^�^�/��/�4�^�^�}"��}"�~�^�^�}"��}"�~�^�^�m"��m"�^�^�^�m"��m"�^
0�W0�r0�0�0�0�0�0�0�J�J���0�0�?0�B�[�[���W�x��&:�;�B0�<�B0�HX�80�dY
0�v
0�
4�0�0��,�\;�.�[�[����	�6�	�.�H�.�.�A�6�7�
�.�/���
0��
0�0�0�)0�V0�$0� 0�
0�
0�0�00�d#0�J0�(0�(0�<0�<;0�z0�<0�>"0�H70�r
,�,�&0��[�[�����6�7�i��=T����[�[���V�f�g�%6�7�0�8��0�,0�\0�.0�8�[�[���W�&N�O�0�P�0�6'0�R0� 0�B0rr�infer_stringFT�pyarrow)�marks�kwargsr�r�r�dataz2019-06-01 00:09:12z2019-06-01 00:10:29rCc�$�td|�5tjd|i|��}tjd|i|��}tjt
d��5t
||fi|��ddd�ddd�y#1swY�xYw#1swYyxYw)Nzfuture.infer_stringr�r�rAr)rrgrhr�rrr)r�r�r�r�r�s     r�#test_merge_asof_non_numerical_dtyper�7
s���
�-�|�	<�.��|�|�S�$�K�t�4�����c�4�[��5��
�]�]��U�
�	.�
�t�U�-�f�-�		.�.�.�	.�	.��.�.�s$�AB�A:�)B�:B	�?B�Bc	��tjgd�gd�d��}tjgd�gd�d��}tjtd��5t||dd	d	d
��ddd�y#1swYyxYw)N)rp�13�15r�)r��	left_val1)r�r�r�r�rArr�r�r�)rrr r!rD�r�r�s  r�*test_merge_asof_non_numerical_dtype_objectr�M
sl��
�<�<�0��O�P�D��L�L��O�L�M�E�	����Q�
�
�	�������
	
�	
�
�
�s�A/�/A8)rr�	left_time)rrr�)rrc� �tgd�d��}tjgd�gd�d�|��}tjdgd	�igd	���}t||fi|��}tjgd�gd�gd
�d�|��}t	j
||�y)Nr��test��namer�)r�r�r�)r�r�r�r�r�r�)r�r�r�)rrgrhrr�r�)r�rr�r�r�r�s      r�test_merge_asof_index_behaviorr�_
sy��
�*�6�*�E�
�<�<��z�J�RW�X�D��L�L�'�?�3�?�K�E�
��e�
.�v�
.�F��|�|� �z�I�N���H����&�(�+rc�,�tjdgd�itgd�d����}tjdgd�itgd	�d����}t||dd�
�}tjgd�gd�gd�d��}t	j
||�y)Nr��r�r�r�r�r�r�r�r��r���)rr�r��rrr�)rgrhrrr�r��r�r�r�r�s    r�'test_merge_asof_numeric_column_in_indexr�u
so��
�<�<��l�+�5���3M�N�D��L�L�#�|�,�E�)�#�4N�O�E�
��e�S�3�
?�F��|�|�)�,�\�R�S�H����&�(�+rc��tjdgd�itjjgd�gd�gddg����}tjd	gd
�itjjgd�gd�gddg����}t	||dd�
�}tjgd�gd�gd
�d��}tj||�y)Nr�r�r�r�r�rL)�namesr�r�r�rKr/r�)rgrh�
MultiIndex�from_arraysrr�r�r�s    r�,test_merge_asof_numeric_column_in_multiindexr�
s���
�<�<�	�l���m�m�'�'��O�(D�S�RU�J�'�W��D�
�L�L�	�l���m�m�'�'��O�(D�S�RU�J�'�W�
�E�
��e�S�3�
?�F��|�|�)�,�\�R�S�H����&�(�+rc�$�tjdgd�itgd�d����}tjdgd�itgd	�d����}tjt
d
��5t
||dd��ddd�|j�jddg�}|j�jddg�}tjt
d
��5t
||dd��ddd�y#1swY�xYw#1swYyxYw)
Nr�r�)r\�2�3r�r�r�r�r�)�m�n�orArr�)	rgrhrr�rrrrrr�s  r�3test_merge_asof_numeri_column_in_index_object_dtyper��
s���
�<�<��l�+�5��s�3S�T�D��L�L�#�|�,�E�/�PS�4T�U�E�	����Q�
�;�	�4���c�:�	;�����'�'��c�
�3�D�����)�)�3��*�5�E�	����Q�
�;�	�4���c�:�	;�;�;�;��;�;�s�,C:�!D�:D�Dc�*�tjddgd|�d���}tjddg|d��}tjtjd	�d
d|��}tjd
gd�i�}t|||ddd��}tjgd�tjddg|d��}tj||�t||d|dd��}tjddg|ddgd��}tj||�y)Nz2021/01/01 00:37z2021/01/01 01:40r�r�r\r�r�)r��tsz2021/01/01 00:00r��1h)r�r�r�rr�)r��r�r�F�backward)rrr�r�)r�r�r�r�r�)r�r�r�)
rgr�rhr�rKrr�r�r�r�)r�dtir��ts_merger�r�r�s       r�test_merge_asof_array_as_onr��
s��
�
�
�	�/�0�#�d�V�1�
��C�
�L�L��Q���	
�
�E��}�}��l�l�-�.���4��H��<�<��i�(�)�D�
��
���!��
�F��|�|�)�2�6�6�1�a�.��Q�R�H����&�(�+�
�
����!��
�F��|�|��Q����Q��	
��H����&�(�+rc���tjgd�ggd���}tjgd�ggd���}tjtd��5t||d�	�ddd�tjtd��5t||dd
��ddd�tjtd��5t||dd��ddd�y#1swY�pxYw#1swY�IxYw#1swYyxYw)
N)r�r�r�)r�r�r�r`)r�r�r�)r�r�r�zcolumn label 'a'rr�r�r�r�r�)rgrhr�rr�rr�s  r�+test_merge_asof_raise_for_duplicate_columnsr��
s���
�<�<��
�/E�F�D��L�L�)��.E�F�E�	���z�);�	<�(��4��3�'�(�
���z�);�	<�C��4���k�B�C�
���z�);�	<�B��4��
�S�A�B�B�
(�(��C�C��B�B�s$�C�C�9C*�C�C'�*C3r7�Int64zint64[pyarrow]ztimestamp[s][pyarrow]c��tjgd�gd�d��}tjgd�gd�d��}|jd|i�}|jd|i�}t||d��}tjgd�gd�tj
dd	gd
��}|jd|i�}t
j||�y)N)r�r�r�r�)�join_colr�)r�r�r�)r�r�r�r�rDrF)r�r�r�)rgrhrjrr�r�r�r�)r7r�r�r�r�s     r�test_merge_asof_extension_dtyper��
s����<�<�!�!�	
��D�
�L�L�!�"�	
�
�E��;�;�
�E�*�+�D��L�L�*�e�,�-�E�
��e�
�
3�F��|�|�!�!��&�&�#�s�+�	
��H����
�E�2�3�H����&�(�+rc�"�tjtjddd�gd��}tj|dgd��}t	||dtd���}tj|dgdgd	��}t
j||�y)
Ni�r�ztimestamp[us, UTC][pyarrow]r\)�	timestamprIr�r�r�)r�rkrl)rg�SeriesrTrhrrr�r�)�serr r�r�s    r�$test_merge_asof_pyarrow_td_tolerancer�s���
�)�)�	�	�	�4��A�	&�'�/L��C�
�����S�	
�
�B���B�;�)�D�/�
J�F��|�|���s��s�	
��H����&�(�+rc��tjdgdgd��}tjdgdgd��}d|jjj_d|jjj_t
||dd��}tjdgdgd	�dg�
�}tj||�y)Nr�r�)rr�r�r�FTrr�r�)
rgr�rr|�flags�	writeablerrhr�r�r�s    r�!test_merge_asof_read_only_ndarrayr�s���
�9�9�a�S���&�1�D��I�I�q�c�!��7�3�E�(-�D�J�J�����%�).�E�K�K�����&�
��e��$�
G�F��|�|�a�S�A�3�7��s�C�H����&�(�+rc
�0�tjtjgd�ddg��dgdzdgdztd�d��}tjtjddgddg��dgd	zdd	gtd	�d��}t	||d
dgdd
ddg��}tjtjgd�ddg��dgdzdgdztd�t
jt
jddgd��}tj||�y)N)r�r�r�r�r�r�)�
categoriesr�r�r�)�c1�c2�t�vr�r�r�r�r��_left�_right)r�r�r��suffixesr)r�r�r��v_left�v_right)	rgrhrH�rangerr�r�r�r�r�s    r�(test_merge_asof_multiby_with_categoricalr�&s��
�<�<��.�.�!5�3��*�M��%�!�)���q���q��		
��D�
�L�L��.�.�#�s���c�
�C��%�!�)��Q���q��		
�
�E���
��$�<����8�$�
�F��|�|��.�.�!5�3��*�M��%�!�)���q���A�h��������S�1�	
��H����&�(�+r)(rT�numpyr�r�r��pandas.util._test_decorators�util�_test_decorators�td�pandasrgrrrrr�pandas._testing�_testingr��pandas.core.reshape.mergerr�rrr�r�r�
skip_if_nor�r�r�r�r�r�r�r�r�r�r�r�rQrr�<module>rs�����
��)�)�����0�����.�/��0��W40�W40�th������U�L�F�L�L��]�R�]�]�9�5M�N�O���������c�{�4��E�F�������
��2�3�c�;P�5Q�R��	.�	���	.�
�$�������D�1���5���1���,��,�,�
,� ;�*),�XB������������%�]�R�]�]�9�-E�F�����,�M�B�M�M�)�4L�M���,��,�8����y��,��,�,	,�#,r

Youez - 2016 - github.com/yon3zu
LinuXploit