§
    tŠtj"¾ ã                   óä  — d dl mZm Z mZ d dlZd dlZd dlZd dlmZ d dl	m
Z
mZ d dlmZ d dlZd dlmZmZmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZ d dl m!Z!m"Z" d§d„Z#ej$        d„ ¦   «         Z% G d„ d¦  «        Z&d„ Z' G d„ d¦  «        Z(ej$        d„ ¦   «         Z)ej$        d„ ¦   «         Z* G d„ d¦  «        Z+ G d„ d¦  «        Z,ej-         .                    dd„ ej/        D ¦   «          eg d¢g d¢d¬¦  «         ed dd¬¦  «         eg d¢d¬ ¦  «        gz   d!„ ¬"¦  «        d#„ ¦   «         Z0ej-         .                    d$d%d&gddd'd'd(fd)dd%d&gdd'd*d(fddd%d&gd*d'd(fd%d&gddd'd'dfd+dd%d&gdd'd*dfddd%d&gd*d'dfg¦  «        d,„ ¦   «         Z1d-„ Z2ej-         .                    d.d d d/d0id1d2gfd d d/d3id d2gfd d d/d4id5d6gfd d d/d7d8gid5d6gfd9d d/d:id9d gfd;d;d/d<id=d;gfd>d>d/d:id>d?gfd9d9d/d<id@d9gfd9d>d/d<id9d>gfd9d9d/dAid9d@gfd d d/dBidCd gfd9d9i d@dDgfd d i d5d6gfg¦  «        dE„ ¦   «         Z3ej-         .                    dFdGg dH¢dIdJej4        gg dK¢dLœfd%g dM¢dNdIdJej4        gej4        dOdPdQgdLœfg¦  «        dR„ ¦   «         Z5ej-         .                    dSg dT¢¦  «        dU„ ¦   «         Z6ej-         .                    d/dVdGhd d dWœg¦  «        dX„ ¦   «         Z7erdYndZZ8ej-         .                    d[d9d9d\d]e8› d^�fd9d9 e9d9¦  «        d_fg¦  «        d`„ ¦   «         Z:ej-         .                    dadbdcg¦  «        ej-         .                    ddd*d'g¦  «        de„ ¦   «         ¦   «         Z;df„ Z<dg„ Z=dh„ Z>di„ Z?ej-         .                    djdkdlg¦  «        dm„ ¦   «         Z@dn„ ZAej-         .                    dodpdqg¦  «        ej-         .                    drd9d*dsœdtdugfd9d*dvœdwdxgfg¦  «        dy„ ¦   «         ¦   «         ZBej-         .                    dodpdqg¦  «        ej-         .                    drdtd9idwdxgfdwd9idtdugfg¦  «        dz„ ¦   «         ¦   «         ZCej-         .                    dodpdqg¦  «        ej-         .                    d{dxd*idud*ig¦  «        d|„ ¦   «         ¦   «         ZDd}„ ZEd~„ ZFd„ ZGd€„ ZHd�„ ZId‚„ ZJdƒ„ ZKd„„ ZLej-         .                    d…dd†g¦  «        d‡„ ¦   «         ZMdˆ„ ZNd‰„ ZOdŠ„ ZPej-         .                    d…d‹dŒg¦  «        d�„ ¦   «         ZQej-         .                    dŽdd�g¦  «        d�„ ¦   «         ZRd‘„ ZSd’„ ZTej-         .                    d“d*d'g¦  «        ej-         .                    d”d*d'g¦  «        ej-         .                    d•d*d'g¦  «        ej-         .                    d–d*d'g¦  «        ej-         .                    d—d*d'g¦  «        d˜„ ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ZUd™„ ZVdš„ ZWej-         .                    d›d*d'g¦  «        ej-         .                    dœd*d'g¦  «        d�„ ¦   «         ¦   «         ZXej-         .                    džg dŸ¢¦  «        d „ ¦   «         ZYd¡„ ZZej-         .                    d/d¢d0g¦  «        d£„ ¦   «         Z[d¤„ Z\d¥„ Z]d¦„ Z^dS )¨é    )ÚdateÚdatetimeÚ	timedeltaN)ÚPY314)Úis_object_dtypeÚis_string_dtype)ÚCategoricalDtype)ÚCategoricalÚCategoricalIndexÚ	DataFrameÚDatetimeIndexÚIndexÚIntervalIndexÚ
MultiIndexÚPeriodIndexÚ
RangeIndexÚSeriesÚTimedeltaIndex)Úconcat)Ú
MergeErrorÚmergeé   é2   c           	      ó”  — t          t          | ¦  «        ¦  «        }t          j        t          j        ||| z  ¦  «        ¦  «        }t          |¦  «        |k     r<t          j        t          |¦  «        |d |t          |¦  «        z
  …         z   ¦  «        }t          j                             d¦  «                             |¦  «         |S )Né   )	ÚlistÚrangeÚnpÚasarrayÚtileÚlenÚrandomÚdefault_rngÚshuffle)ÚngroupsÚnÚunique_groupsÚarrs       úc/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pandas/tests/reshape/merge/test_merge.pyÚget_test_datar*   )   s™   € Ý�˜w™œÑ(Ô(€MÝ
Œ*•R”W˜]¨A°©LÑ9Ô9Ñ
:Ô
:€Cå
ˆ3�x„x�!‚|€|ÝŒj�˜c™œ ]°>°Q½¸S¹¼±\°>Ô%BÑBÑCÔCˆå„I×Ò˜!ÑÔ×$Ò$ SÑ)Ô)Ð)Ø€Jó    c                  ón   — t          ddgddgddgdœ¦  «        } t          g d¢g d¢g d¢d	œ¦  «        }| |fS )
Nr   é   r   ÚaÚb)Úcol1Úcol_conflictÚcol_left)r-   r   é   é   é   )r   r   r   r   r   )r0   r1   Ú	col_right)r   ©Údf1Údf2s     r)   Údfs_for_indicatorr:   4   s^   € å
˜a ˜V°a¸°VÈ#ÈsÈÐTÐTÑ
UÔ
U€CÝ
à#�O�OØ+˜O˜OØ(˜˜ð	
ð 	
ñô €Cð �ˆ8€Or+   c                   ób
  — e Zd Zej        d„ ¦   «         Zej        d„ ¦   «         Zej        d„ ¦   «         Zd„ Zd„ Z	d„ Z
d„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej                             ddddœdddœdddœdddœg¦  «        d „ ¦   «         Zd!„ Zd"„ Z ej                             d# e!d$gd%¬&¦  «         e!d$gd'¬&¦  «         e!d(g¦  «         e!d)g¦  «         e!dg¦  «         e! e"j#        d*¦  «        g¦  «         e! e"j#        d*d+¬,¦  «        g¦  «        g¦  «        ej                             d- e!d$gd%¬&¦  «         e!d$gd'¬&¦  «         e!d(g¦  «         e!d)g¦  «         e!dg¦  «         e! e"j#        d*¦  «        g¦  «         e! e"j#        d*d+¬,¦  «        g¦  «        g¦  «        d.„ ¦   «         ¦   «         Z$ej                             d# e!d$gd%¬&¦  «         e!d$gd'¬&¦  «         e!d(g¦  «         e!d)g¦  «         e!dg¦  «         e! e"j#        d*¦  «        g¦  «         e! e"j#        d*d+¬,¦  «        g¦  «        g¦  «        ej                             d/ e!e"j%        gd'¬&¦  «         e!e&j'        gd0¬&¦  «         e!e&j'        gd1¬&¦  «         e!e"j(        g¦  «        g¦  «        d2„ ¦   «         ¦   «         Z)d3„ Z*ej                             d4d5g d6¢fdg d7¢fg¦  «        ej                             d8d9d:g¦  «        d;„ ¦   «         ¦   «         Z+d<„ Z,d=„ Z-ej         .                    d>¦  «        d?„ ¦   «         Z/d@„ Z0dA„ Z1ej                             dBg dC¢¦  «        dD„ ¦   «         Z2ej                             dBg dC¢¦  «        dE„ ¦   «         Z3dF„ Z4dG„ Z5dH„ Z6dI„ Z7dJ„ Z8dK„ Z9dL„ Z:dM„ Z;dN„ Z<dO„ Z=dP„ Z>dQ„ Z?dR„ Z@dS„ ZAdT„ ZBdU„ ZCej                             d8d:dVg¦  «        ej                             dW eDg dX¢¦  «         eDg dY¢¦  «        f eEg dZ¢d[¬&¦  «         eEd\d]d^e"j(        e"j(        e"j(        gd[¬&¦  «        fgd_„ eFjG        D ¦   «         ¢ eHjI        g d`¢¦  «         eHjI        dadbdce&j'        e&j'        e&j'        g¦  «        f‘ eJg dd¢de¬f¦  «         eJd\dgdhe"j(        e"j(        e"j(        gde¬f¦  «        f‘ eKg di¢¦  «         eKdjdkdle"j(        e"j(        e"j(        g¦  «        f‘¦  «        dm„ ¦   «         ¦   «         ZLdn„ ZMej                             d8d9d:g¦  «        do„ ¦   «         ZNdp„ ZOdq„ ZPdr„ ZQdsS )tÚ	TestMergec                 óB  — t          t          ¦   «         t          ¦   «         t          j                             d¦  «                             d¦  «        t          j                             d¦  «                             d¦  «        dœ¦  «        }||d         dk             }|S )Nr   r   )Úkey1Úkey2Údata1Údata2r?   r-   ©r   r*   r   r"   r#   Ústandard_normal)ÚselfÚdfs     r)   rE   zTestMerge.dfB   s„   € åå%™œÝ%™œÝœ×.Ò.¨qÑ1Ô1×AÒAÀ"ÑEÔEÝœ×.Ò.¨qÑ1Ô1×AÒAÀ"ÑEÔEð	ð ñ
ô 
ˆð ��6”
˜Q’ÔˆØˆ	r+   c                 óÂ   — t          t          d¬¦  «        t          dd¬¦  «        t          j                             d¦  «                             d¦  «        dœ¦  «        S )Né
   )r&   r4   )r%   r&   r   )r>   r?   ÚvaluerB   ©rD   s    r)   r9   zTestMerge.df2Q   s]   € åå%¨Ð+Ñ+Ô+Ý%¨a°2Ð6Ñ6Ô6Ýœ×.Ò.¨qÑ1Ô1×AÒAÀ"ÑEÔEðð ñ
ô 
ð 	
r+   c                 óŠ   — t          g d¢t          j                             d¦  «                             d¦  «        dœ¦  «        S )N©r.   r/   ÚcÚdÚerN   r.   r   é   ©ÚkeyÚv1)r   r   r"   r#   rC   rI   s    r)   ÚleftzTestMerge.left[   sH   € åà:Ð:Ð:Ý”i×+Ò+¨AÑ.Ô.×>Ò>¸qÑAÔAðð ñ
ô 
ð 	
r+   c                 óÈ   — t          ¦   «         }t          dddgiddgd¬¦  «        }t          ||dd¬¦  «        }t          dg id¬	¦  «        }t          j        ||¦  «         d S )
Nr.   r-   r   r   Úint64)ÚindexÚdtypeT©Ú
left_indexÚright_index©rW   ©r   r   ÚtmÚassert_frame_equal)rD   Údf_emptyÚdf_aÚresultÚexpecteds        r)   Útest_merge_inner_join_emptyz%TestMerge.test_merge_inner_join_emptyd   sp   € å‘;”;ˆÝ˜#  1˜v˜¨q°!¨f¸GÐDÑDÔDˆÝ�x °$ÀDÐIÑIÔIˆÝ˜c 2˜Y¨gÐ6Ñ6Ô6ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   c                 óx   — t          ||¦  «        }t          ||ddg¬¦  «        }t          j        ||¦  «         d S )Nr>   r?   ©Úon©r   r]   r^   )rD   rE   r9   ÚjoinedÚexps        r)   Útest_merge_commonzTestMerge.test_merge_commonl   sA   € Ý�r˜3‘”ˆÝ�B˜ ¨Ð 0Ð1Ñ1Ô1ˆÝ
Ô˜f cÑ*Ô*Ð*Ð*Ð*r+   c                 óÀ   — t          g d¢g d¢g d¢g d¢dœ¦  «        }|                     t          ¦  «        }|}t          ||¦  «        }t	          j        ||¦  «         d S )N)r-   r   r-   r   )r   r-   r   r   )r   r   r   r   )r-   r   r   r3   ©r   r-   r   r3   )r   ÚastypeÚfloatr   r]   r^   ©rD   rS   Úrightrb   ra   s        r)   Útest_merge_non_string_columnsz'TestMerge.test_merge_non_string_columnsq   sr   € õ Ø��   °,°,°,À<À<À<ÐPÐPñ
ô 
ˆð —’�EÑ"Ô"ˆØˆÝ�t˜UÑ#Ô#ˆÝ
Ô˜h¨Ñ/Ô/Ð/Ð/Ð/r+   c                 óò   — |                      d¦  «        }|                      d¦  «        }t          ||d¬¦  «        }t          ||d¬¦  «                              d¦  «        }t          j        ||¦  «         d S )Nr>   re   )Ú	set_indexr   r]   r^   )rD   rE   r9   rS   rp   ra   rb   s          r)   Útest_merge_index_as_on_argz$TestMerge.test_merge_index_as_on_arg}   su   € ð �|Š|˜FÑ#Ô#ˆØ—’˜fÑ%Ô%ˆÝ�t˜U vÐ.Ñ.Ô.ˆÝ˜˜S VÐ,Ñ,Ô,×6Ò6°vÑ>Ô>ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   c                 ód  — t          g d¢t          j                             d¦  «                             d¦  «        dœ¦  «        }t          dt          j                             d¦  «                             d¦  «        ig d¢¬¦  «        }t          ||d	d
dd¬¦  «        }t          ||d	d
dd¬¦  «        }t          j        ||j        d d …|j	        f         ¦  «         t          ||d	d
dd
¬¦  «        }t          ||d	d
dd
¬¦  «        }t          j        ||j        d d …|j	        f         ¦  «         d S )NrK   r   rO   rP   Úv2r4   ©rM   r/   rL   r.   ©rV   rQ   TrS   F)Úleft_onrZ   ÚhowÚsortrp   )Úright_onrY   rz   r{   )
r   r   r"   r#   rC   r   r]   r^   ÚlocÚcolumns)rD   rS   rp   Úmerged1Úmerged2s        r)   Ú(test_merge_index_singlekey_right_vs_leftz2TestMerge.test_merge_index_singlekey_right_vs_left†   sh  € Ýà:Ð:Ð:Ý”i×+Ò+¨AÑ.Ô.×>Ò>¸qÑAÔAðð ñ
ô 
ˆõ Ø•2”9×(Ò(¨Ñ+Ô+×;Ò;¸AÑ>Ô>Ð?Ø&Ð&Ð&ð
ñ 
ô 
ˆõ
 Ø�% °D¸fÈ5ð
ñ 
ô 
ˆõ Ø�4 %°D¸gÈEð
ñ 
ô 
ˆõ 	Ô˜g w¤{°1°1°1°g´oÐ3EÔ'FÑGÔGÐGåØ�% °D¸fÈ4ð
ñ 
ô 
ˆõ Ø�4 %°D¸gÈDð
ñ 
ô 
ˆõ 	Ô˜g w¤{°1°1°1°g´oÐ3EÔ'FÑGÔGÐGÐGÐGr+   c                 ó€  — t          g d¢t          j                             d¦  «                             d¦  «        dœ¦  «        }t          dt          j                             d¦  «                             d¦  «        ig d¢¬¦  «        }t          ||d	d
d¬¦  «        }|                     |d	¬¦  «        j        |j                 }t          j
        ||¦  «         t          ||d	d
d¬¦  «        }|                     |d	¬¦  «        j        |j                 }t          j
        ||j        d d …|j        f         ¦  «         d S )NrK   r   rO   rP   rv   r4   rw   rx   rQ   TÚinner©ry   rZ   rz   re   )r|   rY   rz   )r   r   r"   r#   rC   r   Újoinr}   rV   r]   r^   r~   ©rD   rS   rp   ra   rb   s        r)   Ú test_merge_index_singlekey_innerz*TestMerge.test_merge_index_singlekey_inner¢   s8  € Ýà:Ð:Ð:Ý”i×+Ò+¨AÑ.Ô.×>Ò>¸qÑAÔAðð ñ
ô 
ˆõ Ø•2”9×(Ò(¨Ñ+Ô+×;Ò;¸AÑ>Ô>Ð?Ø&Ð&Ð&ð
ñ 
ô 
ˆõ �t˜U¨E¸tÈÐQÑQÔQˆØ—9’9˜U u�9Ñ-Ô-Ô1°&´,Ô?ˆÝ
Ô˜f hÑ/Ô/Ð/å�u˜d¨U¸tÈÐQÑQÔQˆØ—9’9˜U u�9Ñ-Ô-Ô1°&´,Ô?ˆÝ
Ô˜f h¤l°1°1°1°f´nÐ3DÔ&EÑFÔFÐFÐFÐFr+   c                 ó  — t          dt          j                             d¦  «                             d¦  «        ig d¢¬¦  «        }d}t          j        t          j        j	        |¬¦  «        5  t          ||d¬	¦  «         d d d ¦  «         n# 1 swxY w Y   d
}t          j        t          j        j	        |¬¦  «        5  t          ||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          j        j	        |¬¦  «        5  t          ||dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          ||dgddg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrv   r   r4   rw   rx   z&Must pass right_on or right_index=True©ÚmatchT)rY   z$Must pass left_on or left_index=True)rZ   zRCan only pass argument "on" OR "left_on" and "right_on", not a combination of bothrQ   )ry   rf   z)len\(right_on\) must equal len\(left_on\)r>   r?   ©ry   r|   )r   r   r"   r#   rC   ÚpytestÚraisesÚpdÚerrorsr   r   Ú
ValueError)rD   rE   r9   rS   rp   Úmsgs         r)   Útest_merge_misspecifiedz!TestMerge.test_merge_misspecified·   s�  € ÝØ•2”9×(Ò(¨Ñ+Ô+×;Ò;¸AÑ>Ô>Ð?Ø&Ð&Ð&ð
ñ 
ô 
ˆð 7ˆÝŒ]�2œ9Ô/°sÐ;Ñ;Ô;ð 	0ð 	0Ý�$˜¨$Ð/Ñ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0à4ˆÝŒ]�2œ9Ô/°sÐ;Ñ;Ô;ð 	1ð 	1Ý�$˜¨4Ð0Ñ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð$ð 	õ Œ]�2œ9Ô/°sÐ;Ñ;Ô;ð 	7ð 	7Ý�$˜ e°Ð6Ñ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð ;ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	Hð 	HÝ�"�c F 8°v¸vÐ6FÐGÑGÔGÐGð	Hð 	Hð 	Hñ 	Hô 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Høøøð 	Hð 	Hð 	Hð 	Hð 	Hð 	HsH   Á-BÂBÂBÂ>CÃC!Ã$C!ÄD/Ä/D3Ä6D3ÅE;Å;E?ÆE?c           	      óÊ  — d}t          j        t          |¬¦  «        5  t          ||ddddg¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          ||dddgd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          ||dddgddg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nz>right_index parameter must be of type bool, not <class 'list'>r‰   rS   Fr>   r?   ©rz   rY   rZ   z=left_index parameter must be of type bool, not <class 'list'>©rŒ   r�   r�   r   )rD   rE   r9   r‘   s       r)   Ú&test_index_and_on_parameters_confusionz0TestMerge.test_index_and_on_parameters_confusionÎ   sä  € ØNˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	ÝØØØØ Ø# VÐ,ðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð NˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	ÝØØØØ" FÐ+Ø!ðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ Œ]�:¨SÐ1Ñ1Ô1ð 	ð 	ÝØØØØ" FÐ+Ø# VÐ,ðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s5   žAÁAÁAÁ)BÂBÂBÂ2CÃCÃCc                 óÊ   — t          ||d¬¦  «        }|d                              ¦   «         dz                       ¦   «         }t          |¦  «        |k    sJ ‚d|v sJ ‚d|v sJ ‚d S )NrQ   re   r   Úv1_xÚv1_y)r   Úvalue_countsÚsumr!   )rD   rS   ÚmergedÚexp_lens       r)   Útest_merge_overlapzTestMerge.test_merge_overlapê   s{   € Ý�t˜T eÐ,Ñ,Ô,ˆØ˜”;×+Ò+Ñ-Ô-°Ñ2×7Ò7Ñ9Ô9ˆÝ�6‰{Œ{˜gÒ%Ð%Ð%Ð%Ø˜ÐÐÐÐØ˜ÐÐÐÐÐÐr+   c           	      óz  — t          g d¢g d¢dœ¦  «        }t          g d¢g d¢dœ¦  «        }|                     |ddd	d
¬¦  «        }t          ddddddt          j        gd¬¦  «        }t          j        |d         |¦  «         t          dt          j        dddddgd¬¦  «        }t          j        |d         |¦  «         t          ddddddt          j        gd¬¦  «        }t          j        |d         |¦  «         t          dt          j        dddddgd¬¦  «        }t          j        |d         |¦  «         d S )N)ÚfooÚbarÚbazr    ©r-   r   r3   r4   )ÚlkeyrH   )r    r¡   Úquxr    )r5   é   rO   r   )ÚrkeyrH   r¤   r§   ÚouterT)ry   r|   rz   r{   r¡   r¢   r    ©Únamer¥   r   r3   r-   r4   Úvalue_xr¦   r5   r   rO   Úvalue_y)r   r   r   r   Únanr]   Úassert_series_equal)rD   rS   rp   rœ   ri   s        r)   Ú%test_merge_different_column_key_namesz/TestMerge.test_merge_different_column_key_namesñ   sW  € ÝÐ">Ð">Ð">ÈÈÈÐVÐVÑWÔWˆÝÐ#?Ð#?Ð#?È,È,È,ÐWÐWÑXÔXˆà—’Ø˜6¨F¸Àdð ñ 
ô 
ˆõ �e˜U E¨5°%¸ÅÄÐGÈfÐUÑUÔUˆÝ
Ô˜v fœ~¨sÑ3Ô3Ð3å�e�RœV U¨E°5¸%ÀÐGÈfÐUÑUÔUˆÝ
Ô˜v fœ~¨sÑ3Ô3Ð3å�a˜˜A˜q ! Q­¬Ð/°iÐ@Ñ@Ô@ˆÝ
Ô˜v iÔ0°#Ñ6Ô6Ð6å�a�œ  A q¨!¨QÐ/°iÐ@Ñ@Ô@ˆÝ
Ô˜v iÔ0°#Ñ6Ô6Ð6Ð6Ð6r+   c                 óD  — t          dddœt          d¦  «        ¬¦  «        }t          dddœt          d¦  «        ¬¦  «        }t          ||d	d	¬
¦  «        }d|d<   |d         dk                         ¦   «         sJ ‚d|d<   |d         dk                         ¦   «         sJ ‚d S )Nr   r-   ©r.   r/   rG   rx   r    r¡   ©rL   rM   TrX   r¦   r.   ÚpeekaboorM   )r   r   r   Úall)rD   rS   rp   rœ   s       r)   Útest_merge_copyzTestMerge.test_merge_copy  s±   € Ý˜q qÐ)Ð)µ°r±´Ð;Ñ;Ô;ˆÝ ¨EÐ2Ð2½%À¹)¼)ÐDÑDÔDˆå�t˜U¨tÀÐFÑFÔFˆàˆˆs‰Ø�S”	˜Q’×#Ò#Ñ%Ô%Ð%Ð%Ð%à ˆˆs‰Ø�c”
˜eÒ#×(Ò(Ñ*Ô*Ð*Ð*Ð*Ð*Ð*r+   c                 ól  — t          dddœt          d¦  «        ¬¦  «        }t          dddœt          d¦  «        ¬¦  «        }t          ||d	d	¬
¦  «        }t          j        |d         j        |d         j        ¦  «        sJ ‚|s-t          j        |d         j        |d         j        ¦  «        sJ ‚d S d S )Nr   r-   r±   rG   rx   r    r¡   r²   TrX   r.   rM   )r   r   r   r   Úshares_memoryÚ_values)rD   Úusing_infer_stringrS   rp   rœ   s        r)   Útest_merge_nocopyzTestMerge.test_merge_nocopy  sÁ   € Ý˜q qÐ)Ð)µ°r±´Ð;Ñ;Ô;ˆÝ ¨EÐ2Ð2½%À¹)¼)ÐDÑDÔDˆå�t˜U¨tÀÐFÑFÔFˆåÔ  s¤Ô 3°T¸#´YÔ5FÑGÔGÐGÐGÐGØ!ð 	MÝÔ# F¨3¤KÔ$7¸¸s¼Ô9KÑLÔLÐLÐLÐLð	Mð 	MØLÐLr+   c                 óª  — t          g d¢t          t          d¦  «        ¦  «        dœddg¬¦  «        }t          g d¢t          t          d¦  «        ¦  «        d	œ¦  «        }t          ||dd
¬¦  «        }t          g d¢t	          j        dddddddt          j        t          j        g	¦  «        g d¢dœg d¢¬¦  «        }t          j        ||¦  «         d S )N©r-   r-   r   r   r3   r5   ©rQ   rH   rH   rQ   ©r~   ©r-   r-   r   r3   r4   r5   r¦   )rQ   Úrvaluer¨   ©rf   rz   ©	r-   r-   r-   r-   r   r   r3   r4   r5   r   r-   r   r3   r4   )	r   r-   r   r-   r   r   r3   r4   r5   )rQ   rH   rÀ   )rH   rQ   rÀ   )	r   r   r   r   r   Úarrayr­   r]   r^   )rD   rS   rp   rh   rb   s        r)   Ú"test_intelligently_handle_join_keyz,TestMerge.test_intelligently_handle_join_key  sõ   € õ Ø#�O�O­dµ5¸±8´8©n¬nÐ=Ð=ÈÐQVÐGWð
ñ 
ô 
ˆõ Ð"4Ð"4Ð"4ÅÅUÈ1ÁXÄXÁÄÐOÐOÑPÔPˆå�t˜U u°'Ð:Ñ:Ô:ˆÝà2Ð2Ð2Ýœ 1 a¨¨A¨q°!°Q½¼ÅÄÐ"GÑHÔHØ5Ð5Ð5ðð ð
 /Ð.Ð.ð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   c                 óR  — t          dgdgdœ¦  «        }t          dgdgdœ¦  «        }t          ||d¬¦  «        }|d         j        d	k    sJ ‚t          d
gdgdœ¦  «        }t          dgdgdœ¦  «        }t          ||d¬¦  «        }|d         j        dk    sJ ‚t          ddgi¦  «        }t          ddgi¦  «        }t          j        dg¦  «        }t          j        dg¦  «        }t          ||||d¬¦  «        }|d         j        t          j        t
          ¦  «        k    sJ ‚d S )Nr-   rG   rP   r   é   r¨   ©rz   rQ   rU   TFr   ÚboolÚval©ry   r|   rz   Úkey_0)r   r   rW   r   rÃ   Úint)rD   r8   r9   rE   r¤   r§   s         r)   Útest_merge_join_key_dtype_castz(TestMerge.test_merge_join_key_dtype_cast.  sB  € õ   ¨B¨4Ð0Ð0Ñ1Ô1ˆÝ  ¨B¨4Ð0Ð0Ñ1Ô1ˆÝ�3˜ Ð)Ñ)Ô)ˆØ�%ŒyŒ 'Ò)Ð)Ð)Ð)å  ¨q¨cÐ2Ð2Ñ3Ô3ˆÝ  °¨sÐ3Ð3Ñ4Ô4ˆÝ�3˜ Ð)Ñ)Ô)ˆð �%ŒyŒ &Ò(Ð(Ð(Ð(å˜  ˜Ñ%Ô%ˆÝ˜  ˜Ñ%Ô%ˆÝŒx˜˜‰}Œ}ˆÝŒx˜˜‰}Œ}ˆÝ�3˜ T°D¸gÐFÑFÔFˆØ�'Œ{Ô ¥B¤H­S¡M¤MÒ1Ð1Ð1Ð1Ð1Ð1r+   c                 óæ  — t          g d¢t          j        d¦  «        dœddgd¬¦  «        }t          dt          j        d	¦  «        id¬
¦  «        }t          j        g d¢d¬
¦  «        }t	          ||d|d¬¦  «        }t	          |||dd¬¦  «        }t          j        |d         |d         ¦  «         |d                              ¦   «                              ¦   «         sJ ‚|d                              ¦   «                              ¦   «         sJ ‚t          dt          j        d¦  «        idg¬¦  «        }t          dt          j        d	¦  «        i¦  «        }t          j        g d¢¦  «        }t          j        g d¢¦  «        }t	          ||||d¬¦  «        }t          g d¢t          d¬¦  «        }t          j        |d         |¦  «         t          dt          j        d¦  «        i¦  «        }t          dt          j        d	¦  «        i¦  «        }t          j        g d¢t          j        ¬
¦  «        }t	          ||d|d¬¦  «        }t          j        |d         t          |d¬¦  «        ¦  «         d S )Nr¼   r5   r½   rH   rQ   rU   ©r~   rW   rÀ   r¦   r[   r¿   r¨   rÊ   r¾   rÂ   rË   ©rW   rª   r3   )r   r-   r-   r   r   r3   T)rY   r|   rz   r©   )r   r   ÚarangerÃ   r   r]   r®   Únotnar´   r   rÌ   rU   )	rD   rS   rp   rQ   rœ   r€   r¤   r§   rb   s	            r)   Útest_handle_join_key_pass_arrayz)TestMerge.test_handle_join_key_pass_arrayE  sP  € ÝØ#�O�O­b¬i¸©l¬lÐ;Ð;Ø˜eÐ$Øð
ñ 
ô 
ˆõ
 ˜8¥R¤Y¨q¡\¤\Ð2¸'ÐBÑBÔBˆÝŒhÐ)Ð)Ð)°Ð9Ñ9Ô9ˆå�t˜U¨E¸CÀWÐMÑMÔMˆÝ˜˜t¨S¸5ÀgÐNÑNÔNˆå
Ô˜v eœ}¨g°e¬nÑ=Ô=Ð=Ø�eŒ}×"Ò"Ñ$Ô$×(Ò(Ñ*Ô*Ð*Ð*Ð*Ø�uŒ~×#Ò#Ñ%Ô%×)Ò)Ñ+Ô+Ð+Ð+Ð+å˜'¥2¤9¨Q¡<¤<Ð0¸7¸)ÐDÑDÔDˆÝ˜8¥R¤Y¨q¡\¤\Ð2Ñ3Ô3ˆÝŒx˜˜˜Ñ(Ô(ˆÝŒxÐ*Ð*Ð*Ñ+Ô+ˆå�t˜U¨D¸4ÀWÐMÑMÔMˆÝÐ5Ð5Ð5½SÀwÐOÑOÔOˆÝ
Ô˜v gœ°Ñ9Ô9Ð9å˜'¥2¤9¨Q¡<¤<Ð0Ñ1Ô1ˆÝ˜8¥R¤Y¨q¡\¤\Ð2Ñ3Ô3ˆåŒhÐ)Ð)Ð)µ´Ð:Ñ:Ô:ˆÝ�t˜U¨t¸cÀwÐOÑOÔOˆÝ
Ô˜v gœµ°sÀÐ0IÑ0IÔ0IÑJÔJÐJÐJÐJr+   c                 ó(  — t          j        ¦   «         }t          ddgi|g¬¦  «        }t          dddgi||g¬¦  «        }dd › dd › d	d
› dd
› �}t          j        t
          |¬¦  «        5  t          ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚxr.   rx   Úyr/   rL   z>No common columns to perform merge on. Merge options: left_on=z, right_on=z, left_index=Fz, right_index=r‰   )r   Únowr   rŒ   r�   r   r   )rD   Údtr8   r9   r‘   s        r)   Ú&test_no_overlap_more_informative_errorz0TestMerge.test_no_overlap_more_informative_errore  s  € ÝŒ\‰^Œ^ˆÝ˜˜s˜e˜¨R¨DÐ1Ñ1Ô1ˆå˜˜s C˜jÐ)°"°b°Ð:Ñ:Ô:ˆð7Ø&*ð7ð 7Ø7;ð7ð 7àð7ð 7à/4ð7ð 7ð 	õ Œ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ý�#�s‰OŒOˆOð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   Á)BÂBÂBc           	      ó  — t          ddd¦  «        }t          ddd¦  «        }t          ddd¦  «        }t          ddd¦  «        }t          ddgi|g¬	¦  «        }t          d
ddgi||g¬	¦  «        }t          ||¦  «         t          dg d¢i|||g¬	¦  «        }t          d
g d¢i||||||g¬	¦  «        }t          ||¦  «         t          dddgi||g¬	¦  «        }t          d
ddgi||g¬	¦  «        }t          ||¦  «         d S )NéÜ  r5   r-   r   r3   r4   rÕ   r.   rx   rÖ   r/   rL   )r.   r/   Úq)rL   rM   rN   ÚfÚgÚhrM   ©r   r   Ú_check_merge)rD   rØ   Údt2Údt3Údt4r8   r9   s          r)   Útest_merge_non_unique_indexesz'TestMerge.test_merge_non_unique_indexest  sK  € Ý�d˜A˜qÑ!Ô!ˆÝ�t˜Q Ñ"Ô"ˆÝ�t˜Q Ñ"Ô"ˆÝ�t˜Q Ñ"Ô"ˆå˜˜s˜e˜¨R¨DÐ1Ñ1Ô1ˆÝ˜˜s C˜jÐ)°"°b°Ð:Ñ:Ô:ˆÝ�S˜#ÑÔÐõ ˜˜o˜o˜oÐ.°s¸BÀ°nÐEÑEÔEˆÝØÐ0Ð0Ð0Ð1¸#¸sÀCÈÈbÐRTÐ9Uð
ñ 
ô 
ˆõ 	�S˜#ÑÔÐå˜˜s C˜jÐ)°"°b°Ð:Ñ:Ô:ˆÝ˜˜s C˜jÐ)°"°b°Ð:Ñ:Ô:ˆÝ�S˜#ÑÔÐÐÐr+   c                 óò   — t          ddd¦  «        }t          ddd¦  «        }t          ddd¦  «        }t          dg d¢i||||g¬¦  «        }t          d	g d
¢i|||||g¬¦  «        }t          ||¦  «         d S )NrÛ   r5   r-   r   r3   rÕ   ©r.   r/   rL   rM   rx   rÖ   )rN   rÝ   rÞ   z hÚirà   )rD   rØ   râ   rã   r8   r9   s         r)   Ú(test_merge_non_unique_index_many_to_manyz2TestMerge.test_merge_non_unique_index_many_to_many‰  s¤   € Ý�d˜A˜qÑ!Ô!ˆÝ�t˜Q Ñ"Ô"ˆÝ�t˜Q Ñ"Ô"ˆÝ˜Ð2Ð2Ð2Ð3¸CÀÀbÈ"Ð;MÐNÑNÔNˆÝØÐ,Ð,Ð,Ð-°c¸3ÀÀRÈÐ5Lð
ñ 
ô 
ˆõ 	�S˜#ÑÔÐÐÐr+   c                 óð   — t          dgdgdœ¦  «        }t          dg i¦  «        }t          ||dd¬¦  «        }t          j        ||¦  «         t          ||dd¬¦  «        }t          j        ||¦  «         d S )Nr-   r   r½   rQ   rS   rÁ   rp   r\   )rD   rS   rp   ra   s       r)   Útest_left_merge_empty_dataframez)TestMerge.test_left_merge_empty_dataframe“  s„   € Ý ! °¨sÐ3Ð3Ñ4Ô4ˆÝ˜5 "˜+Ñ&Ô&ˆå�t˜U u°&Ð9Ñ9Ô9ˆÝ
Ô˜f dÑ+Ô+Ð+å�u˜d u°'Ð:Ñ:Ô:ˆÝ
Ô˜f dÑ+Ô+Ð+Ð+Ð+r+   c                 ó¸   — t          g |d d…         ¬¦  «        }|                     ¦   «         }|                     ||¬¦  «        }t          j        ||¦  «         d S )Nr   rx   rÇ   )r   Úcopyr…   r]   r^   )rD   rV   Ú	join_typerS   rp   ra   s         r)   Útest_merge_empty_dataframez$TestMerge.test_merge_empty_dataframe�  sW   € å˜ 5¨¨!¨¤9Ð-Ñ-Ô-ˆØ—	’	‘”ˆà—’˜5 i�Ñ0Ô0ˆÝ
Ô˜f dÑ+Ô+Ð+Ð+Ð+r+   ÚkwargTrX   rÕ   ©rY   r|   r.   ©ry   rZ   r‹   c                 óÈ   — t          g d¢¬¦  «        }t          g d¢¬¦  «        }t          g d¢t          ¬¦  «        }t          ||fd|i|¤Ž}t          j        ||¦  «         d S )N©r.   r/   rL   r¾   ©rÕ   rÖ   Úz©r.   r/   rL   rÕ   rÖ   rö   rÏ   rz   )r   Úobjectr   r]   r^   )rD   rî   rð   rS   rp   Úexp_inra   s          r)   Ú!test_merge_left_empty_right_emptyz+TestMerge.test_merge_left_empty_right_empty¥  sz   € õ    Ð1Ñ1Ô1ˆÝ / / /Ð2Ñ2Ô2ˆåÐ#AÐ#AÐ#AÍÐPÑPÔPˆå�t˜UÐ;Ð;¨	Ð;°UÐ;Ð;ˆÝ
Ô˜f fÑ-Ô-Ð-Ð-Ð-r+   c           	      óà  ‡‡— t          g d¢¬¦  «        Št          g d¢g d¢g d¢gg d¢¬¦  «        Št          t          j        t          j        gdz  t          ¬¦  «        t          j        t          j        gdz  t          ¬¦  «        t          j        t          j        gdz  t          ¬¦  «        g d	¢g d
¢g d¢dœg d¢¬¦  «        }|dd…         }ˆˆfd„}ˆˆfd„}dddœdddœfD ]} |||¦  «          |||¦  «         Œdddœ} |||¦  «         g d¢|d<    |||¦  «         dddœ} |||¦  «         t          j        t          j        gdz  t          ¬¦  «        |d<    |||¦  «         d S )Nrô   r¾   ©r-   r   r3   ©r4   r5   r¦   ©rO   r   é	   rõ   r3   r[   ©r-   r4   rO   ©r   r5   r   ©r3   r¦   rÿ   r÷   r   c                 óœ   •— t          ‰‰fddi|¤Ž}t          j        || ¦  «         t          ‰‰fddi|¤Ž}t          j        || ¦  «         d S )Nrz   rƒ   rS   rg   ©ri   rð   ra   rS   rp   s      €€r)   Úcheck1z>TestMerge.test_merge_left_empty_right_notempty.<locals>.check1Ê  sg   ø€ Ý˜4 Ð=Ð=¨GÐ=°uÐ=Ð=ˆFÝÔ! &¨#Ñ.Ô.Ð.Ý˜4 Ð<Ð<¨FÐ<°eÐ<Ð<ˆFÝÔ! &¨#Ñ.Ô.Ð.Ð.Ð.r+   c                 óœ   •— t          ‰‰fddi|¤Ž}t          j        || ¦  «         t          ‰‰fddi|¤Ž}t          j        || ¦  «         d S )Nrz   rp   r¨   rg   r  s      €€r)   Úcheck2z>TestMerge.test_merge_left_empty_right_notempty.<locals>.check2Ð  óg   ø€ Ý˜4 Ð=Ð=¨GÐ=°uÐ=Ð=ˆFÝÔ! &¨#Ñ.Ô.Ð.Ý˜4 Ð=Ð=¨GÐ=°uÐ=Ð=ˆFÝÔ! &¨#Ñ.Ô.Ð.Ð.Ð.r+   TrX   rÕ   rñ   r.   rò   ©r   r-   r   r‹   )r   r   rÃ   r­   rø   )rD   Úexp_outrù   r  r  rð   rS   rp   s         @@r)   Ú$test_merge_left_empty_right_notemptyz.TestMerge.test_merge_left_empty_right_notempty¸  sÿ  øø€ å   Ð1Ñ1Ô1ˆÝ˜9˜9˜9 i i i°°°Ð;À_À_À_ÐUÑUÔUˆåå”X�rœv˜h¨™lµ&Ð9Ñ9Ô9Ý”X�rœv˜h¨™lµ&Ð9Ñ9Ô9Ý”X�rœv˜h¨™lµ&Ð9Ñ9Ô9Ø�Y�YØ�Y�YØ�Y�Yðð ð 3Ð2Ð2ð

ñ 

ô 

ˆð ˜˜1˜”ˆð	/ð 	/ð 	/ð 	/ð 	/ð 	/ð	/ð 	/ð 	/ð 	/ð 	/ð 	/ð  °Ð5Ð5Ø¨SÐ1Ð1ð
ð 	#ð 	#ˆEð ˆF�6˜5Ñ!Ô!Ð!ØˆF�7˜EÑ"Ô"Ð"Ð"à°Ð5Ð5ˆØˆˆv�uÑÔÐØ �y�yˆ�‰Øˆˆw˜ÑÔÐà¨SÐ1Ð1ˆØˆˆv�uÑÔÐÝ”x¥¤ ¨1¡µFÐ;Ñ;Ô;ˆ�‰Øˆˆw˜ÑÔÐÐÐr+   c                 ó  ‡‡‡‡‡‡— t          g d¢g d¢g d¢gg d¢¬¦  «        Št          g d¢¬¦  «        Št          g d¢g d¢g d	¢t          j        t          j        gd
z  t          ¬¦  «        t          j        t          j        gd
z  t          ¬¦  «        t          j        t          j        gd
z  t          ¬¦  «        dœg d¢¬¦  «        Š‰dd…         Š‰j                             t          ¦  «        ‰_        ˆˆfd„Šˆˆˆˆˆˆfd„Šd S )Nrü   rý   rþ   rô   r¾   rõ   r   r  r  r3   r[   r÷   r   c                 óœ   •— t          ‰‰fddi|¤Ž}t          j        || ¦  «         t          ‰‰fddi|¤Ž}t          j        || ¦  «         d S )Nrz   rƒ   rp   rg   r  s      €€r)   r  z>TestMerge.test_merge_left_notempty_right_empty.<locals>.check1û  r  r+   c                 óö   •— t          ‰‰fddi|¤Ž}t          j        || ¦  «         t          ‰‰fddi|¤Ž}t          j        || ¦  «         dddœdddœddd	œddd
œfD ]} ‰‰|¦  «          ‰‰|¦  «         Œd S )Nrz   rS   r¨   TrX   rÕ   rñ   r.   rò   r‹   rg   )	ri   rð   ra   r  r  rù   r
  rS   rp   s	      €€€€€€r)   r  z>TestMerge.test_merge_left_notempty_right_empty.<locals>.check2  sÓ   ø€ Ý˜4 Ð<Ð<¨FÐ<°eÐ<Ð<ˆFÝÔ! &¨#Ñ.Ô.Ð.Ý˜4 Ð=Ð=¨GÐ=°uÐ=Ð=ˆFÝÔ! &¨#Ñ.Ô.Ð.ð  $°DÐ9Ð9Ø#°Ð5Ð5Ø°Ð5Ð5Ø¨SÐ1Ð1ð	ð 'ð '�ð ��v˜uÑ%Ô%Ð%Ø��w Ñ&Ô&Ð&Ð&ð'ð 'r+   )r   r   rÃ   r­   rø   rV   rm   )rD   r  r  rù   r
  rS   rp   s    @@@@@@r)   Ú$test_merge_left_notempty_right_emptyz.TestMerge.test_merge_left_notempty_right_emptyç  sQ  øøøøøø€ å˜)˜)˜) Y Y Y°	°	°	Ð:ÀOÀOÀOÐTÑTÔTˆÝ / / /Ð2Ñ2Ô2ˆåà�Y�YØ�Y�YØ�Y�YÝ”X�rœv˜h¨™lµ&Ð9Ñ9Ô9Ý”X�rœv˜h¨™lµ&Ð9Ñ9Ô9Ý”X�rœv˜h¨™lµ&Ð9Ñ9Ô9ðð ð 3Ð2Ð2ð

ñ 

ô 

ˆð ˜˜1˜”ˆà”|×*Ò*­6Ñ2Ô2ˆŒð	/ð 	/ð 	/ð 	/ð 	/ð 	/ð	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'r+   Úseries_of_dtyper-   rU   r[   ÚInt64g®Gáz®ó?r    ú
2018-01-01ú
US/Eastern©ÚtzÚseries_of_dtype2c                 ób  — t          ||dœddg¬¦  «        }|d d…         }t          t          |j        d         ¬¦  «        t          |j        d         ¬¦  «        t          |j        d         ¬¦  «        dœg d¢¬¦  «        }|                     |d¬¦  «        }t	          j        ||¦  «         d S )	Nr½   rQ   rH   r¾   r   r[   ©rQ   r«   r¬   re   )r   r   Údtypesr   r]   r^   )rD   r  r  rE   r_   rb   Úactuals          r)   Útest_merge_empty_framez TestMerge.test_merge_empty_frame  sÓ   € õ4 Ø#Ð.>Ð?Ð?Ø˜GÐ$ð
ñ 
ô 
ˆð �b�q�b”6ˆÝå B¤I¨eÔ$4Ð5Ñ5Ô5Ý!¨¬	°'Ô(:Ð;Ñ;Ô;Ý!¨¬	°'Ô(:Ð;Ñ;Ô;ðð ð
 2Ð1Ð1ð
ñ 
ô 
ˆð —’  u�Ñ-Ô-ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   Úseries_of_dtype_all_narn   rø   c                 óä   — t          ||dœddg¬¦  «        }t          ||dœddg¬¦  «        }t          |||dœg d¢¬¦  «        }|                     |d¬¦  «        }t          j        ||¦  «         d S )Nr½   rQ   rH   r¾   r  re   r\   )rD   r  r  Údf_leftÚdf_rightrb   r  s          r)   Útest_merge_all_na_columnz"TestMerge.test_merge_all_na_column;  sº   € õ. Ø#Ð.DÐEÐEØ˜GÐ$ð
ñ 
ô 
ˆõ Ø#Ð.DÐEÐEØ˜GÐ$ð
ñ 
ô 
ˆõ à&Ø1Ø1ðð ð
 2Ð1Ð1ð
ñ 
ô 
ˆð —’˜x¨E�Ñ2Ô2ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   c                 ó>  — t           j                             d¦  «                             ddd¬¦  «        t           j                             d¦  «                             ddd¬¦  «        t	          ddd¦  «        t	          ddd	¦  «        t	          d
dd¦  «        t	          ddd¦  «        t	          ddd	¦  «        t	          dd	d¦  «        t	          ddd	¦  «        t	          ddd¦  «        t	          d
dd¦  «        t	          ddd¦  «        g
dœ}t          j        |¦  «        }|j                             ¦   «         }t          j	        |¦  «        }t          j        |t           j                             d¦  «                             d¦  «        dœ¦  «        }| 
                    |dd¬¦  «        }t          ||dd¬¦  «        }t          j        ||¦  «         |j                             ¦   «         |j                             ¦   «         k                         ¦   «         sJ ‚d S )Nr   r   rG   ©ÚsizerÛ   r-   é   iÛ  r4   iÚ  r3   iØ  r5   )Úvar1Úvar2Úvar3rO   )r'  Úvar8r'  F©rf   r{   )r   r"   r#   Úintegersr   r   Ú	from_dictr'  Úuniquer{   r   r]   r^   r´   )rD   rM   rE   r'  Únewra   ri   s          r)   Útest_merge_nosortzTestMerge.test_merge_nosorte  så  € õ ”I×)Ò)¨!Ñ,Ô,×5Ò5°a¸À"Ð5ÑEÔEÝ”I×)Ò)¨!Ñ,Ô,×5Ò5°a¸À"Ð5ÑEÔEå˜˜q "Ñ%Ô%Ý˜˜q !Ñ$Ô$Ý˜˜q !Ñ$Ô$Ý˜˜q "Ñ%Ô%Ý˜˜q !Ñ$Ô$Ý˜˜q !Ñ$Ô$Ý˜˜q !Ñ$Ô$Ý˜˜q !Ñ$Ô$Ý˜˜q !Ñ$Ô$Ý˜˜q !Ñ$Ô$ðð
ð 
ˆõ  Ô  Ñ#Ô#ˆØŒw�~Š~ÑÔˆÝŒw�t‰}Œ}ˆÝÔ!Ø¥2¤9×#8Ò#8¸Ñ#;Ô#;×#BÒ#BÀ1Ñ#EÔ#EÐFÐFñ
ô 
ˆð —’˜# &¨u�Ñ5Ô5ˆÝ�B˜ ¨UÐ3Ñ3Ô3ˆÝ
Ô˜f cÑ*Ô*Ð*à”—’Ñ Ô  F¤K×$6Ò$6Ñ$8Ô$8Ò8×=Ò=Ñ?Ô?Ð?Ð?Ð?Ð?Ð?r+   )r{   ÚvaluesF)r-   r-   r   r-   r-   )r   r-   r-   r-   r-   rz   rS   rp   c                 ó¬   — t          dg d¢i¦  «        }|                     |d||¬¦  «        }t          |dg¬¦  «        }t          j        ||¦  «         d S )Nr.   )r-   r   r-   )rf   rz   r{   r¾   r\   )rD   r{   r/  rz   rE   ra   rb   s          r)   Ú test_merge_same_order_left_rightz*TestMerge.test_merge_same_order_left_right…  s`   € õ ˜˜Y˜Y˜YÐ'Ñ(Ô(ˆà—’˜" ¨#°D�Ñ9Ô9ˆÝ˜V¨c¨UÐ3Ñ3Ô3ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   c           	      óð  — t          ddgddgdœ¦  «        }t          dgdgdœ¦  «        }|                     |dd¬¦  «        }t          ddd	œddd	œdt          j        d	œdt          j        d	œddd	œd
œt	          g d
¢t
          ¬¦  «        ¬¦  «                             d ¦  «                             ¦   «         g d¢         }|j         	                    d¦  «        |_        t          j        ||d¬¦  «         d S )Nr   r-   ©Úi1Úi2©r4  Úi3r4  Ú_)rf   Úrsuffixç        ©r   r-   )r4  r5  Úi1_r7  Nr[   r¾   ©r4  r5  r<  r7  rø   F©Úcheck_dtype)r   r…   r   r­   r   rø   rs   Úreset_indexr~   rm   r]   r^   ©rD   r8   r9   ra   rb   s        r)   Útest_merge_nan_rightzTestMerge.test_merge_nan_right‘  s  € Ý  1˜v¨a°¨VÐ4Ð4Ñ5Ô5ˆÝ ˜s¨1¨#Ð.Ð.Ñ/Ô/ˆØ—’˜# $°�Ñ4Ô4ˆåà! a˜.˜.Ø A˜,˜,Ø ¥R¤VÐ,Ð,Ø!¥b¤fÐ-Ð-Ø A˜,˜,ðð õ Ð=Ð=Ð=ÅVÐLÑLÔLð	ñ 	ô 	÷ ŠY�t‰_Œ_ßŠ[‰]Œ]Ð4Ð4Ð4ô6ð 	ð  œ×.Ò.¨xÑ8Ô8ˆŒÝ
Ô˜f h¸EÐBÑBÔBÐBÐBÐBr+   c                 ó,  — t          ddgddgdœ¦  «        }t          dgdgdœ¦  «        }|                     |dd	¬
¦  «        }t          dddœdt          j        dœdddœdt          j        dœdœ¦  «        g d¢         }t	          j        ||¦  «         d S )Nr   r-   g      à?ç      ø?r3  gffffffæ?r6  r8  r4  )r9  rf   r;  r:  )r4  r<  r5  r7  r=  )r   r…   r   r­   r]   r^   rA  s        r)   Útest_merge_nan_right2zTestMerge.test_merge_nan_right2¦  sÁ   € Ý  1˜v¨c°3¨ZÐ8Ð8Ñ9Ô9ˆÝ ˜s¨3¨%Ð0Ð0Ñ1Ô1ˆØ—’˜# s¨t�Ñ4Ô4ˆÝà �l�lØ¥2¤6Ð*Ð*Ø #Ð&Ð&Ø-µ"´&Ð9Ð9ð	ð ñ
ô 
ð $Ð
#Ð
#ô%ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   zMignore:Passing a BlockManager|Passing a SingleBlockManager:DeprecationWarningc                 óš   ‡—  G ˆfd„dt           ¦  «        Š ‰|¦  «        }|                     |d¬¦  «        }t          |‰¦  «        sJ ‚d S )Nc                   ó*   •— e Zd Zeˆ fd„¦   «         ZdS )ú0TestMerge.test_merge_type.<locals>.NotADataFramec                 ó   •— ‰S ©N© )rD   ÚNotADataFrames    €r)   Ú_constructorz=TestMerge.test_merge_type.<locals>.NotADataFrame._constructor¹  s	   ø€ à$Ð$r+   N)Ú__name__Ú
__module__Ú__qualname__ÚpropertyrM  )rL  s   €r)   rL  rH  ¸  s8   ø€ € € € € Øð%ð %ð %ð %ñ ŒXð%ð %ð %r+   rL  r>   re   )r   r   Ú
isinstance)rD   rE   r9   Únadra   rL  s        @r)   Útest_merge_typezTestMerge.test_merge_type´  sy   ø€ ð	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%�Iñ 	%ô 	%ð 	%ð
 ˆm˜BÑÔˆØ—’˜3 6�Ñ*Ô*ˆå˜& -Ñ0Ô0Ð0Ð0Ð0Ð0Ð0r+   c           
      óÜ  — t          j        t          ddddd¦  «        gt          dd¦  «        gdœ¦  «        }t          t	          d¦  «        ¬	¦  «        }t          ||gd
¬¦  «        }t          ||gd
¬¦  «        }t          t          ddddd¦  «        t          ddddd¦  «        gt          dd¦  «        t          dd¦  «        gdœt          ¬¦  «        }t          j        ||¦  «         d S )NiÝ  é   r5   é8   r   iäW  )rM   ÚtrØ   r¾   T©Úignore_indexr[   )	r   r+  r   r   r   r   rø   r]   r^   )rD   rM   rE   ra   rb   s        r)   Útest_join_append_timedeltasz%TestMerge.test_join_append_timedeltasÂ  s  € õ ÔÝ˜D " a¨¨BÑ/Ô/Ð0½	À!ÀUÑ8KÔ8KÐ7LÐMÐMñ
ô 
ˆõ �t D™zœzÐ*Ñ*Ô*ˆÝ�R˜�G¨$Ð/Ñ/Ô/ˆÝ˜˜Q˜¨dÐ3Ñ3Ô3ˆÝå˜t R¨¨A¨rÑ2Ô2µH¸TÀ2ÀqÈ!ÈRÑ4PÔ4PÐQÝ  5Ñ)Ô)­9°Q¸Ñ+>Ô+>Ð?ðð õ ð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   c           	      ó¾  — t          j        dd¦  «        }t          t          ||gddg¬¦  «        ¦  «        }t          t          |gdg¬¦  «        ¦  «        }|                     |dd¬¦  «        }t          t          ||gt          d	¦  «        ¬¦  «        t          |t          j        gt          d	¦  «        ¬¦  «        d
œ¦  «        }t          j	        ||¦  «         d S )Ni £áÚnsÚAÚBrx   ÚrrS   )r9  rz   ÚAB)Ú0Ú0r)
r   Útimedelta64r   r   r…   r   rŽ   ÚNaTr]   r^   )rD   ÚtdÚlhsÚrhsra   rb   s         r)   Útest_join_append_timedeltas2z&TestMerge.test_join_append_timedeltas2Õ  sÖ   € õ Œ^˜I tÑ,Ô,ˆÝ�  B˜x°°S¨zÐ:Ñ:Ô:Ñ;Ô;ˆÝ� ˜t¨C¨5Ð1Ñ1Ô1Ñ2Ô2ˆà—’˜# s°�Ñ7Ô7ˆÝå˜R ˜H­D°©J¬JÐ7Ñ7Ô7Ý˜b¥"¤&˜\µ°d±´Ð<Ñ<Ô<ðð ñ
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   Úunit)ÚDrß   ÚmÚsÚmsÚusr]  c                 ó,  — t          dddgi¦  «        }t          d d gddgd¬¦  «        }d|› d�}|dv rd	}n|}|                     |¦  «                             d¦  «        }|d         j        |k    sJ ‚|                     |dd
¬¦  «        }t          j        ddg|¬¦  «        }t          j	        j
        j                             ||j        ¬¦  «        }t          ddg|dœddg¬¦  «        }	|	d         j        |k    sJ ‚t          j        ||	¦  «         d S )NÚ	entity_idée   éf   Údays©rV   rª   zdatetime64[ú]©rk  rß   rl  zdatetime64[s]Trò   Únatr[   ©rq  rt  r¾   )r   r   rm   Úto_framerW   r   r   rÃ   rŽ   ÚcoreÚarraysÚDatetimeArrayÚ_simple_newr]   r^   )
rD   rj  r8   ÚserrW   Ú	exp_dtyper9   ra   rt  ri   s
             r)   Útest_other_datetime_unitz"TestMerge.test_other_datetime_unitå  sI  € õ ˜ s¨C jÐ1Ñ2Ô2ˆÝ�d˜D�\¨#¨s¨¸&ÐAÑAÔAˆà%˜dÐ%Ð%Ð%ˆà�?Ð"Ð"à'ˆIˆIàˆIØ�jŠj˜Ñ#Ô#×,Ò,¨VÑ4Ô4ˆØ�6Œ{Ô  IÒ-Ð-Ð-Ð-à—’˜3¨À�ÑFÔFˆåŒx˜ ˜¨iÐ8Ñ8Ô8ˆÝŒwŒ~Ô+×7Ò7¸ÀDÄJÐ7ÑOÔOˆÝà! 3˜ZØðð ð ! &Ð)ð
ñ 
ô 
ˆð �6Œ{Ô  IÒ-Ð-Ð-Ð-Ý
Ô˜f cÑ*Ô*Ð*Ð*Ð*r+   c                 ó~  — t          dddgi¦  «        }t          d d gddgd¬¦  «        }d|› d�}|dv rsd	}t          j        t          |¬
¦  «        5  |                     |¦  «         d d d ¦  «         n# 1 swxY w Y   |                     d¦  «                             d¦  «        }n;|                     |¦  «                             d¦  «        }|d         j        |k    sJ ‚|                     |dd¬¦  «        }t          ddgt          j
        ddg|¬¦  «        dœddg¬¦  «        }t          j        ||¦  «         d S )Nrq  rr  rs  rt  ru  zm8[rv  rw  z/Supported resolutions are 's', 'ms', 'us', 'ns'r‰   zm8[s]Trò   rx  r[   ry  r¾   )r   r   rŒ   r�   r�   rm   rz  rW   r   r   rÃ   r]   r^   )	rD   rj  r8   r  rW   r‘   r9   ra   ri   s	            r)   Útest_other_timedelta_unitz#TestMerge.test_other_timedelta_unit  s™  € õ ˜ s¨C jÐ1Ñ2Ô2ˆÝ�d˜D�\¨#¨s¨¸&ÐAÑAÔAˆà�d���ˆØ�?Ð"Ð"àCˆCÝ”�z°Ð5Ñ5Ô5ð "ð "Ø—
’
˜5Ñ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð —*’*˜WÑ%Ô%×.Ò.¨vÑ6Ô6ˆCˆCà—*’*˜UÑ#Ô#×,Ò,¨VÑ4Ô4ˆCØ�v”;Ô$¨Ò-Ð-Ð-Ð-à—’˜3¨À�ÑFÔFˆåØ ˜*­b¬h¸¸u°~ÈUÐ.SÑ.SÔ.SÐTÐTØ  &Ð)ð
ñ 
ô 
ˆõ 	Ô˜f cÑ*Ô*Ð*Ð*Ð*s   ÁA3Á3A7Á:A7c                 óÂ  — t          g d¢g d¢g d¢dœ¦  «        }t          g d¢g d¢g d¢dœ¦  «        }g d¢|_        g d¢|_        t          g d¢g d¢g d¢g d¢g d¢dœ¦  «        }g d¢|_        t          j        t	          ||¦  «        |¦  «         g d	¢|_        d
}t          j        t          |¬¦  «        5  t	          ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrü   rý   rþ   ©rQ   rR   rv   )rQ   r    r    )rQ   r¡   r¡   )rQ   rR   rv   Úv3Úv4)rQ   r    r    r¡   r¡   )r>   r    r    z?Data columns not unique: Index\(\['foo'\], dtype='object|str'\)r‰   )r   r~   r]   r^   r   rŒ   r�   r   )rD   rE   r9   rb   r‘   s        r)   Ú&test_overlapping_columns_error_messagez0TestMerge.test_overlapping_columns_error_message  sc  € Ý˜y˜y˜y°	°	°	ÀÀÀÐKÐKÑLÔLˆÝ 	 	 	°°°À)À)À)ÐLÐLÑMÔMˆà*Ð*Ð*ˆŒ
Ø+Ð+Ð+ˆŒÝà �y�yØ�i�iØ�i�iØ�i�iØ�i�iðð ñ
ô 
ˆð ?Ð>Ð>ˆÔÝ
Ô�e B¨™nœn¨hÑ7Ô7Ð7ð -Ð,Ð,ˆŒØPˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ý�"�c‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   Â6CÃCÃCc                 ó–  — t          t          j        ddd¬¦  «        ddgdœ¦  «        }t          t          j        ddd¬¦  «        g d	¢dœ¦  «        }t          t          j        dd
d¬¦  «        ddt          j        t          j        gt          j        dddgdœ¦  «        }t          ||dd¬¦  «        }t          j        ||¦  «         d S )NÚ20151010r   r  ©Úperiodsr  r-   r½   Ú20151011r3   rü   r4   r  rQ   r¨   rÁ   )r   rŽ   Ú
date_ranger   r­   r   r]   r^   ro   s        r)   Útest_merge_on_datetime64tzz$TestMerge.test_merge_on_datetime64tz5  sê   € åå”} Z¸¸|ÐLÑLÔLØ˜Q˜ðð ñ
ô 
ˆõ å”} Z¸¸|ÐLÑLÔLØ"˜˜ðð ñ
ô 
ˆõ å”} Z¸¸|ÐLÑLÔLØ˜q¥"¤&­"¬&Ð1ÝœF A q¨!Ð,ðð ñ
ô 
ˆõ �t˜U u°'Ð:Ñ:Ô:ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   c                 ó6  — t          ddgt          j        dddd¬¦  «        dœ¦  «        }t          ddgt          j        d	ddd¬¦  «        dœ¦  «        }t          g d
¢g t          t          j        dddd¬¦  «        ¦  «        ¢t          j        ‘t          j        gt          t          j        d	ddd¬¦  «        ¦  «        ¢dœ¦  «        }t          ||dd¬¦  «        }t          j        ||¦  «         |d         j        dk    sJ ‚|d         j        dk    sJ ‚d S )Nr-   r   rŠ  r  r]  )rŒ  r  rj  r½   r3   r�  rü   r  rQ   r¨   rÁ   r«   zdatetime64[ns, US/Eastern]r¬   )	r   rŽ   rŽ  r   re  r   r]   r^   rW   ro   s        r)   Útest_merge_datetime64tz_valuesz(TestMerge.test_merge_datetime64tz_valuesN  st  € Ýà˜1�vÝœØ¨¨lÀðñ ô ðð ñ
ô 
ˆõ à˜1�vÝœØ¨¨lÀðñ ô ðð ñ
ô 
ˆõ à �y�yðÝÝœ j¸!ÀÐSWÐXÑXÔXñô ðõ ”Fð	õ ”FðåÝœ j¸!ÀÐSWÐXÑXÔXñô ððð ñ
ô 
ˆõ" �t˜U u°'Ð:Ñ:Ô:ˆÝ
Ô˜f hÑ/Ô/Ð/Ø�iÔ Ô&Ð*FÒFÐFÐFÐFØ�iÔ Ô&Ð*FÒFÐFÐFÐFÐFÐFr+   c           	      óÞ  — t          j        d¬¦  «        }t          t          dg|¬¦  «        dgt          dg|¬¦  «        dœg d¢¬¦  «        }|d d	…         }|                     |d
¬¦  «        }t          t          |¬¦  «        t          t          ¬¦  «        t          |¬¦  «        t          t          ¬¦  «        t          |¬¦  «        dœg d¢¬¦  «        }t          j        ||¦  «         d S )NÚUTCr  Ú2018r[   g      @Ú2019)r   rH   Údate2r¾   r   r   re   )r   r«   Údate2_xr¬   Údate2_y)	rŽ   ÚDatetimeTZDtyper   r   r   r   rn   r]   r^   )rD   Údtzrp   rS   ra   rb   s         r)   Ú test_merge_on_datetime64tz_emptyz*TestMerge.test_merge_on_datetime64tz_emptyu  s  € åÔ  EÐ*Ñ*Ô*ˆÝå% v h°cÐ:Ñ:Ô:Ø˜Ý&¨ x°sÐ;Ñ;Ô;ðð ð
 /Ð.Ð.ð
ñ 
ô 
ˆð �R�a�RŒyˆØ—’˜E f�Ñ-Ô-ˆÝå SÐ)Ñ)Ô)Ý!­Ð.Ñ.Ô.Ý!¨Ð,Ñ,Ô,Ý!­Ð.Ñ.Ô.Ý!¨Ð,Ñ,Ô,ðð ð IÐHÐHð	
ñ 	
ô 	
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   c                 ó  — t          t          j        dddd¬¦  «        dg¬¦  «        }d|d	<   t          t          j        g d
¢¦  «        ddœ¦  «        }|d         j                             d¦  «        j                             d¦  «        |d<   t          ||dd¬¦  «        }t          t          j        dddd¬¦  «        dgdz  t          j	        gdz  z   t          j	        gdz  dgdz  z   dœ¦  «        }t          j        ||¦  «         d S )Nz2017-10-29 01:00r4   rß   zEurope/Madrid)rŒ  Úfreqr  r   r¾   r-   rH   )z2017-10-29 03:00:00z2017-10-29 04:00:00z2017-10-29 05:00:00r   )r   rH   r“  r¨   ©rz   rf   rO   r3   )r   r«   r¬   )r   rŽ   rŽ  Úto_datetimerØ   Útz_localizeÚ
tz_convertr   r   r­   r]   r^   rA  s        r)   Ú+test_merge_datetime64tz_with_dst_transitionz5TestMerge.test_merge_datetime64tz_with_dst_transitionŽ  s>  € åÝŒMÐ,°a¸cÀoÐVÑVÔVØ�Hð
ñ 
ô 
ˆð ˆˆG‰Ýåœðð ð ñô ð ð	ð 	ñ
ô 
ˆð ˜&”k”n×0Ò0°Ñ7Ô7Ô:×EÒEÀoÑVÔVˆˆF‰Ý�s˜C W°Ð8Ñ8Ô8ˆÝåœØ&°¸Àðñ ô ð ˜3 ™7¥b¤f X°¡\Ñ1ÝœF˜8 a™<¨1¨#°©'Ñ1ðð ñ
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   c           	      ó,  — t          j        ddd¬¦  «        }t          t          t	          t          |¦  «        ¦  «        ¦  «        |dg¬¦  «        }t          ||g¦  «        }|                     |ddd¬	¦  «        }t          t          j	        t          j
        dt          j        ¬
¦  «                             d¦  «                             dd¦  «        d¦  «        ddg|                     ¦   «         j        ¬¦  «        }t!          j        ||¦  «         d S )Nz
2016-01-01é   ÚM©rŒ  r�  Úpnum©rV   r~   Trƒ   ©rY   rZ   rz   r[   r   éÿÿÿÿr-   Úpnum_xÚpnum_y©r~   rV   )rŽ   Úperiod_ranger   r   r   r!   r   r   r   r    rÑ   rU   ÚrepeatÚreshapeÚ
sort_indexrV   r]   r^   )rD   rV   rE   r9   ra   rb   s         r)   Ú"test_merge_non_unique_period_indexz,TestMerge.test_merge_non_unique_period_index®  só   € å” °b¸sÐCÑCÔCˆÝ•t�E¥# e¡*¤*Ñ-Ô-Ñ.Ô.°eÀfÀXÐNÑNÔNˆÝ�b˜"�XÑÔˆØ—’˜#¨$¸DÀg�ÑNÔNˆÝÝŒG•B”I˜b­¬Ð1Ñ1Ô1×8Ò8¸Ñ;Ô;×CÒCÀBÈÑJÔJÈAÑNÔNØ˜xÐ(Ø—.’.Ñ"Ô"Ô(ð
ñ 
ô 
ˆõ
 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   c                 ó–  — t          t          j        ddd¬¦  «        ddgdœ¦  «        }t          t          j        ddd¬¦  «        g d	¢dœ¦  «        }t          t          j        dd
d¬¦  «        ddt          j        t          j        gt          j        dddgdœ¦  «        }t          ||dd¬¦  «        }t          j        ||¦  «         d S )NrŠ  r   rk  r¦  r-   r½   r�  r3   rü   r4   r  rQ   r¨   rÁ   )r   rŽ   r®  r   r­   r   r]   r^   ro   s        r)   Útest_merge_on_periodszTestMerge.test_merge_on_periods»  sç   € ÝÝ”O J¸ÀÐDÑDÔDÐPQÐSTÈvÐVÐVñ
ô 
ˆõ å” z¸1À3ÐGÑGÔGØ"˜˜ðð ñ
ô 
ˆõ å” z¸1À3ÐGÑGÔGØ˜q¥"¤&­"¬&Ð1ÝœF A q¨!Ð,ðð ñ
ô 
ˆõ �t˜U u°'Ð:Ñ:Ô:ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   c                 ó6  — t          ddgt          j        ddd¬¦  «        dœ¦  «        }t          ddgt          j        ddd¬¦  «        dœ¦  «        }t          j        ddd¬¦  «        }t          j        ddd¬¦  «        }t          g d	¢g t          |¦  «        ¢t          j        ‘t          j        gt          |¦  «        ¢d
œ¦  «        }t          ||dd¬¦  «        }t          j        ||¦  «         |d         j        dk    sJ ‚|d         j        dk    sJ ‚d S )Nr-   r   rŠ  rk  r¦  r½   r3   r�  rü   r  rQ   r¨   rÁ   r«   z	Period[D]r¬   )	r   rŽ   r®  r   re  r   r]   r^   rW   )rD   rS   rp   Úexp_xÚexp_yrb   ra   s          r)   Útest_merge_period_valuesz"TestMerge.test_merge_period_valuesÐ  s=  € ÝØ˜�F¥R¤_°ZÈÐQTÐ%UÑ%UÔ%UÐVÐVñ
ô 
ˆõ Ø˜�F¥R¤_°ZÈÐQTÐ%UÑ%UÔ%UÐVÐVñ
ô 
ˆõ ” 
°A¸CÐ@Ñ@Ô@ˆÝ” 
°A¸CÐ@Ñ@Ô@ˆÝà �y�yØ1�T %™[œ[Ð1­"¬&Ð1ÝœFÐ1¥T¨%¡[¤[Ð1ðð ñ
ô 
ˆõ �t˜U u°'Ð:Ñ:Ô:ˆÝ
Ô˜f hÑ/Ô/Ð/Ø�iÔ Ô&¨+Ò5Ð5Ð5Ð5Ø�iÔ Ô&¨+Ò5Ð5Ð5Ð5Ð5Ð5r+   c                 ó®  — |\  }}|                      ¦   «         }|                      ¦   «         }t          g d¢ddt          j        t          j        t          j        t          j        gddt          j        t          j        t          j        t          j        gt          j        dddddgt          j        dddddgd	œ¦  «        }t	          g d
¢g d¢¬¦  «        |d<   |g d¢         }t          ||ddd¬¦  «        }t          j        ||¦  «         |                     |ddd¬¦  «        }t          j        ||¦  «         t          j        ||¦  «         t          j        ||¦  «         |}|                     ddi¬¦  «        }t          ||ddd¬¦  «        }	t          j        |	|¦  «         |                     |ddd¬¦  «        }	t          j        |	|¦  «         d S )N©r   r-   r   r3   r4   r5   r-   r   r.   r/   r3   r4   r5   )r0   Úcol_conflict_xr2   Úcol_conflict_yr6   )Ú	left_onlyÚbothÚ
right_onlyr¿  r¿  r¿  ©r½  r¿  r¾  ©Ú
categoriesÚ_merge)r0   r»  r2   r¼  r6   rÃ  r0   r¨   T©rf   rz   Ú	indicatorÚcustom_namer¾   )	rí   r   r   r­   r
   r   r]   r^   Úrename)
rD   r:   r8   r9   Údf1_copyÚdf2_copyÚ	df_resultÚtestÚdf_result_custom_nameÚtest_custom_names
             r)   Útest_indicatorzTestMerge.test_indicatoræ  s  € à$‰ˆˆSØ—8’8‘:”:ˆà—8’8‘:”:ˆåà*Ð*Ð*Ø#$ a­¬µ´½¼ÅÄÐ"HØ  #¥r¤v­r¬vµr´v½r¼vÐFÝ#%¤6¨1¨a°°A°qÐ"9Ý œf a¨¨A¨q°!Ð4ðð ñ
ô 
ˆ	õ *ðð ð ð ;Ð:Ð:ð

ñ 

ô 

ˆ	�(Ñð ðð ð ô	
ˆ	õ �S˜# &¨gÀÐFÑFÔFˆÝ
Ô˜d IÑ.Ô.Ð.Ø�yŠy˜ ¨WÀˆyÑEÔEˆÝ
Ô˜d IÑ.Ô.Ð.õ 	Ô˜c 8Ñ,Ô,Ð,Ý
Ô˜c 8Ñ,Ô,Ð,ð !*ÐØ 5× <Ò <Ø˜}Ð-ð !=ñ !
ô !
Ðõ !Ø�˜ W¸ð
ñ 
ô 
Ðõ 	ÔÐ.Ð0EÑFÔFÐFØŸ9š9Ø�F °=ð %ñ 
ô 
Ðõ 	ÔÐ.Ð0EÑFÔFÐFÐFÐFr+   c                 ó<  — |\  }}d}t          j        t          |¬¦  «        5  t          ||ddd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  |                     |ddd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz<indicator option can only accept boolean or string argumentsr‰   r0   r¨   r5   rÄ  r•   )rD   r:   r8   r9   r‘   s        r)   Ú#test_merge_indicator_arg_validationz-TestMerge.test_merge_indicator_arg_validation%  sK  € à$‰ˆˆSàLˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	Að 	AÝ�#�s˜v¨7¸aÐ@Ñ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	AåŒ]�:¨SÐ1Ñ1Ô1ð 	@ð 	@Ø�IŠI�c˜f¨'¸QˆIÑ?Ô?Ð?ð	@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@ð 	@ð 	@s#   £AÁAÁAÁ*BÂBÂBc                 ó’  — |\  }}t          ||ddd¬¦  «        }|j        dk                         ¦   «         sJ ‚|                      |ddd¬¦  «        }|j        dk                         ¦   «         sJ ‚t          ||ddd¬¦  «        }|j        dk                         ¦   «         sJ ‚|                      |ddd¬¦  «        }|j        dk                         ¦   «         sJ ‚t          ||ddd¬¦  «        }|j        d	k                         ¦   «         sJ ‚|                      |ddd¬¦  «        }|j        d	k                         ¦   «         sJ ‚d S )
Nr0   rS   TrÄ  r¿  rp   r½  rƒ   r¾  )r   rÃ  r´   )rD   r:   r8   r9   Útest2Útest3Útest4s          r)   Ú%test_merge_indicator_result_integrityz/TestMerge.test_merge_indicator_result_integrity/  s^  € à$‰ˆˆSå�c˜3 6¨vÀÐFÑFÔFˆØ” Ò,×1Ò1Ñ3Ô3Ð3Ð3Ð3Ø—	’	˜# &¨fÀ�	ÑEÔEˆØ” Ò,×1Ò1Ñ3Ô3Ð3Ð3Ð3å�c˜3 6¨wÀ$ÐGÑGÔGˆØ” Ò+×0Ò0Ñ2Ô2Ð2Ð2Ð2Ø—	’	˜# &¨gÀ�	ÑFÔFˆØ” Ò+×0Ò0Ñ2Ô2Ð2Ð2Ð2å�c˜3 6¨wÀ$ÐGÑGÔGˆØ” Ò&×+Ò+Ñ-Ô-Ð-Ð-Ð-Ø—	’	˜# &¨gÀ�	ÑFÔFˆØ” Ò&×+Ò+Ñ-Ô-Ð-Ð-Ð-Ð-Ð-r+   c           	      óÒ  — |\  }}dD ]²}t          dddg|ddgi¦  «        }d|› d�}t          j        t          |¬¦  «        5  t	          ||ddd	¬
¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  |                     |ddd	¬
¦  «         d d d ¦  «         n# 1 swxY w Y   Œ³t          ddgddgdœ¦  «        }d}t          j        t          |¬¦  «        5  t	          ||ddd¬
¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  |                     |ddd¬
¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)Ú_right_indicatorÚ_left_indicatorrÃ  r0   r-   r   zECannot use `indicator=True` option when data contains a column named z;|Cannot use name of an existing column for indicator columnr‰   r¨   TrÄ  )r0   Úcustom_column_namez:Cannot use name of an existing column for indicator columnrÙ  ©r   rŒ   r�   r�   r   )rD   r:   r8   r8  rè   Údf_badcolumnr‘   s          r)   Útest_merge_indicator_invalidz&TestMerge.test_merge_indicator_invalidB  sÚ  € à"‰ˆˆQàBð 	Pð 	PˆAÝ$ f¨q°!¨f°a¸!¸Q¸Ð%@ÑAÔAˆLðMØ !ðMð Mð Mð õ
 ”�z°Ð5Ñ5Ô5ð Qð QÝ�c˜<¨F¸È4ÐPÑPÔPÐPðQð Qð Qñ Qô Qð Qð Qð Qð Qð Qð Qøøøð Qð Qð Qð Qå”�z°Ð5Ñ5Ô5ð Pð PØ—	’	˜,¨6°wÈ$�	ÑOÔOÐOðPð Pð Pñ Pô Pð Pð Pð Pð Pð Pð Pøøøð Pð Pð Pð Pøõ !¨1¨a¨&ÈÈAÈÐ!OÐ!OÑPÔPˆàJˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	ÝØØØØØ.ðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ Œ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�IŠIØ ¨WÐ@Tð ñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	sH   ÁA#Á#A'	Á*A'	Â	B/Â/B3	Â6B3	Ã.DÄDÄDÄ5EÅE Å#E c                 óp  — t          ddgddgdœ¦  «        }t          g d¢g d¢dœ¦  «        }t          g d¢g d	¢dœ¦  «        }t          g d
¢g d¢¬¦  «        |d<   t          ||ddgdd¬¦  «        }t          j        ||¦  «         |                     |ddgdd¬¦  «        }t          j        ||¦  «         d S )Nr   r-   r.   r/   ©r0   Úcol2)r-   r-   r3   )r/   rÕ   rÖ   )r   r-   r-   r3   ©r.   r/   rÕ   rÖ   )r½  r¾  r¿  r¿  rÀ  rÁ  rÃ  r0   rß  r¨   TrÄ  ©r   r
   r   r]   r^   )rD   Údf3Údf4Úhand_coded_resultÚtest5s        r)   Ú%test_merge_indicator_multiple_columnsz/TestMerge.test_merge_indicator_multiple_columnsd  sû   € å ! Q °#°s°Ð<Ð<Ñ=Ô=ˆå   °O°O°OÐDÐDÑEÔEˆå%Ø!�\�\Ð+?Ð+?Ð+?Ð@Ð@ñ
ô 
Ðõ '2Ø=Ð=Ð=Ø:Ð:Ð:ð'
ñ '
ô '
Ð˜(Ñ#õ
 �c˜3 F¨FÐ#3¸ÈDÐQÑQÔQˆÝ
Ô˜eÐ%6Ñ7Ô7Ð7Ø—	’	˜# 6¨6Ð"2¸È4�	ÑPÔPˆÝ
Ô˜eÐ%6Ñ7Ô7Ð7Ð7Ð7r+   c                 ó  — t          g d¢g d¢dœt          d¦  «        ¬¦  «        }t          g d¢g d¢dœt          d	¦  «        ¬¦  «        }|                     ¦   «         }|                     ¦   «         }t          ||d
d
d¬¦  «        }t	          j        ||¦  «         t	          j        ||¦  «         t          g d¢g d¢g d¢g d¢dœt          d¦  «        g d¢¬¦  «        }t          ||d
d
d¬¦  «        }t	          j        ||¦  «         t          g d¢g d¢g d¢dœt          d¦  «        ¬¦  «        }t          ||dd¬¦  «        }t	          j        ||¦  «         t	          j        ||¦  «         t	          j        ||¦  «         t          ||dd¬¦  «        }t	          j        ||¦  «         t          g d¢g d¢g d¢dœg d¢t          d¦  «        ¬¦  «        }|                     d¦  «        }	t          |	|d
dd¬¦  «        }t	          j        ||¦  «         t          |t          dgdgdœdg¬¦  «        g¦  «        }
t          ||
d
d
d¬¦  «         d}t          j	        t          |¬¦  «        5  t          ||
d
d
d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j	        t          |¬¦  «        5  t          ||
dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          |t          dgdgdœdg¬¦  «        gd
¬¦  «        }t          ||d
d
d¬¦  «         d }t          j	        t          |¬¦  «        5  t          ||d
d
d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j	        t          |¬¦  «        5  t          ||dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          ||
dd!¬¦  «         d"}t          j	        t          |¬¦  «        5  t          ||
d
d
d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d#}t          j	        t          |¬¦  «        5  t          ||
dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   d$}t          j	        t          |¬¦  «        5  t          ||dd%¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          g d&¢g d'¢g d¢dœt          d¦  «        ¬¦  «        }t          g d(¢g d)¢g d*¢d+œt          d¦  «        ¬¦  «        }t          g d(¢g d)¢g d,¢g d*¢dœt          d¦  «        ¬¦  «        }d-}t          j	        t          |¬¦  «        5  t          ||dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          ||dd.gd¬¦  «        }t	          j        ||¦  «         d S )/Nrç   )ÚcatÚdogÚweaselÚhorser±   r4   rx   ©r.   r/   rL   rM   rN   )ÚmeowÚbarkúum... weasel noise?ÚnayÚchirp©r.   rL   r5   Tú1:1)rY   rZ   Úvalidate)rí  rî  rï  rð  )Úa_xr/   Úa_yrL   r¨  Ú
one_to_onerô   r.   )rf   rô  ©r/   r.   rL   r­  )rY   r|   rô  rN   ÚmooÚone_to_manyzBMerge keys are not unique in right dataset; not a one-to-one merger‰   Úcowr3   )r{   Úmany_to_onezAMerge keys are not unique in left dataset; not a one-to-one mergeÚmany_to_manyzCMerge keys are not unique in right dataset; not a many-to-one mergezBMerge keys are not unique in left dataset; not a one-to-many mergez™"jibberish" is not a valid argument. Valid arguments are:
- "1:1"
- "1:m"
- "m:1"
- "m:m"
- "one_to_one"
- "one_to_many"
- "many_to_one"
- "many_to_many"Ú	jibberish)r.   r.   r/   r/   )r   r-   r   r-   ©r.   r.   r/   )r   r-   r   )rí  rî  rï  )r.   r/   rM   )rè  ré  rê  zQMerge keys are not unique in either left or right dataset; not a one-to-one merger/   )r   r   rí   r   r]   r^   rs   r   rŒ   r�   r   r�   )rD   rS   rp   Ú	left_copyÚ
right_copyra   rb   Ú
expected_2Ú
expected_3Úleft_index_resetÚright_w_dupsr‘   Úleft_w_dupsÚexpected_multis                 r)   Útest_validationzTestMerge.test_validationw  s.	  € ÝØ&Ð&Ð&Ð-NÐ-NÐ-NÐOÐOÝ˜‘(”(ð
ñ 
ô 
ˆõ
 à.Ð.Ð.ØLÐLÐLðð õ ˜‘(”(ð
ñ 
ô 
ˆð —I’I‘K”Kˆ	Ø—Z’Z‘\”\ˆ
å�t˜U¨tÀÐPUÐVÑVÔVˆÝ
Ô˜d IÑ.Ô.Ð.Ý
Ô˜e ZÑ0Ô0Ð0õ à+Ð+Ð+Ø6Ð6Ð6Ø+Ð+Ð+ØCÐCÐCð	ð õ ˜‘(”(Ø,Ð,Ð,ð	
ñ 	
ô 	
ˆõ Ø�% D°dÀ\ð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/åà)Ð)Ð)Ø6Ð6Ð6ØCÐCÐCðð õ
 ˜‘(”(ð
ñ 
ô 
ˆ
õ �t˜U s°UÐ;Ñ;Ô;ˆÝ
Ô˜d IÑ.Ô.Ð.Ý
Ô˜e ZÑ0Ô0Ð0Ý
Ô˜f jÑ1Ô1Ð1å�t˜U s°\ÐBÑBÔBˆÝ
Ô˜f jÑ1Ô1Ð1õ à6Ð6Ð6Ø)Ð)Ð)ØCÐCÐCðð ð
 $�O�OÝ˜‘(”(ð
ñ 
ô 
ˆ
ð  Ÿ>š>¨#Ñ.Ô.ÐÝØØØØØ!ð
ñ 
ô 
ˆõ 	Ô˜f jÑ1Ô1Ð1õ ˜u¥i°s°eÀ5À'Ð0JÐ0JÐSTÐRUÐ&VÑ&VÔ&VÐWÑXÔXˆÝØØØØØ"ð	
ñ 	
ô 	
ð 	
ð SˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	ÝØØØØ Ø%ðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ Œ]�:¨SÐ1Ñ1Ô1ð 	Eð 	EÝ�$˜¨°|ÐDÑDÔDÐDð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eõ Ø•9 C 5°¨wÐ7Ð7À¸sÐCÑCÔCÐDÈ4ð
ñ 
ô 
ˆõ 	ØØØØØ"ð	
ñ 	
ô 	
ð 	
ð RˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	ÝØØØØ Ø%ðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ Œ]�:¨SÐ1Ñ1Ô1ð 	Eð 	EÝ�+˜u¨°|ÐDÑDÔDÐDð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eõ 	ˆk˜<¨C¸.ÐIÑIÔIÐIàSˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	ÝØØØØ Ø&ðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð SˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	Mð 	MÝ�+˜|°¸mÐLÑLÔLÐLð	Mð 	Mð 	Mñ 	Mô 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Møøøð 	Mð 	Mð 	Mð 	Mð
	ð 	õ Œ]�:¨SÐ1Ñ1Ô1ð 	=ð 	=Ý�$˜ #°Ð<Ñ<Ô<Ð<ð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=õ à)Ð)Ð)Ø!�\�\Ø6Ð6Ð6ðð õ
 ˜‘(”(ð
ñ 
ô 
ˆõ à$�_�_Ø�Y�YØ<Ð<Ð<ðð õ
 ˜‘(”(ð
ñ 
ô 
ˆõ #à$�_�_Ø�Y�YØ-Ð-Ð-Ø<Ð<Ð<ð	ð õ ˜‘(”(ð
ñ 
ô 
ˆð%ð 	õ Œ]�:¨SÐ1Ñ1Ô1ð 	7ð 	7Ý�$˜ #°Ð6Ñ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7õ �t˜U¨¨S z¸EÐBÑBÔBˆÝ
Ô˜f nÑ5Ô5Ð5Ð5Ð5s�   É*JÊJÊJÊ1KËKËKÌ5MÍMÍMÍ<NÎN Î#N ÏO8Ï8O<Ï?O<Ð Q Ñ QÑQÑ(RÒRÒRÔ+UÕUÕUc                 ó¶  — t          dg d¢i¦  «        }t          dg d¢i¦  «        }t          j        t          d¬¦  «        5  t	          ||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t	          ||d	¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d
¬¦  «        5  t	          ||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d
¬¦  «        5  t	          ||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          dg d¢i¦  «        }t          j        t          d¬¦  «        5  t	          ||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t	          ||d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrQ   )r-   r-   r   )r-   r   r   z#Duplicates in left:
  key
   1 ...
r‰   ró  )rô  z"Duplicates in left:
  key
   1 ...z1:mz#Duplicates in right:
  key
   2 ...zm:1rü   z#Duplicates in right:
  key
   1 ...©r   rŒ   r�   r   r   )rD   rS   rp   s      r)   Ú!test_merge_validate_error_messagez+TestMerge.test_merge_validate_error_message<  sU  € å˜%   Ð+Ñ,Ô,ˆÝ˜5 ) ) )Ð,Ñ-Ô-ˆåŒ]�:Ð-UÐVÑVÔVð 	/ð 	/Ý�$˜¨Ð.Ñ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/åŒ]�:Ð-SÐTÑTÔTð 	/ð 	/Ý�$˜¨Ð.Ñ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/åŒ]�:Ð-TÐUÑUÔUð 	/ð 	/Ý�$˜¨Ð.Ñ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/åŒ]�:Ð-TÐUÑUÔUð 	/ð 	/Ý�$˜¨Ð.Ñ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/õ ˜5 ) ) )Ð,Ñ-Ô-ˆÝŒ]�:Ð-SÐTÑTÔTð 	/ð 	/Ý�$˜¨Ð.Ñ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/åŒ]�:Ð-TÐUÑUÔUð 	/ð 	/Ý�%˜¨Ð.Ñ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/sl   ÁA!Á!A%Á(A%ÂB&Â&B*Â-B*ÃC+Ã+C/Ã2C/ÄD0Ä0D4Ä7D4Å)FÆFÆFÆ.GÇGÇGc                 ó¬   — t          g g g dœ¦  «        }t          j        d¬¦  «        5  t          ||d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrô   Úraise)Údivider±   re   )r   r   Úerrstater   )rD   r.   s     r)   Ú)test_merge_two_empty_df_no_division_errorz3TestMerge.test_merge_two_empty_df_no_division_errorP  s¥   € å˜B R¨bÐ1Ð1Ñ2Ô2ˆÝŒ[ Ð(Ñ(Ô(ð 	'ð 	'Ý�!�Q˜:Ð&Ñ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð 	'ð 	's   ©A	Á	AÁAr¨   zindex,expected_index©r-   r   r4   )r-   r   r4   NNN)ú
2001-01-01ú
2002-02-02ú
2003-03-03zM8[ns]r  r  r  c                 ón   — g | ]2}t          g d ¢|¬¦  «        t          g d¢t          j        ¬¦  «        f‘Œ3S )rü   r[   )r-   r   r3   NNN)r   r   Úfloat64©Ú.0Údtyps     r)   ú
<listcomp>zTestMerge.<listcomp>g  sY   € ð ð ð ð
 õ ˜)˜)˜)¨4Ð0Ñ0Ô0ÝÐ5Ð5Ð5½R¼ZÐHÑHÔHððð ð r+   )©r-   r   ©r   r3   ©r3   r4   r  r  r  )r  ú
2001-01-02ú
2001-01-03rk  )r�  r  r  )Ú1DÚ2DÚ3Dr   r!  r"  c           
      óÈ  — |j         dk    r |j         dk    r|                     d¦  «        }t          g d¢g d¢dœ|¬¦  «        }t          dg d¢i¦  «        }|                     |dd	|¬
¦  «        }t          g d¢g d¢g d¢t          j        ddgt          j        ddgt          j        ddggg d¢¬¦  «        }|                     |d	¬¦  «         t          j        ||¦  «         d S )NÚfloat32r  r	  ©r.   rQ   rx   r/   rº  rQ   Tr„   )r   r   r   ©r-   r-   r-   ©r   r   r   r3   r4   r5   ©r.   rQ   r/   r¾   )Úinplace)	rW   rm   r   r   r   r­   rs   r]   r^   )rD   rz   rV   Úexpected_indexr8   r9   ra   rb   s           r)   Ú$test_merge_on_index_with_more_valuesz.TestMerge.test_merge_on_index_with_more_valuesV  s  € ð^ Œ;˜)Ò#Ð#¨Ô(<À	Ò(IÐ(Ià+×2Ò2°9Ñ=Ô=ˆNÝ˜i˜i˜i°	°	°	Ð:Ð:À%ÐHÑHÔHˆÝ˜Ð0Ð0Ð0Ð1Ñ2Ô2ˆØ—’˜3¨¸4ÀS�ÑIÔIˆÝà�	�	Ø�	�	Ø�	�	Ý”˜˜A�Ý”˜˜A�Ý”˜˜A�ðð &Ð%Ð%ð

ñ 

ô 

ˆð 	×Ò˜>°4ÐÑ8Ô8Ð8Ý
Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   c                 ó  — t          g d¢g d¢dœ¦  «        }t          dg d¢i¦  «        }t          g d¢g d¢g d¢dœg d¢d	d
dt          j        g¬¦  «        }|                     |ddd¬¦  «        }t	          j        ||¦  «         d S )Nrü   )r   r-   r-   r%  r/   ©r-   r   r3   N)r   r-   r-   r   )r-   r   r   r3   r(  r   r-   r   r­  rQ   Trp   r„   ©r   r   r­   r   r]   r^   ro   s        r)   Útest_merge_right_index_rightz&TestMerge.test_merge_right_index_right™  s¯   € õ ˜y˜y˜y°°°Ð;Ð;Ñ<Ô<ˆÝ˜3 	 	 	Ð*Ñ+Ô+ˆåØ!�/�/¨,¨,¨,¸\¸\¸\ÐJÐJØ%Ð%Ð%Ø�a˜�BœFÐ#ð
ñ 
ô 
ˆð
 —’˜E¨5¸dÈ�ÑPÔPˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   c                 ó"  — t          ddgddgdœ¦  «        }t          ddgddgdœ¦  «        }|                     |dd	g|¬
¦  «        }|dk    rt          ddgddgdœ¦  «        }nt          ddgddgdœ¦  «        }t          j        ||¦  «         d S )Nré  Úpigé(   rV  )ÚanimalÚ	max_speedÚquetzaléP   r3  r4  rÁ   rp   r\   )rD   rz   Úleft_dfÚright_dfra   rb   s         r)   Útest_merge_preserves_row_orderz(TestMerge.test_merge_preserves_row_order¨  s»   € õ ¨¨u ~ÀRÈÀHÐMÐMÑNÔNˆÝ¨°EÐ(:È"ÈbÈÐRÐRÑSÔSˆØ—’˜x¨X°{Ð,CÈ�ÑMÔMˆØ�'Š>ˆ>Ý ¨Y¸Ð,>ÈbÐRTÈXÐ!VÐ!VÑWÔWˆHˆHå ¨U°E¨NÈ"ÈbÈÐ!RÐ!RÑSÔSˆHÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   c           	      óª  — t          g d¢t          g d¢t          d¦  «        ¬¦  «        dœ¦  «        }t          dg d¢it          g d¢¦  «        ¬¦  «        }|                     |d	d
d¬¦  «        }t          g d¢t          g d¢¦  «        g d¢dœdddt
          j        g¬¦  «        }|                     g d¢¬¦  «        }t          j	        ||¦  «         d S )Nrü   rÿ  ÚabcrÁ  r%  r/   rô   rx   rQ   Trp   r„   r-  )r.   r.   r/   rL   )r-   r-   r   r3   r(  r   r-   r   r¾   )
r   r
   r   r   r   r   r­   Úreindexr]   r^   r†   s        r)   Ú8test_merge_take_missing_values_from_index_of_other_dtypezBTestMerge.test_merge_take_missing_values_from_index_of_other_dtype´  s  € åà�Y�YÝ" ? ? ?½tÀE¹{¼{ÐKÑKÔKðð ñ
ô 
ˆõ ˜3 	 	 	Ð*Õ2BÀ?À?À?Ñ2SÔ2SÐTÑTÔTˆØ—’˜E¨5¸dÈ�ÑPÔPˆÝà$�_�_Ý"Ð#7Ð#7Ð#7Ñ8Ô8Ø!�\�\ðð ð
 �a˜�BœFÐ#ð
ñ 
ô 
ˆð ×#Ò#Ð,=Ð,=Ð,=Ð#Ñ>Ô>ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   c                 ó\  — t          t          j        d¦  «                             d¦  «        dz   g d¢¬¦  «        }t          t          j        d¦  «                             d¦  «        dz   g d¢¬¦  «        }|j        j        D ]}d|j        j        _        Œ| 	                    |¦  «         d S )	NrÆ   ©r4   r5   r-   rì  r¾   ©r5   r4   rà  F)
r   r   rÑ   r°  Ú_mgrÚblocksr/  ÚflagsÚ	writeabler   )rD   r@   rA   Úblocks       r)   Útest_merge_readonlyzTestMerge.test_merge_readonlyÉ  s¸   € åÝŒI�b‰MŒM×!Ò! &Ñ)Ô)¨AÑ-Ð7PÐ7PÐ7Pð
ñ 
ô 
ˆõ ÝŒI�b‰MŒM×!Ò! &Ñ)Ô)¨AÑ-Ð7KÐ7KÐ7Kð
ñ 
ô 
ˆð
 ”ZÔ&ð 	1ð 	1ˆEØ+0ˆEŒLÔÔ(Ð(à�Š�EÑÔÐÐÐr+   c                 ó°  — t          t          j        d¦  «                             d¦  «        dz   g d¢¬¦  «        }t          t          j        d¦  «                             d¦  «        dz   g d¢¬¦  «        }d}t	          j        t          t          j        |¦  «        ¬	¦  «        5  | 	                    |d
¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrÆ   r?  r-   rì  r¾   r@  rà  z_'full' is not a valid Merge type: left, right, inner, outer, left_anti, right_anti, cross, asofr‰   ÚfullrÇ   )
r   r   rÑ   r°  rŒ   r�   r�   ÚreÚescaper   )rD   r@   rA   r‘   s       r)   Útest_merge_how_validationz#TestMerge.test_merge_how_validationØ  s  € åÝŒI�b‰MŒM×!Ò! &Ñ)Ô)¨AÑ-Ð7PÐ7PÐ7Pð
ñ 
ô 
ˆõ ÝŒI�b‰MŒM×!Ò! &Ñ)Ô)¨AÑ-Ð7KÐ7KÐ7Kð
ñ 
ô 
ˆð1ð 	õ Œ]�:­R¬Y°s©^¬^Ð<Ñ<Ô<ð 	+ð 	+Ø�KŠK˜ 6ˆKÑ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+s   Â&CÃCÃCN)RrN  rO  rP  rŒ   ÚfixturerE   r9   rS   rc   rj   rq   rt   r�   r‡   r’   r–   rž   r¯   rµ   rº   rÄ   rÍ   rÓ   rÙ   rå   ré   rë   rï   ÚmarkÚparametrizerú   r  r  r   rŽ   Ú	Timestampr  ÚNAr   r­   re  r   r.  r1  rB  rE  ÚfilterwarningsrT  r[  ri  r�  rƒ  rˆ  r�  r‘  r›  r¢  r²  r´  r¸  rÎ  rÐ  rÕ  rÜ  ræ  r  r  r  r   r   r]   ÚALL_REAL_NUMPY_DTYPESr   Úfrom_tuplesr   r   r+  r/  r9  r=  rF  rK  rK  r+   r)   r<   r<   A   s˜	  € € € € € Ø„^ðð ñ „^ðð „^ð
ð 
ñ „^ð
ð „^ð
ð 
ñ „^ð
ð0ð 0ð 0ð+ð +ð +ð

0ð 
0ð 
0ð0ð 0ð 0ðHð Hð Hð8Gð Gð Gð*Hð Hð Hð.ð ð ð8 ð  ð  ð7ð 7ð 7ð(
+ð 
+ð 
+ðMð Mð Mð0ð 0ð 0ð&2ð 2ð 2ð.Kð Kð Kð@ð ð ðð ð ð*ð ð ð,ð ,ð ,ð,ð ,ð ,ð „[×ÒØà°Ð5Ð5Ø¨SÐ1Ð1Ø¨DÐ1Ð1Ø¨Ð-Ð-ð		
ñô ð.ð .ñô ð.ð-ð -ð -ð^('ð ('ð ('ðT „[×ÒØàˆF�A�3˜gÐ&Ñ&Ô&ØˆF�A�3˜gÐ&Ñ&Ô&ØˆF�D�6‰NŒNØˆF�E�7‰OŒOØˆF�D�6‰NŒNØˆF�L�B”L Ñ.Ô.Ð/Ñ0Ô0ØˆF�L�B”L °,Ð?Ñ?Ô?Ð@ÑAÔAð	
ñô ð „[×ÒØàˆF�A�3˜gÐ&Ñ&Ô&ØˆF�A�3˜gÐ&Ñ&Ô&ØˆF�D�6‰NŒNØˆF�E�7‰OŒOØˆF�D�6‰NŒNØˆF�L�B”L Ñ.Ô.Ð/Ñ0Ô0ØˆF�L�B”L °,Ð?Ñ?Ô?Ð@ÑAÔAð	
ñô ð0ð 0ñô ñô ð00ð$ „[×ÒØàˆF�A�3˜gÐ&Ñ&Ô&ØˆF�A�3˜gÐ&Ñ&Ô&ØˆF�D�6‰NŒNØˆF�E�7‰OŒOØˆF�D�6‰NŒNØˆF�L�B”L Ñ.Ô.Ð/Ñ0Ô0ØˆF�L�B”L °,Ð?Ñ?Ô?Ð@ÑAÔAð	
ñô ð „[×ÒØ àˆF�B”E�7 'Ð*Ñ*Ô*ØˆF�B”F�8 7Ð+Ñ+Ô+ØˆF�B”F�8 8Ð,Ñ,Ô,ØˆF�B”F�8ÑÔð		
ñô ð0ð 0ñô ñô ð*0ð*@ð @ð @ð@ „[×ÒØ˜e _ _ _Ð5¸¸o¸o¸oÐ7NÐOñô ð „[×Ò˜U V¨WÐ$5Ñ6Ô6ð0ð 0ñ 7Ô6ñô ð0ðCð Cð Cð*0ð 0ð 0ð „[×ÒØWñô ð	1ð 	1ñô ð	1ð0ð 0ð 0ð&0ð 0ð 0ð  „[×Ò˜VÐ%KÐ%KÐ%KÑLÔLð+ð +ñ MÔLð+ð: „[×Ò˜VÐ%KÐ%KÐ%KÑLÔLð+ð +ñ MÔLð+ð2ð ð ð00ð 0ð 0ð2%Gð %Gð %GðN0ð 0ð 0ð20ð 0ð 0ð@0ð 0ð 0ð0ð 0ð 0ð*6ð 6ð 6ð,=Gð =Gð =Gð~@ð @ð @ð.ð .ð .ð& ð  ð  ðD8ð 8ð 8ð&C6ð C6ð C6ðJ/ð /ð /ð('ð 'ð 'ð „[×Ò˜U W¨gÐ$6Ñ7Ô7Ø„[×ÒØð !Ð    Ñ+Ô+Ø Ð Ð!<Ð!<Ð!<Ñ=Ô=ðð
 �Ø>Ð>Ð>Àhðñ ô ð �Ø! <°¸r¼vÀrÄvÈrÌvÐVØ"ðñ ô ð	ð&	
ðð ð
 Ô4ðñ ô ð&	
ð, *�Ô)Ð*BÐ*BÐ*BÑCÔCØ)�Ô)Ø˜V V¨R¬V°R´V¸R¼VÐDñô ðð+&	
ð8 �ÐFÐFÐFÈSÐQÑQÔQØ�Ø! <°¸r¼vÀrÄvÈrÌvÐVØðñ ô ðð7&	
ðF �Ð1Ð1Ð1Ñ2Ô2Ø�  d¨D°"´&¸"¼&À"Ä&ÐIÑJÔJððE&	
ñ)ô )ðT0ð 0ñU)ô )ñ 8Ô7ðV0ð00ð 0ð 0ð „[×Ò˜U V¨WÐ$5Ñ6Ô6ð	0ð 	0ñ 7Ô6ð	0ð0ð 0ð 0ð*ð ð ð+ð +ð +ð +ð +r+   r<   c                 ó  — dD ]‚}dD ]}}|                       |||¬¦  «        }t          |                      ¦   «         |                     ¦   «         ||¬¦  «        }|                     d¦  «        }t	          j        ||d¬¦  «         Œ~Œƒd S )N)rƒ   rS   r¨   )TF©rz   r{   rV   F)Úcheck_names)r…   r   r@  rs   r]   r^   )rÕ   rÖ   rz   r{   ra   rb   s         r)   rá   rá   è  s£   € Ø)ð Gð GˆØ!ð 	Gð 	GˆDØ—V’V˜A 3¨T�VÑ2Ô2ˆFå˜QŸ]š]™_œ_¨a¯mªm©o¬oÀ3ÈTÐRÑRÔRˆHØ×)Ò)¨'Ñ2Ô2ˆHõ Ô! &¨(ÀÐFÑFÔFÐFÐFð	GðGð Gr+   c                   óä  — e Zd Zej                             dedg¦  «        d„ ¦   «         Zej                             dej	        ej
        ej        ej        g¦  «        d„ ¦   «         Zej                             dg d¢g d¢g d¢g d¢d	œfg d¢d
dgddgd
dgd	œfddgg d¢ddgd
dgd	œfg¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zej                             dg d¢ eg d¢¦  «                             d¦  «        fg d¢ eg d¢¦  «                             d¦  «        fddg eddge¬¦  «        fddg eddge¬¦  «        fg¦  «        d„ ¦   «         Zej                             d eddgd¬¦  «        g d¢f eddgd ¬¦  «        g d¢fg d¢g d!¢fg d¢g d!¢f ej        d"dd#¬$¦  «        d%d&gf ej        d"dd#¬$¦  «        ddgf ej        d"dd#¬$¦  «        d'd
gf ej        d(d¬)¦  «         ej        d(dd*¬+¦  «        fg¦  «        d,„ ¦   «         Zej                             d-ddgd.fg d/fdgd0fdgd1fg¦  «        d2„ ¦   «         Zej                             d-d3d4gd.fg d/fd4gd0fd3gd1fg¦  «        d5„ ¦   «         Zej                             d6d/g d7¢g d8¢gfd.g d8¢g d7¢gfd1g d7¢g d8¢gfd0g d8¢g d7¢gfg¦  «        d9„ ¦   «         Zd:„ Zej                             d;g d<¢¦  «        d=„ ¦   «         Zd>„ Zd?„ Z d@„ Z!dAS )BÚTestMergeDtypesrW   Úcategoryc                 óž  — t          ddgt          ddg¦  «                             d¦  «        ddgddgt          ddgd¬	¦  «        t          ddgd
¬	¦  «        dœ¦  «        }t          ddg|¬	¦  «        }t          d|i¦  «        }t          ||d¬¦  «        }t	          |j        j        ¦  «        st          |j        j        ¦  «        sJ ‚d S d S )Nr    r¡   rY  r-   r   ç      ð?ç       @Úuint64r[   Úint32)r^  r_  ÚCrk  ÚEÚFr^  re   )r   r   rm   r   r   r^  rW   r   )rD   rW   rS   Ú
right_valsrp   ra   s         r)   Útest_differentzTestMergeDtypes.test_differentõ  sê   € åà˜U�^Ý˜U E˜NÑ+Ô+×2Ò2°:Ñ>Ô>Ø˜�VØ˜3�ZÝ˜Q ˜F¨(Ð3Ñ3Ô3Ý˜Q ˜F¨'Ð2Ñ2Ô2ðð ñ	
ô 	
ˆõ ˜U E˜N°%Ð8Ñ8Ô8ˆ
Ý˜3 
Ð+Ñ,Ô,ˆõ
 �t˜U sÐ+Ñ+Ô+ˆÝ˜vœxœ~Ñ.Ô.ÐQµ/À&Ä(Ä.Ñ2QÔ2QÐQÐQÐQÐQÐQÐQÐQr+   Úd2c           	      ó´  — t          j        |¦  «        }t          j        |¦  «        }t          t          j        g d¢dz  |¬¦  «        ddgdz  t          j        t          j        d¦  «        t           j        ¬¦  «        dœ¦  «        }t          j        d	d
g¦  «        }t          dt          j        ddg|¬¦  «        i|¬¦  «        }|                     |ddg¬¦  «        }| 	                    ¦   «         }	|j
        dk    rt          j        d¦  «        }t          j        t           j        |¬¦  «        |	d<   d|	j        |	j        dk    |	j        dk    z  df<   d|	j        |	j        dk    |	j        dk    z  df<   t          j        ||	¦  «         |                     |ddgd¬¦  «        }|	                     ddgdd¬¦  «         t          j        ||	¦  «         d S )Nr	  r   r[   r    r¡   r$  é   )Úk1Úk2Úv)r   r¡   )r-   r    rv   r5   rO   rx   rg  rh  re   rè   r  r   r-   Tr)  Ú	mergesort)Úkindr)  )r   rW   r   rÃ   rÑ   rU   r   rS  r…   rí   rk  r­   r}   rg  rh  r]   r^   Úsort_values)
rD   Úany_int_numpy_dtyperd  Údtype1Údtype2rS   rV   rp   ra   rb   s
             r)   Útest_join_multi_dtypesz&TestMergeDtypes.test_join_multi_dtypes
  sÅ  € å”Ð-Ñ.Ô.ˆÝ”˜"‘”ˆåå”h˜y˜y˜y¨1™}°FÐ;Ñ;Ô;Ø˜e�n rÑ)Ý”X�bœi¨™mœmµ2´8Ð<Ñ<Ô<ðð ñ
ô 
ˆõ Ô&¨
°JÐ'?Ñ@Ô@ˆÝ˜4¥¤¨1¨a¨&¸Ð!?Ñ!?Ô!?Ð@ÈÐNÑNÔNˆà—’˜5 d¨D \�Ñ2Ô2ˆà—9’9‘;”;ˆàŒ;˜#ÒÐÝ”X˜iÑ(Ô(ˆFÝœ¥"¤&°Ð7Ñ7Ô7ˆ�‰ØJKˆŒ�h”k QÒ&¨8¬;¸%Ò+?Ñ@À$ÐFÑGØJKˆŒ�h”k QÒ&¨8¬;¸%Ò+?Ñ@À$ÐFÑGå
Ô˜f hÑ/Ô/Ð/à—’˜5 d¨D \¸�Ñ=Ô=ˆØ×Ò˜d D˜\°ÀTÐÑJÔJÐJÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   zint_vals, float_vals, exp_valsrü   ©r[  r\  ç      @©ÚXÚYr[  rr  r-   r3   r   r\  c                 ó,  — t          d|i¦  «        }t          d|i¦  «        }t          |¦  «        }|                     |dd¬¦  «        }t          j        ||¦  «         |                     |dd¬¦  «        }t          j        ||ddg         ¦  «         d S )Nrt  ru  r‹   r\   )rD   Úint_valsÚ
float_valsÚexp_valsr^  r_  rb   ra   s           r)   Útest_merge_on_ints_floatsz)TestMergeDtypes.test_merge_on_ints_floats*  s—   € õ �s˜H�oÑ&Ô&ˆÝ�s˜JÐ'Ñ(Ô(ˆÝ˜XÑ&Ô&ˆà—’˜ C°#�Ñ6Ô6ˆÝ
Ô˜f hÑ/Ô/Ð/à—’˜ C°#�Ñ6Ô6ˆÝ
Ô˜f h°°S¨zÔ&:Ñ;Ô;Ð;Ð;Ð;r+   c                 ó  — t          ddgddgdœddg¬¦  «        }t          d	gd
gdœddg¬¦  «        }|                     |dd¬¦  «        }t          ddgddgt          j        dgdœg d¢¬¦  «        }t	          j        ||¦  «         d S )Nr[  r\  rG   rÆ   rP   rQ   rR   r¾   r   éÈ   )rQ   rv   rv   rS   rÁ   g      i@r…  )r   r   r   r­   r]   r^   rA  s        r)   Útest_merge_key_dtype_castz)TestMergeDtypes.test_merge_key_dtype_cast@  s´   € å  c 
°2°r°(Ð;Ð;ÀeÈTÀ]ÐSÑSÔSˆÝ  ¨C¨5Ð1Ð1¸EÀ4¸=ÐIÑIÔIˆØ—’˜3 5¨f�Ñ5Ô5ˆÝØ˜#�J r¨2 hµr´v¸u°oÐFÐFØ'Ð'Ð'ð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   c                 ó"  — t          dg d¢i¦  «        }t          dg d¢i¦  «        }t          dgdgdœ¦  «        }d}t          j        t          |¬	¦  «        5  |                     |dd¬
¦  «        }t          j        ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬	¦  «        5  |                     |dd¬
¦  «        }t          j        ||ddg         ¦  «         d d d ¦  «         n# 1 swxY w Y   t          dt          j        t          j        dgi¦  «        }t          j        d ¦  «        5  |                     |dd¬
¦  «        }t          j        ||ddg         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrt  rü   ru  )çš™™™™™ñ?g      @rr  r3   rr  rs  z:the float values are not equal to their int representationr‰   r‹   )r   r]   Úassert_produces_warningÚUserWarningr   r^   r   r­   )rD   r^  r_  rb   r‘   ra   s         r)   Ú!test_merge_on_ints_floats_warningz1TestMergeDtypes.test_merge_on_ints_floats_warningK  so  € õ
 �s˜I˜I˜IÐ&Ñ'Ô'ˆÝ�s˜O˜O˜OÐ,Ñ-Ô-ˆÝ A 3¨c¨UÐ3Ð3Ñ4Ô4ˆàJˆÝÔ'­¸3Ð?Ñ?Ô?ð 	4ð 	4Ø—W’W˜Q¨°c�WÑ:Ô:ˆFÝÔ! &¨(Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4õ Ô'­¸3Ð?Ñ?Ô?ð 	@ð 	@Ø—W’W˜Q¨°c�WÑ:Ô:ˆFÝÔ! &¨(°C¸°:Ô*>Ñ?Ô?Ð?ð	@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@õ
 �s�RœV¥R¤V¨SÐ1Ð2Ñ3Ô3ˆåÔ'¨Ñ-Ô-ð 	@ð 	@Ø—W’W˜Q¨°c�WÑ:Ô:ˆFÝÔ! &¨(°C¸°:Ô*>Ñ?Ô?Ð?ð	@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@ð 	@ð 	@s6   Á.BÂBÂBÂ86C:Ã:C>ÄC>Å6FÆFÆFc                 óJ  — t          dt          ddgt          ¬¦  «        i¦  «        }t          dddgi¦  «        }t          dddgit          ¬¦  «        }t          ||d¬¦  «        }t	          j        ||¦  «         t          ||d¬¦  «        }t	          j        ||¦  «         d S ©NrQ   TFr[   re   )r   r   rø   r   r]   r^   ©rD   r8   r9   rb   ra   s        r)   Ú(test_merge_incompat_infer_boolean_objectz8TestMergeDtypes.test_merge_incompat_infer_boolean_objectd  sª   € å˜¥¨¨e }½FÐ CÑ CÔ CÐDÑEÔEˆÝ˜  u Ð.Ñ/Ô/ˆå˜e d¨E ]Ð3½6ÐBÑBÔBˆÝ�s˜C EÐ*Ñ*Ô*ˆÝ
Ô˜f hÑ/Ô/Ð/Ý�s˜C EÐ*Ñ*Ô*ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   c                 ó`  — t          dt          ddt          j        gt          ¬¦  «        i¦  «        }t          dddgi¦  «        }t          dddgit          ¬¦  «        }t          ||d¬¦  «        }t          j        ||¦  «         t          ||d¬¦  «        }t          j        ||¦  «         d S r„  )r   r   r   r­   rø   r   r]   r^   r…  s        r)   Ú5test_merge_incompat_infer_boolean_object_with_missingzETestMergeDtypes.test_merge_incompat_infer_boolean_object_with_missingo  s±   € õ ˜¥¨¨eµR´VÐ'<ÅFÐ KÑ KÔ KÐLÑMÔMˆÝ˜  u Ð.Ñ/Ô/ˆå˜e d¨E ]Ð3½6ÐBÑBÔBˆÝ�s˜C EÐ*Ñ*Ô*ˆÝ
Ô˜f hÑ/Ô/Ð/Ý�s˜C EÐ*Ñ*Ô*ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   zdf1_vals, df2_valsr	  )r.   r/   r.   )r:  r[  r\  r   FTr[   c                 ó8  — t          d|i¦  «        }t          d|i¦  «        }t          ||dg¬¦  «        }t          |j        j        ¦  «        sJ ‚t          ||dg¬¦  «        }t          |j        j        ¦  «        st          |j        j        ¦  «        sJ ‚d S d S )Nr^  re   )r   r   r   r^  rW   r   )rD   Údf1_valsÚdf2_valsr8   r9   ra   s         r)   Ú!test_merge_incompat_dtypes_are_okz1TestMergeDtypes.test_merge_incompat_dtypes_are_ok{  sŸ   € õ  ˜˜h˜Ñ(Ô(ˆÝ˜˜h˜Ñ(Ô(ˆå�s˜C S EÐ*Ñ*Ô*ˆÝ˜vœxœ~Ñ.Ô.Ð.Ð.Ð.Ý�s˜C S EÐ*Ñ*Ô*ˆÝ˜vœxœ~Ñ.Ô.ÐQµ/À&Ä(Ä.Ñ2QÔ2QÐQÐQÐQÐQÐQÐQÐQr+   r]  rô   r^  )rb  Ú1Ú2z1/1/2011rk  r¦  z
2011-01-01z
2011-01-02r:  Ú20130101)rŒ  r  r‹  c                 ó¢  — t          d|i¦  «        }t          d|i¦  «        }d|d         j        › d|d         j        › d�}t          j        |¦  «        }t	          j        t          |¬¦  «        5  t          ||dg¬¦  «         d d d ¦  «         n# 1 swxY w Y   d|d         j        › d|d         j        › d�}t          j        |¦  «        }t	          j        t          |¬¦  «        5  t          ||dg¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          |¦  «        t          |¦  «        k    �rt          |||dœ¦  «        }t          |||dœ¦  «        }d|d         j        › d|d         j        › d	�}t          j        |¦  «        }t	          j        t          |¬¦  «        5  t          ||¦  «         d d d ¦  «         n# 1 swxY w Y   d|d
         j        › d|d
         j        › d�}t          j        |¦  «        }t	          j        t          |¬¦  «        5  t          ||dd
g¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S d S )Nr^  úYou are trying to merge on ú and zE columns for key 'A'. If you wish to proceed you should use pd.concatr‰   re   ©r^  r_  r_  r_  zE columns for key 'B'. If you wish to proceed you should use pd.concatr_  zE columns for key 'C'. If you wish to proceed you should use pd.concat)	r   rW   rI  rJ  rŒ   r�   r�   r   r!   )rD   rŠ  r‹  r8   r9   r‘   râ  rã  s           r)   Ú test_merge_incompat_dtypes_errorz0TestMergeDtypes.test_merge_incompat_dtypes_error“  s¢  € õ2 ˜˜h˜Ñ(Ô(ˆÝ˜˜h˜Ñ(Ô(ˆðS¨#¨c¬(¬.ð Sð S¸sÀ3¼x¼~ð Sð Sð Sð 	õ Œi˜‰nŒnˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	&ð 	&Ý�#�s ˜uÐ%Ñ%Ô%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&ð
S¨#¨c¬(¬.ð Sð S¸sÀ3¼x¼~ð Sð Sð Sð 	õ Œi˜‰nŒnˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	&ð 	&Ý�#�s ˜uÐ%Ñ%Ô%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&õ
 ˆx‰=Œ=�C ™MœMÒ)Ñ)õ  (°ÀÐIÐIÑJÔJˆCÝ (°ÀÐIÐIÑJÔJˆCð
W¨c°#¬h¬nð Wð WÀ3ÀsÄ8Ä>ð Wð Wð Wð õ ”)˜C‘.”.ˆCÝ”�z°Ð5Ñ5Ô5ð  ð  Ý�c˜3‘”�ð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  ðW¨c°#¬h¬nð Wð WÀ3ÀsÄ8Ä>ð Wð Wð Wð õ ”)˜C‘.”.ˆCÝ”�z°Ð5Ñ5Ô5ð /ð /Ý�c˜3 C¨ :Ð.Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /ð/ *Ð)sH   Á1BÂBÂBÃ*D
Ä
DÄDÆ*GÇGÇGÈ IÉIÉ	Izexpected_data, howr¨   rƒ   rp   rS   c                 ó  — t          dgdg|¬¦  «        }t          dgdg|¬¦  «        }t          |||¬¦  «        }t          t          |¦  «        ¦  «        }t          ||dg|¬¦  «        }t	          j        ||¦  «         d S )N)r-   ÚidrÏ   ©r   rÇ   ©rV   r~   rW   ©r   r   r   r!   r]   r^   )	rD   Úany_numeric_ea_dtyperz   Úexpected_dataÚd1rd  ra   Ú	exp_indexrb   s	            r)   Útest_merge_EA_dtypez#TestMergeDtypes.test_merge_EA_dtypeÜ  sš   € õ ˜�v¨ vÐ5IÐJÑJÔJˆÝ˜�v¨ vÐ5IÐJÑJÔJˆÝ�r˜2 3Ð'Ñ'Ô'ˆÝ�s =Ñ1Ô1Ñ2Ô2ˆ	ÝØ °T°FÐBVð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   r.   r/   c                 ó  — t          dgdg|¬¦  «        }t          dgdg|¬¦  «        }t          |||¬¦  «        }t          t          |¦  «        ¦  «        }t          ||dg|¬¦  «        }t	          j        ||¦  «         d S )N)r.   r–  rÏ   )r/   rÇ   r˜  r™  )	rD   rz   r›  Úany_string_dtyperœ  rd  ra   Úexp_idxrb   s	            r)   Útest_merge_string_dtypez'TestMergeDtypes.test_merge_string_dtypeð  sš   € õ ˜�x¨$¨Ð7GÐHÑHÔHˆÝ˜�x¨$¨Ð7GÐHÑHÔHˆÝ�r˜2 3Ð'Ñ'Ô'ˆÝ�S Ñ/Ô/Ñ0Ô0ˆÝØ °4°&Ð@Pð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   zhow, expected_data)Tr-   r4   )Fr5   r3   c                 óÒ   — t          ddgddgdœ¦  «        }t          ddgddgdœ¦  «        }t          |||¬	¦  «        }t          |g d
¢¬¦  «        }t          j        ||¦  «         d S )NTFr-   r5   ©r^  r_  r3   r4   ©r^  r_  rÇ   r“  r¾   r\   )rD   rz   r›  r8   r9   ra   rb   s          r)   Útest_merge_bool_dtypez%TestMergeDtypes.test_merge_bool_dtype  s�   € õ ˜t U˜m°1°a°&Ð9Ð9Ñ:Ô:ˆÝ˜u d˜m°1°a°&Ð9Ð9Ñ:Ô:ˆÝ�s˜C SÐ)Ñ)Ô)ˆÝ˜]°O°O°OÐDÑDÔDˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   c                 óv  — t          g d¢g d¢dœt          j        ¦   «         ¬¦  «        }|                     ¦   «         }t          dddt          j        dgd	d
dt          j        dgdœ|¬¦  «        }|                     ¦   «         }t          ||dg|¬¦  «        }t          j        ||¦  «         t          j        ||¦  «         t          t          j
        d¦  «        t          j        ¦   «         t          j
        d¦  «        gt          j        g d¢¦  «        ¬¦  «        }t          j        |j        |¦  «         d S )N)r�  rŽ  Ú3Ú4N)r©  Ú5Ú6Ú7Ú8)©Úlvl0zlvl1-a©r¯  zlvl1-b)ÚdatarW   r�  rŽ  r¨  rª  r¬  r­  Ú9Ú11)r®  ©r¯  zlvl1-cr®  )rS   rp   rf   rz   ÚO)r®  r°  r´  rx   )r   rŽ   ÚStringDtyperí   rP  r   r]   r^   r   r   rW   r   rS  r®   r  )	rD   rî   Ústring_dtyper8   rÈ  r9   rÉ  rœ   rb   s	            r)   Útest_merge_ea_with_stringz)TestMergeDtypes.test_merge_ea_with_string  sP  € åà$>Ð$>Ð$>Ø$=Ð$=Ð$=ðð õ ”.Ñ"Ô"ð
ñ 
ô 
ˆð —8’8‘:”:ˆÝà%(¨#¨sµB´E¸3Ð$?Ø%(¨#¨sµB´E¸4Ð$@ðð ð ð
ñ 
ô 
ˆð —8’8‘:”:ˆÝ˜C sÐ0BÐ/CÈÐSÑSÔSˆõ 	Ô˜c 8Ñ,Ô,Ð,Ý
Ô˜c 8Ñ,Ô,Ð,õ ÝŒX�c‰]Œ]�BœNÑ,Ô,­b¬h°s©m¬mÐ<ÝÔ(ØLÐLÐLñô ð
ñ 
ô 
ˆõ 	Ô˜vœ}¨hÑ7Ô7Ð7Ð7Ð7r+   zleft_empty, how, exp)
)FrS   rS   )Frp   Úempty)Frƒ   r¹  )Fr¨   rS   )FÚcrossÚempty_cross)TrS   r¹  )Trp   rp   )Trƒ   r¹  )Tr¨   rp   )Trº  r»  c                 óf  — t          ddgddgdœ¦  «        }t          dgdgdœd¬	¦  «        }|r|                     d
¦  «        }n|                     d
¦  «        }|                     ||¬¦  «        }|dk    r.t          ddgddgt          j        t          j        gdœ¦  «        }nZ|dk    r!t          dgt          j        gdgdœ¦  «        }n3|dk    rt          g d¢d¬¦  «        }n|dk    rt          g d¢d¬¦  «        }|dk    r|                     dd¬¦  «        }t          j        ||¦  «         d S )Nr   r-   r3   r4   r¤  r5   r¥  rU   r[   r   rÇ   rS   r“  rp   r¹  rÏ   r»  )ÚA_xr_  ÚA_yr_  r¨   r^  TrY  )r   Úheadr   r   r­   rl  r]   r^   )rD   Ú
left_emptyrz   ri   rS   rp   ra   rb   s           r)   Útest_merge_emptyz TestMergeDtypes.test_merge_empty6  sX  € õ    1˜v¨Q°¨FÐ3Ð3Ñ4Ô4ˆÝ  ¨1¨#Ð.Ð.°gÐ>Ñ>Ô>ˆàð 	"Ø—9’9˜Q‘<”<ˆDˆDà—J’J˜q‘M”MˆEà—’˜E s�Ñ+Ô+ˆà�&Š=ˆ=Ý ¨¨1 v°Q¸°FÅ"Ä&Í"Ì&ÐAQÐ!RÐ!RÑSÔSˆHˆHØ�GŠ^ˆ^Ý ¨ sµ"´&°ÀÀÐ!DÐ!DÑEÔEˆHˆHØ�GŠ^ˆ^Ý ¨¨¨ÀÐHÑHÔHˆHˆHØ�MÒ!Ð!Ý Ð)AÐ)AÐ)AÈÐQÑQÔQˆHà�'Š>ˆ>Ø×+Ò+¨C¸dÐ+ÑCÔCˆHå
Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   c                 ó¾  — t          ddgt          j        ddgt          j        ¬¦  «        dœ¦  «        }t          ddgt          j        dd	gt          j        ¬¦  «        dœ¦  «        }|                     |d
¬¦  «        }t          g d¢t          j        g d¢t          j        ¬¦  «        dœ¦  «        }t          j        |                     d¬¦  «        |¦  «         d S ©Nr    r¡   r-   r   r[   r±   r¢   r3   r4   r¨   rÇ   )r¡   r¢   r    r    )r   r4   r-   r3   T©Údrop)r   r   rÃ   Úuintcr   r]   r^   r@  rA  s        r)   Útest_merge_with_uintc_columnsz-TestMergeDtypes.test_merge_with_uintc_columns^  sÙ   € Ý˜u e˜nµ2´8¸QÀ¸FÍ"Ì(Ð3SÑ3SÔ3SÐTÐTÑUÔUˆÝ˜u e˜nµ2´8¸QÀ¸FÍ"Ì(Ð3SÑ3SÔ3SÐTÐTÑUÔUˆØ—’˜3 G�Ñ,Ô,ˆÝà1Ð1Ð1Ý”X˜l˜l˜lµ"´(Ð;Ñ;Ô;ðð ñ
ô 
ˆõ 	Ô˜f×0Ò0°dÐ0Ñ;Ô;¸XÑFÔFÐFÐFÐFr+   c                 ó¾  — t          ddgt          j        ddgt          j        ¬¦  «        dœ¦  «        }t          ddgt          j        dd	gt          j        ¬¦  «        dœ¦  «        }|                     |d
¬¦  «        }t          g d¢t          j        g d¢t          j        ¬¦  «        dœ¦  «        }t          j        |                     d¬¦  «        |¦  «         d S rÃ  )r   r   rÃ   Úintcr   r]   r^   r@  rA  s        r)   Útest_merge_with_intc_columnsz,TestMergeDtypes.test_merge_with_intc_columnsj  sÙ   € Ý˜u e˜nµ2´8¸QÀ¸FÍ"Ì'Ð3RÑ3RÔ3RÐSÐSÑTÔTˆÝ˜u e˜nµ2´8¸QÀ¸FÍ"Ì'Ð3RÑ3RÔ3RÐSÐSÑTÔTˆØ—’˜3 G�Ñ,Ô,ˆÝà1Ð1Ð1Ý”X˜l˜l˜lµ"´'Ð:Ñ:Ô:ðð ñ
ô 
ˆõ 	Ô˜f×0Ò0°dÐ0Ñ;Ô;¸XÑFÔFÐFÐFÐFr+   c                 ó¦  — t          dt          g d¢t          j        ¬¦  «        i¦  «        }t          t          g d¢t          j        ¬¦  «        g d¢dœ¦  «        }|                     |dd¬¦  «        }t          t          j        g d¢t          j        ¬¦  «        g d	¢dœ¦  «        }t          j        |                     d
¬¦  «        |¦  «         d S )NÚjoin_key)r   r   r-   r[   r	  rô   )rÌ  rH   rS   rÁ   )r.   rL   r/   TrÄ  )	r   r   r   rÉ  r   rÃ   r]   r^   r@  )rD   rE   Ú
df_detailsrœ   rb   s        r)   Útest_merge_intc_non_monotonicz-TestMergeDtypes.test_merge_intc_non_monotonicv  sÐ   € Ý˜
¥F¨9¨9¨9½B¼GÐ$DÑ$DÔ$DÐEÑFÔFˆÝÝ 	 	 	µ´Ð9Ñ9Ô9ÀOÀOÀOÐTÐTñ
ô 
ˆ
ð —’˜*¨¸�Ñ@Ô@ˆÝÝœ ) ) )µ2´7Ð;Ñ;Ô;ÀoÀoÀoÐVÐVñ
ô 
ˆõ 	Ô˜f×0Ò0°dÐ0Ñ;Ô;¸XÑFÔFÐFÐFÐFr+   N)"rN  rO  rP  rŒ   rM  rN  rø   rc  r   rU   r  r$  Úfloat16rp  rz  r}  r‚  r†  rˆ  r   rm   rÈ   rŒ  rŽ   rŽ  r”  rž  r¢  r¦  r¸  rÁ  rÇ  rÊ  rÎ  rK  r+   r)   rX  rX  ô  s,  € € € € € Ø„[×Ò˜W v¨zÐ&:Ñ;Ô;ðRð Rñ <Ô;ðRð( „[×Ò˜T B¤H¨b¬j¸"¼*ÀbÄjÐ#QÑRÔRð0ð 0ñ SÔRð0ð> „[×ÒØ(àˆYˆY˜˜˜¨y¨y¨y¸¸¸Ð)OÐ)OÐPØˆYˆY˜˜c˜
¨1¨a¨&¸¸S°zÐ$BÐ$BÐCØ�ˆV�_�_�_¨Q°¨F¸#¸s¸Ð&DÐ&DÐEð	
ñô ð<ð <ñô ð<ð	0ð 	0ð 	0ð@ð @ð @ð2	0ð 	0ð 	0ð
0ð 
0ð 
0ð „[×ÒØð ˆYˆY˜˜˜˜˜Ñ/Ô/×6Ò6°zÑBÔBÐCØˆ_ˆ_˜f˜f _ _ _Ñ5Ô5×<Ò<¸ZÑHÔHÐIà�ˆV�V�V˜U D˜M°Ð8Ñ8Ô8Ð9Ø�ˆV�V�V˜U D˜M°Ð6Ñ6Ô6Ð7ð	
ñ
ô 
ðRð Rñ
ô 
ðRð „[×ÒØð ˆV�Q˜�F (Ð+Ñ+Ô+¨_¨_¨_Ð=ØˆV�Q˜�F 'Ð*Ñ*Ô*¨O¨O¨OÐ<ØˆYˆY˜˜˜Ð(Øˆ_ˆ_˜o˜o˜oÐ.à�”˜j°!¸#Ð>Ñ>Ô>Ø˜|Ð,ðð ˆRŒ]˜:¨q°sÐ;Ñ;Ô;¸aÀ¸VÐDØˆRŒ]˜:¨q°sÐ;Ñ;Ô;¸cÀ3¸ZÐHà�”˜j°!Ð4Ñ4Ô4Ø�”˜j°!¸ÐEÑEÔEðð	
ñô ð(3/ð 3/ñ)ô ð(3/ðj „[×ÒØà�ˆV�WÐØ�ˆMØˆS�'ˆNØˆS�&ˆMð		
ñô ð	0ð 	0ñô ð	0ð „[×ÒØà�3ˆZ˜Ð!Ø�ˆMØˆU�GÐØˆU�FˆOð		
ñô ð	0ð 	0ñô ð	0ð „[×ÒØà�|�|�| ] ] ]Ð3Ð4Ø�}�}�} l l lÐ3Ð4Ø�l�l�l M M MÐ2Ð3Ø�}�}�} l l lÐ3Ð4ð		
ñô ð0ð 0ñô ð0ð8ð 8ð 8ðB „[×ÒØð	
ð 	
ð 	
ñô ð0ð 0ñô ð0ð2
Gð 
Gð 
Gð
Gð 
Gð 
Gð	Gð 	Gð 	Gð 	Gð 	Gr+   rX  c                  óT  — t          t          t          j                             d¦  «                             ddgd¬¦  «        ¦  «                             t          ddg¦  «        ¦  «        t          j                             d¦  «                             g d¢d¬¦  «        dœ¦  «        S )Nr   r    r¡   )rG   r"  )ÚoneÚtwoÚthreers  )r   r   r   r"   r#   Úchoicerm   r	   rK  r+   r)   rS   rS   ‚  sœ   € ååÝ”	×%Ò% aÑ(Ô(×/Ò/°¸°ÀUÐ/ÑKÔKñô çŠfÕ% u¨e nÑ5Ô5Ñ6Ô6Ý”×&Ò& qÑ)Ô)×0Ò0Ð1HÐ1HÐ1HÈuÐ0ÑUÔUð		
ð 	
ñô ð r+   c                  óŒ   — t          t          ddg¦  «                             t          ddg¦  «        ¦  «        ddgdœ¦  «        S )Nr    r¡   r-   r   )rt  ÚZ)r   r   rm   r	   rK  r+   r)   rp   rp   Ž  sO   € åå˜ ˜Ñ'Ô'×.Ò.Õ/?ÀÈÀÑ/OÔ/OÑPÔPØ�Q�ð	
ð 	
ñô ð r+   c            
       ó®  — e Zd Zd„ Zd„ Zd„ Zd„ Zej         	                    dddg¦  «        d„ ¦   «         Z
d	„ Zej         	                    d
d„ d„ d„ g¦  «        d„ ¦   «         Zd„ Zd„ Zej         	                    dddg¦  «        ej         	                    dg d¢ddgddgfg d¢ddgddgfg d¢ddgddgfg¦  «        d„ ¦   «         ¦   «         Zd„ Zd„ ZdS )ÚTestMergeCategoricalc                 ó  — t          ||d¬¦  «        }|j                             ¦   «         }|st          j        d¦  «        nd}t          t          ddg¬¦  «        ||gg d¢¬	¦  «        }t          j        ||¦  «         d S )
Nrt  re   rµ  Ústrr    r¡   rÁ  )rt  ÚY_xÚY_yrx   ©	r   r  r±  r   rW   r   r	   r]   r®   )rD   rS   r¹   rœ   ra   rW   rb   s          r)   Útest_identicalz#TestMergeCategorical.test_identical™  s�   € å�t˜T cÐ*Ñ*Ô*ˆØ”×)Ò)Ñ+Ô+ˆØ%7ÐB•”˜‘”�¸UˆÝÝ¨%°¨Ð8Ñ8Ô8¸%ÀÐGØ%Ð%Ð%ð
ñ 
ô 
ˆõ 	Ô˜v xÑ0Ô0Ð0Ð0Ð0r+   c                 ó&  — t          ||d¬¦  «        }|j                             ¦   «         }|st          j        d¦  «        nd}t          t          ddg¬¦  «        |t          j        d¦  «        gg d	¢¬
¦  «        }t          j        ||¦  «         d S )Nrt  re   rµ  rÚ  r    r¡   rÁ  rU   ©rt  ru  rÖ  rx   rÝ  ©rD   rS   rp   r¹   rœ   ra   rW   rb   s           r)   Ú
test_basiczTestMergeCategorical.test_basic¤  s    € õ �t˜U sÐ+Ñ+Ô+ˆØ”×)Ò)Ñ+Ô+ˆØ%7ÐB•”˜‘”�¸UˆÝå ¨U°E¨NÐ;Ñ;Ô;ØÝ”˜Ñ!Ô!ðð
 "�/�/ð
ñ 
ô 
ˆõ 	Ô˜v xÑ0Ô0Ð0Ð0Ð0r+   c           	      ó¬  — t          ddddddœddddddœdœ¦  «        }t          d	d	d	d	d	dœd
d
d
d
d
dœdœ¦  «        }t          ||ddd¬¦  «        }|                     ¦   «         }|                     ¦   «         }|d                              d¦  «        |d<   t          ||ddd¬¦  «        }|d                              t	          dg¦  «        ¦  «        |d<   t          j        ||¦  «         |                     ¦   «         }|d                              d¦  «        |d<   t          ||ddd¬¦  «        }t          j        ||¦  «         |                     ¦   «         }|d                              d¦  «        |d<   |                     ¦   «         }|d                              d¦  «        |d<   t          ||ddd¬¦  «        }t          j        ||¦  «         d S )Nr.   r/   rL   rM   rN   )r   r-   r   r3   r4   Únullr²   rÝ   rÞ   r±   rS   )rz   ry   r|   rY  )r   r   rí   rm   r	   r]   r^   )rD   rp   rS   rE   rb   Úcrightra   Úclefts           r)   Útest_merge_categoricalz+TestMergeCategorical.test_merge_categorical´  sø  € õ à ¨°¸Ð=Ð=Ø F¨v¸&ÀVÐLÐLðð ñ
ô 
ˆõ à ¨°¸Ð=Ð=Ø ¨°¸Ð=Ð=ðð ñ
ô 
ˆõ �4˜ F°CÀ#ÐFÑFÔFˆð —7’7‘9”9ˆð
 —’‘”ˆØ˜S”k×(Ò(¨Ñ4Ô4ˆˆs‰Ý�t˜V¨¸ÀsÐKÑKÔKˆØ  œ×,Ò,Õ-=¸v¸hÑ-GÔ-GÑHÔHˆ�‰Ý
Ô˜f hÑ/Ô/Ð/ð —	’	‘”ˆØ˜3”Z×&Ò& zÑ2Ô2ˆˆc‰
Ý�u˜f¨&¸#ÈÐLÑLÔLˆÝ
Ô˜f hÑ/Ô/Ð/ð —’‘”ˆØ˜S”k×(Ò(¨Ñ4Ô4ˆˆs‰Ø—	’	‘”ˆØ˜3”Z×&Ò& zÑ2Ô2ˆˆc‰
Ý�u˜f¨&¸#ÈÐLÑLÔLˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   c                 ó>  — t          t          g d¢g d¢¬¦  «        g d¢dœ¦  «        }t          t          g d¢g d¢¬¦  «        g d¢dœ¦  «        }t          ||dg¬	¦  «        }t          t          g d¢¦  «        g d¢g d
¢dœ¦  «        }t          j        ||¦  «         d S )Nr“  rÁ  )ÚA0ÚB0ÚC0)ÚFooÚLeft)r_  r_  r^  )ÚC1ÚB1ÚA1)rì  ÚRightrì  re   )rð  rï  rî  )rì  rí  rñ  rá  rA  s        r)   Ú'tests_merge_categorical_unordered_equalz<TestMergeCategorical.tests_merge_categorical_unordered_equalß  så   € åå" ? ? ?¸¸¸ÐOÑOÔOØ*Ð*Ð*ðð ñ
ô 
ˆõ å" ? ? ?¸¸¸ÐOÑOÔOØ+Ð+Ð+ðð ñ
ô 
ˆõ �s˜C U GÐ,Ñ,Ô,ˆÝå" ? ? ?Ñ3Ô3Ø*Ð*Ð*Ø+Ð+Ð+ðð ñ
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   ÚorderedTFc                 ó  — t          ddg|¬¦  «        }t          g d¢t          g d¢|¬¦  «        g d¢dœ¦  «                             d	d
g¦  «        }t          g d¢t          g d¢|¬¦  «        g d¢dœ¦  «                             d	d
g¦  «        }t	          ||ddd¬¦  «        }t          g d¢t          g d¢|¬¦  «        g d¢ddt
          j        gdœ¦  «                             d	d
g¦  «        }t          j        ||¦  «         d S )NÚP2ÚP1©rÂ  ró  )r_  r_  rk  )rõ  rö  rõ  r[   r	  )r–  Úpr.   r–  rø  )r^  r_  r_  )rõ  rõ  rö  )rG   rV  r$  )r–  rø  rœ  rS   Tr”   g      &@g      (@)r–  rø  r.   rœ  )	r	   r   r
   rs   r   r   r­   r]   r^   )rD   ró  Úpcatr8   r9   ra   rb   s          r)   Ú5test_multiindex_merge_with_unordered_categoricalindexzJTestMergeCategorical.test_multiindex_merge_with_unordered_categoricalindexø  sY  € õ  ¨D°$¨<ÀÐIÑIÔIˆÝà%�o�oÝ Ð!3Ð!3Ð!3¸4Ð@Ñ@Ô@Ø�Y�Yðð ñ
ô 
÷ Š)�T˜3�KÑ
 Ô
 ð 	õ à%�o�oÝ Ð!3Ð!3Ð!3¸4Ð@Ñ@Ô@Ø"�l�lðð ñ
ô 
÷ Š)�T˜3�KÑ
 Ô
 ð 	õ �s˜C V¸È$ÐOÑOÔOˆÝà%�o�oÝ Ð!3Ð!3Ð!3¸4Ð@Ñ@Ô@Ø�Y�YØ˜T¥2¤6Ð*ð	ð ñ
ô 
÷ Š)�T˜3�KÑ
 Ô
 ð 	õ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   c                 ó*  — |                      |j                             d¦  «        ¬¦  «        }t          ||d¬¦  «        }|j                             ¦   «         }|st          j        d¦  «        nd}t          t          ddg¬	¦  «        |t          d
dg¬	¦  «        gg d¢¬¦  «        }t          j        ||¦  «         |j        j                             |j        j        ¦  «        sJ ‚|j        j                             |j        j        ¦  «        sJ ‚d S )NrY  )rÖ  rt  re   rµ  rÚ  r    r¡   rÁ  r-   r   rà  rx   )ÚassignrÖ  rm   r   r  r±  r   rW   r   r	   r]   r®   rt  r/  Ú#_categories_match_up_to_permutationrá  s           r)   Útest_other_columnsz'TestMergeCategorical.test_other_columns  s
  € à—’˜uœwŸ~š~¨jÑ9Ô9�Ñ:Ô:ˆå�t˜U sÐ+Ñ+Ô+ˆØ”×)Ò)Ñ+Ô+ˆØ%7ÐB•”˜‘”�¸UˆÝå ¨U°E¨NÐ;Ñ;Ô;ØÝ ¨Q°¨FÐ3Ñ3Ô3ðð
 "�/�/ð
ñ 
ô 
ˆõ 	Ô˜v xÑ0Ô0Ð0ð ŒvŒ}×@Ò@ÀÄÄÑQÔQÐQÐQÐQØŒwŒ~×AÒAÀ&Ä(Ä/ÑRÔRÐRÐRÐRÐRÐRr+   Úchangec                 ó   — | S rJ  rK  ©rÕ   s    r)   ú<lambda>zTestMergeCategorical.<lambda>-  s   € �a€ r+   c                 óJ   — |                       t          g d¢¦  «        ¦  «        S )N)r    r¡   Úbah©rm   r	   r  s    r)   r  zTestMergeCategorical.<lambda>.  s"   € �a—h’hÕ/Ð0EÐ0EÐ0EÑFÔFÑGÔG€ r+   c                 óH   — |                       t          d¬¦  «        ¦  «        S )NT©ró  r  r  s    r)   r  zTestMergeCategorical.<lambda>/  s   € �a—h’hÕ/¸Ð=Ñ=Ô=Ñ>Ô>€ r+   c                 óÆ  —  ||j                              d¦  «        ¦  «        }|                     |¬¦  «        }t          |j         j        j        t          ¦  «        sJ ‚t          ||d|¬¦  «        }|j         	                    ¦   «         }|st          j        d¦  «        nd}	t          |	|	t          j        d¦  «        gg d¢¬	¦  «        }
t          j        ||
¦  «         d S )
Nrø   )rt  rt  rÁ   rµ  rÚ  rU   rà  rx   )rt  rm   rü  rR  r/  rW   r	   r   r  r±  r   r   r]   r®   )rD   rÿ  rî   rS   rp   r¹   rt  rœ   ra   rW   rb   s              r)   Útest_dtype_on_merged_differentz3TestMergeCategorical.test_dtype_on_merged_different*  sÓ   € ð ˆF�5”7—>’> (Ñ+Ô+Ñ,Ô,ˆØ—’˜q�Ñ!Ô!ˆÝ˜$œ&œ-Ô-Õ/?Ñ@Ô@Ð@Ð@Ð@õ �t˜U s°	Ð:Ñ:Ô:ˆà”×)Ò)Ñ+Ô+ˆØ%7ÐB•”˜‘”�¸UˆÝ˜5 %­¬°'Ñ):Ô):Ð;À?À?À?ÐSÑSÔSˆÝ
Ô˜v xÑ0Ô0Ð0Ð0Ð0r+   c                 ó  ‡— dŠt          g d¢‰z  g d¢dz  ‰z  ˆfd„dD ¦   «         ˆfd„dD ¦   «         d	œ¦  «        }|                     d
„ ¦  «        }t          ||t          |j        ¦  «        ¬¦  «        }t          j        ||¦  «         d S )Nr5   )
r.   r/   rL   rM   rN   rÝ   rÞ   rß   rè   Új)rX  ÚwrÕ   rÖ   rö   r   c                 ó,   •— g | ]}|gd z  ‰z  D ]}|‘ŒŒS r—  rK  ©r  ÚeachÚletterrl  s      €r)   r  zKTestMergeCategorical.test_self_join_multiple_categories.<locals>.<listcomp>L  sJ   ø€ ð ð ð àØ#' &¨1¡*¨q¡.ðð ð ð ðð ð ð r+   )rl  r&   Úurø  Úoc                 ó&   •— g | ]}|g‰z  D ]}|‘ŒŒS rK  rK  r  s      €r)   r  zKTestMergeCategorical.test_self_join_multiple_categories.<locals>.<listcomp>Q  sH   ø€ ð ð ð àð $( &¨1¡*ðð ð ð ðð ð ð r+   )
ÚaaÚbbÚccÚddÚeeÚffÚggÚhhÚiiÚjjrç   c                 ó,   — |                       d¦  «        S )NrY  )rm   r  s    r)   r  zITestMergeCategorical.test_self_join_multiple_categories.<locals>.<lambda>e  s   €  §¢¨Ñ 4Ô 4€ r+   re   )r   Úapplyr   r   r~   r]   r^   )rD   rE   ra   rl  s      @r)   Ú"test_self_join_multiple_categoriesz7TestMergeCategorical.test_self_join_multiple_categoriesD  sâ   ø€ ð ˆÝàGÐGÐGÈ!ÑKØ.Ð.Ð.°Ñ2°QÑ6ðð ð ð à 9ðñ ô ð
ð ð ð ð!ðñ ô ðð ñ
ô 
ˆð: �XŠXÐ4Ð4Ñ5Ô5ˆõ �r˜2¥$ r¤zÑ"2Ô"2Ð3Ñ3Ô3ˆå
Ô˜f bÑ)Ô)Ð)Ð)Ð)r+   c                 ó²  — t          t          ddd¦  «        dgt          ddd¦  «        dggddg¬¦  «        }|d                              d	¦  «        |d<   t          t          ddd¦  «        dgt          ddd
¦  «        dggddg¬¦  «        }|d                              d	¦  «        |d<   t          t          j        d¦  «                             ¦   «         ddgt          j        d¦  «                             ¦   «         dt
          j        gt          j        d¦  «                             ¦   «         t
          j        dggg d¢¬¦  «        }t          ||ddg¬¦  «        }t          j	        ||¦  «         t          t          j        d¦  «                             ¦   «         ddggg d¢¬¦  «        }t          ||ddg¬¦  «        }t          j	        ||¦  «         d S )NiÑ  r-   r  r   çÍÌÌÌÌÌô?r   Únum2r¾   rY  r3   çffffffö?Únum4r  r  r  )r   r#  r%  r¨   rž  rƒ   )
r   r   rm   rŽ   rO  r   r­   r   r]   r^   )rD   rE   r9   Úexpected_outerÚresult_outerÚexpected_innerÚresult_inners          r)   Útest_dtype_on_categorical_datesz4TestMergeCategorical.test_dtype_on_categorical_datesl  sò  € õ Ý�4˜˜AÑÔ Ð$¥t¨D°!°QÑ'7Ô'7¸Ð&=Ð>ÈÐQWÐHXð
ñ 
ô 
ˆð ˜”Z×&Ò& zÑ2Ô2ˆˆ6‰
åÝ�4˜˜AÑÔ Ð$¥t¨D°!°QÑ'7Ô'7¸Ð&=Ð>ÈÐQWÐHXð
ñ 
ô 
ˆð ˜&”k×(Ò(¨Ñ4Ô4ˆˆF‰å"å”˜lÑ+Ô+×0Ò0Ñ2Ô2°C¸Ð=Ý”˜lÑ+Ô+×0Ò0Ñ2Ô2°C½¼Ð@Ý”˜lÑ+Ô+×0Ò0Ñ2Ô2µB´F¸CÐ@ðð
 -Ð,Ð,ð
ñ 
ô 
ˆõ ˜R ¨'°v°hÐ?Ñ?Ô?ˆÝ
Ô˜l¨NÑ;Ô;Ð;å"ÝŒl˜<Ñ(Ô(×-Ò-Ñ/Ô/°°cÐ:Ð;Ø,Ð,Ð,ð
ñ 
ô 
ˆõ ˜R ¨'°v°hÐ?Ñ?Ô?ˆÝ
Ô˜l¨NÑ;Ô;Ð;Ð;Ð;r+   z.category_column,categories,expected_categories)FTTF)r   r-   r-   r   r-   r   )ÚFalseÚTruer,  r+  r,  r+  c                 ó�  — t          g d¢|dœ¦  «        }|d                              t          ||¬¦  «        ¦  «        |d<   t          ddgddgd	œ¦  «        }|                     |¦  «        }t          ddg|ddgd
œ¦  «        }|d                              t          ||¬¦  «        ¦  «        |d<   t	          j        ||¦  «         d S )Nr£   )r–  rè  rè  r  r   r4   r-   rÿ   )r–  Únum)r–  rè  r.  )r   rm   r	   r   r]   r^   )	rD   Úcategory_columnrÂ  Úexpected_categoriesró  r8   r9   ra   rb   s	            r)   Ú/test_merging_with_bool_or_int_cateorical_columnzDTestMergeCategorical.test_merging_with_bool_or_int_cateorical_columnŒ  sÜ   € õ ˜|˜|˜|°OÐDÐDÑEÔEˆØ˜”Z×&Ò&Õ'7¸
ÈGÐ'TÑ'TÔ'TÑUÔUˆˆE‰
Ý  1˜v¨q°!¨fÐ5Ð5Ñ6Ô6ˆØ—’˜3‘”ˆÝ Q¨ FÐ3FÐPQÐSTÈvÐVÐVÑWÔWˆØ" 5œ/×0Ò0Ý˜Z°Ð9Ñ9Ô9ñ
ô 
ˆ�‰õ 	Ô˜h¨Ñ/Ô/Ð/Ð/Ð/r+   c                 ó  — t          t          ddt          j        gd¬¦  «        ddœ¦  «        }t	          ||d¬¦  «        }t          t          ddt          j        gd¬¦  «        dddœ¦  «        }t          j        ||¦  «         d S )	Nr-   r   r  r[   r¤  r^  re   )r^  ÚB_xÚB_y)r   r   rŽ   rP  r   r]   r^   )rD   rE   ra   rb   s       r)   Útest_merge_on_int_arrayz,TestMergeCategorical.test_merge_on_int_array¤  sŒ   € å�V Q¨­2¬5 M¸ÐAÑAÔAÈÐJÐJÑKÔKˆÝ�r˜2 #Ð&Ñ&Ô&ˆÝÝ˜!˜Q¥¤˜¨gÐ6Ñ6Ô6¸qÈÐKÐKñ
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   c                 ó¼  — t          t          t          dd¦  «        ¦  «        t          t          dd¦  «        ¦  «        t          t          dd¦  «        ¦  «        t          t          dd¦  «        ¦  «        dœ¦  «        }|                     ddddœ¦  «        }|j        d d…d d …f                              ddgd	¬
¦  «                             ddi¦  «        }|j        dd …d d …f                              g d¢d	¬
¦  «                             ddi¦  «        }t          ||d	d	d¬¦  «        }t          t          dd¦  «        ¦  «        }t          t          t          dd¦  «        ¦  «        t          t          dd¦  «        ¦  «        z   |¬¦  «        }t          t          t          dd¦  «        ¦  «        t          t          dd¦  «        ¦  «        z   |¬¦  «        }t          t          j
        gdz  t          t          dd¦  «        ¦  «        z   |¬¦  «        }	t          j        |||	gg d¢¬¦  «        }
t          t          t          t          t          dd¦  «        ¦  «        ¦  «        t          j
        gdz  z   t          j
        gdz  t          t          t          t          dd¦  «        ¦  «        ¦  «        z   dœ|
¬¦  «        }t          j        ||¦  «         d S )Nr-   rG   )rÕ   rÖ   rö   rM   rY  rõ   r4   rö   rÕ   T)ÚobservedrM   r›   rO   )rö   rÕ   rÖ   r¨   r©  r5   r   rÁ  ©Únamesr   )Úd_xÚd_yrx   )r   r   r   rm   ÚilocÚgroupbyÚaggr   r
   r   r­   r   Úfrom_arraysÚmaprn   r]   r^   )rD   r8   r9   râ  rã  ra   Úcatsrö   rÕ   rÖ   Úidxrb   s               r)   Ú.test_merge_category_index_levels_stay_categoryzCTestMergeCategorical.test_merge_category_index_levels_stay_category­  s€  € åå�%  2™,œ,Ñ'Ô'Ý�%  2™,œ,Ñ'Ô'Ý�%  2™,œ,Ñ'Ô'Ý�%  2™,œ,Ñ'Ô'ð	ð ñ
ô 
ˆð �jŠj˜z°
ÀÐLÐLÑMÔMˆàŒh�r˜�r˜1˜1˜1�uŒo×%Ò% s¨C j¸4Ð%Ñ@Ô@×DÒDÀcÈ5À\ÑRÔRˆØŒh�q�r�r˜1˜1˜1�uŒo×%Ò% o o oÀÐ%ÑEÔE×IÒIÈ3ÐPUÈ,ÑWÔWˆÝ�s˜C¨D¸dÈÐPÑPÔPˆå•E˜!˜R‘L”LÑ!Ô!ˆÝ��U 1 a™[œ[Ñ)Ô)­Dµ°q¸"±´Ñ,>Ô,>Ñ>È4ÐPÑPÔPˆÝ��U 1 a™[œ[Ñ)Ô)­Dµ°q¸"±´Ñ,>Ô,>Ñ>È4ÐPÑPÔPˆÝ�œ˜ 1™¥t­E°!°R©L¬LÑ'9Ô'9Ñ9ÀdÐKÑKÔKˆÝÔ$ a¨¨A Y°o°o°oÐFÑFÔFˆÝå�C¥¥u¨Q°¡{¤{Ñ3Ô3Ñ4Ô4½¼°xÀ!±|ÑCÝœ�x !‘|¥d­3­uµe¸A¸r±l´lÑ+CÔ+CÑ&DÔ&DÑDðð ð ð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   N)rN  rO  rP  rÞ  râ  rç  rò  rŒ   rM  rN  rú  rþ  r	  r   r*  r1  r5  rC  rK  r+   r)   rØ  rØ  ˜  s½  € € € € € ð	1ð 	1ð 	1ð1ð 1ð 1ð )0ð )0ð )0ðV0ð 0ð 0ð2 „[×Ò˜Y¨¨u¨Ñ6Ô6ð0ð 0ñ 7Ô6ð0ð8Sð Sð Sð* „[×ÒØàˆKØGÐGØ>Ð>ð	
ñô ð1ð 1ñô ð1ð$&*ð &*ð &*ðP<ð <ð <ð@ „[×Ò˜Y¨¨u¨Ñ6Ô6Ø„[×ÒØ8à'Ð'Ð'¨$°¨¸¸u¸ÐFØˆ\ˆ\˜A˜q˜6 A q 6Ð*Ø/Ð/Ð/°&¸'Ð1BÀVÈWÐDUÐVð	
ñô ð0ð 0ñô ñ 7Ô6ð0ð0ð 0ð 0ð0ð 0ð 0ð 0ð 0r+   rØ  c                   ó>  — e Zd Zej                             ddd eddgddgdœd	d
g¬¦  «        fdd eddgddgdœd
d	g¬¦  «        fdd eg d¢ddej        gdœg d¢¬¦  «        fdd eg d¢ej        ddgdœg d¢¬¦  «        fdd eej        ddgg d¢dœg d¢¬¦  «        fdd eddej        gg d¢dœg d¢¬¦  «        fdd edddej        gej        dddgdœg d¢¬¦  «        fdd edddej        gej        dddgdœg d¢¬¦  «        fg¦  «        d„ ¦   «         Z	dS )ÚTestMergeOnIndexeszhow, sort, expectedrƒ   FrÆ   rG   r|  éd   r±   r   r-   rx   TrS   ©rÆ   rG   r   ©r   r-   r   )r   rG   rÆ   r	  rp   ©é,  rF  r|  ©r3   r-   r   ©rF  r|  rJ  rü   r¨   r   rJ  rl   c                 ó¶   — t          dg d¢ig d¢¬¦  «        }t          dg d¢ig d¢¬¦  «        }t          ||dd||¬	¦  «        }t          j        ||¦  «         d S )
Nr.   rG  rH  rx   r/   rI  rK  T)rY   rZ   rz   r{   r\   )rD   rz   r{   rb   r7  r8  ra   s          r)   Útest_merge_on_indexesz(TestMergeOnIndexes.test_merge_on_indexesÎ  s€   € õ` ˜S + + +Ð.°i°i°iÐ@Ñ@Ô@ˆÝ˜c ? ? ?Ð3¸9¸9¸9ÐEÑEÔEˆÝØ�X¨$¸DÀcÐPTð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r+   N)
rN  rO  rP  rŒ   rM  rN  r   r   r­   rN  rK  r+   r)   rE  rE  Í  s)  € € € € € Ø„[×ÒØà�e˜Y˜Y¨b°"¨X¸SÀ#¸JÐ'GÐ'GÐPQÐSTÈvÐVÑVÔVÐWØ�d˜I˜I¨R°¨H¸CÀ¸:Ð&FÐ&FÈqÐRSÈfÐUÑUÔUÐVàØØ�	   °3¸¸R¼VÐ2DÐEÐEÈYÈYÈYÐWÑWÔWðð ØØ�	   °2´6¸3ÀÐ2DÐEÐEÈYÈYÈYÐWÑWÔWðð ØØ�	Øœ6 2 rÐ*°°°ÐAÐAÈÈÈðñ ô ðð ØØ�	Ø˜r 2¤6Ð*°°°ÐAÐAÈÈÈðñ ô ðð ØØ�	Ø˜b " b¤fÐ-°R´V¸SÀ#ÀsÐ4KÐLÐLØ&˜,˜,ðñ ô ðð ØØ�	Ø˜b " b¤fÐ-°R´V¸SÀ#ÀsÐ4KÐLÐLØ&˜,˜,ðñ ô ððG+	
ñ.ô .ð^0ð 0ñ_.ô .ð^0ð 0ð 0r+   rE  rV   c                 ó6   — g | ]}t          g d ¢|d¬¦  «        ‘ŒS )r  Ú	index_colrÐ   )r   r  s     r)   r  r  	  s;   € ð ð ð àõ 	ˆiˆiˆi˜t¨+Ð6Ñ6Ô6ðð ð r+   r“  rP  )rÂ  rª   r3   )ÚstartÚstoprª   )r  z
2018-01-02z
2018-01-03r©   c                 ó@   — t          | ¦  «        j        › d| j        › d�S )Nú[rv  )ÚtyperN  rW   r  s    r)   r  r  	  s"   € •T˜!‘W”WÔ%Ð2Ð2¨¬Ð2Ð2Ð2€ r+   )Úidsc                 óä   — t          dg d¢i| ¬¦  «        }t          dg d¢i| ¬¦  «        }|                     |dg¬¦  «        }t          g d¢g d¢dœ| ¬¦  «        }t          j        ||¦  «         d S )	NÚ	left_datarü   rx   Ú
right_datarq  rP  re   )rX  rY  r\   )rV   rS   rp   ra   rb   s        r)   Útest_merge_index_typesrZ  	  s•   € õ  �k 9 9 9Ð-°UÐ;Ñ;Ô;€DÝ�| _ _ _Ð5¸UÐCÑCÔC€Eà�ZŠZ˜ ; -ˆZÑ0Ô0€FåØ�i�i¨¨¨Ð?Ð?Àuðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r+   z-on,left_on,right_on,left_index,right_index,nmr¨   rƒ   Fr_  )NNNTTr_  T)NNNTTNc           
      ó$  — t          dg d¢it          j        ddgddggddg¬	¦  «        ¬
¦  «        }t          g d¢t          j        ddgddggddg¬	¦  «        |¬¦  «        }t          ddgddgdœt          j        ddgdggddg¬	¦  «        ¬
¦  «        }|�-t	          ||| ||||¬¦  «        }	t          j        |	|¦  «         d S d}
t          j        t          |
¬¦  «        5  t	          ||| ||||¬¦  «        }	d d d ¦  «         d S # 1 swxY w Y   d S )Nr^  r£   r.   r/   r   r-   r¨   rƒ   r8  rx   r   ru  r4   r3   r¤  )rf   ry   r|   rY   rZ   z$Cannot merge a Series without a namer‰   )
r   r   Úfrom_productr   r   r]   r^   rŒ   r�   r�   )rf   ry   r|   rY   rZ   Únmr.   r/   rb   ra   r‘   s              r)   Útest_merge_seriesr^  !	  sÌ  € õ 	Ø	ˆlˆlˆlÐÝÔ%¨¨S z°A°q°6Ð&:À7ÈGÐBTÐUÑUÔUð	ñ 	ô 	€Aõ 	ØˆˆÝÔ%¨¨S z°A°q°6Ð&:À7ÈGÐBTÐUÑUÔUØð	ñ 	ô 	€Aõ
 Ø�!ˆf˜A˜q˜6Ð"Ð"ÝÔ%¨¨S z°A°3Ð&7ÀÈÐ?QÐRÑRÔRðñ ô €Hð 
€~ÝØØØØØØ!Ø#ð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/à4ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 		ð 		ÝØØØØØ!Ø%Ø'ðñ ô ˆFð		ð 		ð 		ñ 		ô 		ð 		ð 		ð 		ð 		ð 		ð 		ð 		øøøð 		ð 		ð 		ð 		ð 		ð 		s   Ã!DÄD	ÄD	c                  óX  — t          dg d¢it          j        ddgddggddg¬	¦  «        ¬
¦  «        } t          g d¢t          j        ddgddggddg¬	¦  «        d¬¦  «        }t	          j        t          d¬¦  «        5  t          | |ddg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr^  r£   r.   r/   r   r-   r¨   rƒ   r8  rx   r   )r_  r_  ru  z-Not allowed to merge between different levelsr‰   re   )r   r   r\  r   rŒ   r�   r   r   r±   s     r)   Útest_merge_series_multilevelr`  V	  s-  € õ 	Ø	ˆlˆlˆlÐÝÔ%¨¨S z°A°q°6Ð&:À7ÈGÐBTÐUÑUÔUð	ñ 	ô 	€Aõ 	ØˆˆÝÔ%¨¨S z°A°q°6Ð&:À7ÈGÐBTÐUÑUÔUØð	ñ 	ô 	€Aõ
 
ŒÝÐIð
ñ 
ô 
ð +ð +õ 	ˆa�˜ Ð)Ð*Ñ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð +ð +s   Á=BÂB#Â&B#z!col1, col2, kwargs, expected_colsÚsuffixes)Ú Ú_duprb  Ú0_dup)Nrc  )Ú_xÚ_yÚ0_xÚ0_yre  rf  r.   )Nrf  r:  )re  Nz0.0_xr/   Úb_yrõ  )Nre  )Ú_aNÚ0_arö  c                 ó  — t          | g d¢i¦  «        }t          |g d¢i¦  «        }t          ddgddgddgg|¬	¦  «        } |j        |fd
d
dœ|¤Ž}t          j        ||¦  «         t          ||fd
d
dœ|¤Ž}t          j        ||¦  «         d S )Nrü   rý   r-   r4   r   r5   r3   r¦   r¾   TrX   r\   )r0   rß  ÚkwargsÚexpected_colsr.   r/   rb   ra   s           r)   Útest_merge_suffixro  h	  s¿   € õ( 	�4˜˜˜Ð#Ñ$Ô$€AÝ�4˜˜˜Ð#Ñ$Ô$€Aå˜1˜a˜& 1 a &¨1¨a¨&Ð1¸=ÐIÑIÔI€HàˆQŒW�QÐD 4°TÐDÐD¸VÐDÐD€FÝÔ˜& (Ñ+Ô+Ð+å�1�aÐE D°dÐEÐE¸fÐEÐE€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r+   zhow,expectedrp   rL  é<   éF   ©éX  é¼  é   )r^  rï  ÚB2)r-   rF  r|  rJ  r6  rs  rt  ru  c                 óà   — t          g d¢g d¢dœ¦  «        }t          g d¢g d¢dœ¦  «        }t          ||d| d¬¦  «        }t          |¦  «        }g d	¢|_        t          j        ||¦  «         d S )
N)rF  r|  r-   )rp  rq  r6  r¤  rL  rr  r^  )re  re  )rf   rz   ra  )r^  r3  r3  )r   r   r~   r]   r^   )rz   rb   r7  r8  ra   s        r)   Útest_merge_duplicate_suffixrx  ˆ	  sŠ   € õ$ ˜m˜m˜m°,°,°,Ð?Ð?Ñ@Ô@€GÝ˜˜˜°_°_°_ÐEÐEÑFÔF€HÝ�7˜H¨°#ÀÐMÑMÔM€FÝ˜Ñ"Ô"€HØ*Ð*Ð*€HÔåÔ˜& (Ñ+Ô+Ð+Ð+Ð+r+   zcol1, col2, suffixes))r.   r.   )NN)r.   r.   )rb  N)r   r   )Nrb  c                 óæ   — t          | g d¢i¦  «        }t          |g d¢i¦  «        }d}t          j        t          |¬¦  «        5  t	          ||dd|¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrü   ©r3   r4   r5   z'columns overlap but no suffix specifiedr‰   T©rY   rZ   ra  rÚ  )r0   rß  ra  r.   r/   r‘   s         r)   Útest_merge_suffix_errorr|  £	  sÝ   € õ 	�4˜˜˜Ð#Ñ$Ô$€AÝ�4˜˜˜Ð#Ñ$Ô$€Að 4€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð Jð JÝˆa�˜t°ÀÐIÑIÔIÐIðJð Jð Jñ Jô Jð Jð Jð Jð Jð Jð Jð Jøøøð Jð Jð Jð Jð Jð Js   ÁA&Á&A*Á-A*rS   ©rS   rp   c                 óâ   — t          dg d¢i¦  «        }t          dg d¢i¦  «        }t          j        t          d¬¦  «        5  t	          ||dd| ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nr.   rü   r/   rz  zPassing 'suffixes' as ar‰   Tr{  )r   rŒ   r�   Ú	TypeErrorr   )ra  r.   r/   s      r)   Útest_merge_suffix_raisesr€  ²	  sÕ   € å�3˜	˜	˜	Ð"Ñ#Ô#€AÝ�3˜	˜	˜	Ð"Ñ#Ô#€Aå	Œ•yÐ(AÐ	BÑ	BÔ	Bð Jð JÝˆa�˜t°ÀÐIÑIÔIÐIðJð Jð Jñ Jô Jð Jð Jð Jð Jð Jð Jð Jøøøð Jð Jð Jð Jð Jð Jó   ÁA$Á$A(Á+A(z2, got 3rŽ  zcol1, col2, suffixes, msgrô   z%too many values to unpack \(expected z\)z1not enough values to unpack \(expected 2, got 1\)c                 óâ   — t          | g d¢i¦  «        }t          |g d¢i¦  «        }t          j        t          |¬¦  «        5  t	          ||dd|¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrü   rz  r‰   Tr{  rÚ  )r0   rß  ra  r‘   r.   r/   s         r)   Útest_merge_suffix_length_errorrƒ  ¾	  sÖ   € õ 	�4˜˜˜Ð#Ñ$Ô$€AÝ�4˜˜˜Ð#Ñ$Ô$€Aå	Œ•z¨Ð	-Ñ	-Ô	-ð Jð JÝˆa�˜t°ÀÐIÑIÔIÐIðJð Jð Jñ Jô Jð Jð Jð Jð Jð Jð Jð Jøøøð Jð Jð Jð Jð Jð Jr�  Ú	cat_dtyperÑ  rÒ  Úreversec                 óê  — t          g d¢d¬¦  «        t          g d¢d¬¦  «        dœ}t          t          g d¢¦  «                             |d         ¦  «        g d¢dœ¦  «                             d¦  «        }g d¢}g d¢}|r(|                     ¦   «          |                     ¦   «          t          t          |¦  «                             ||          ¦  «        |d	œ¦  «                             d¦  «        }|                     |d
d
¬¦  «        }t          g d¢g d¢t          g d¢¦  «                             |d         ¦  «        dœ¦  «                             d¦  «        }t          j        ||¦  «         d S )Nrô   Fr÷  )rÑ  rÒ  rÑ  rü   ©r    rS   r    ©r    rp   TrX   ©rS   rp   r    )	r	   r   r   rm   rs   r…  r   r]   r^   )	r„  r…  Ú
cat_dtypesr8   Údata_fooÚ
data_rightr9   ra   rb   s	            r)   Útest_merge_equal_cat_dtypesr�  Ò	  s›  € õ
  ¨?¨?¨?ÀEÐJÑJÔJÝ¨?¨?¨?ÀEÐJÑJÔJðð €Jõ
 Ý���Ñ'Ô'×.Ò.¨z¸%Ô/@ÑAÔAÈ9È9È9ÐUÐUñô ç‚i�ÑÔð ð ˆˆ€HØ��€Jàð Ø×ÒÑÔÐØ×ÒÑÔÐå
Ý�xÑ Ô ×'Ò'¨
°9Ô(=Ñ>Ô>ÈÐTÐTñô ç‚i�ÑÔð ð �YŠY�s t¸ˆYÑ>Ô>€Fåà�I�IØ�Y�YÝ˜/˜/˜/Ñ*Ô*×1Ò1°*¸UÔ2CÑDÔDð	
ð 	
ñô ÷ ‚i�ÑÔð õ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r+   c                  óB  — t          g d¢d¬¦  «        } t          t          ddg¦  «                             | ¦  «        ddgdœ¦  «                             d	¦  «        }t          t          g d¢¦  «                             | ¦  «        g d
¢dœ¦  «                             d	¦  «        }|                     |dd¬¦  «        }t          ddgddgt          ddg¦  «                             | ¦  «        dœ¦  «                             d	¦  «        }t          j        ||¦  «         d S )Nrô   Fr÷  r.   r/   r-   r   r‡  r    )r3   r   r-   rˆ  TrX   r3   r‰  )r	   r   r   rm   rs   r   r]   r^   )r„  r8   r9   ra   rb   s        r)   Útest_merge_equal_cat_dtypes2r�  ÷	  s.  € å ¨O¨O¨OÀUÐKÑKÔK€Iõ Ý˜˜S�zÑ"Ô"×)Ò)¨)Ñ4Ô4¸qÀ!¸fÐEÐEñô ç‚i�ÑÔð õ Ý���Ñ'Ô'×.Ò.¨yÑ9Ô9ÀIÀIÀIÐNÐNñô ç‚i�ÑÔð ð �YŠY�s t¸ˆYÑ>Ô>€FåØ�Q� 1 a &µ¸¸c¸
Ñ1CÔ1C×1JÒ1JÈ9Ñ1UÔ1UÐVÐVñô ç‚i�ÑÔð õ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r+   c            
      ór  — t          dt          t          j        dd¦  «        t          j        dd¦  «        gd¬¦  «        i¦  «        } |                      ¦   «         }|d                              d¦  «        |d<   t          || dd¬	¦  «        }|                      ¦   «         }t          j        ||¦  «         d S )
Nr.   r   r-   r   Úintervalr[   rY  rƒ   rž  )	r   r   rŽ   ÚIntervalrí   rm   r   r]   r^   )rp   rS   ra   rb   s       r)   Útest_merge_on_cat_and_ext_arrayr“  
  s©   € åØ	�f•b”k ! QÑ'Ô'­¬°Q¸Ñ):Ô):Ð;À:ÐNÑNÔNÐOñô €Eð �:Š:‰<Œ<€DØ�S”	× Ò  Ñ,Ô,€Dˆ�Iå�4˜ G°Ð4Ñ4Ô4€FØ�zŠz‰|Œ|€HåÔ˜& (Ñ+Ô+Ð+Ð+Ð+r+   c                  ó¬  ‡‡	‡
— g d¢} g d¢Š	t          j        | ‰	fddg¬¦  «        }t          |¬¦  «        }d|d<   t          |¬¦  «        }d|d<   d	Šd
Š
|                     |d‰‰
f¬¦  «        }ˆˆ	fd„| D ¦   «         }|dgz  }|ˆ	ˆ
fd„| D ¦   «         z  }t          j        |ddg¬¦  «        }t          |¬¦  «        }t          j        ||d¬¦  «         d S )Nrç   ©r�  rŽ  r¨  r¨   rƒ   r8  r¾   rb  r–  re  rf  ©rf   ra  c                 ó(   •— g | ]}‰D ]	}|‰z   |f‘Œ
ŒS rK  rK  )r  r  r.  Úl_sufÚnumberss      €€r)   r  z1test_merge_multiindex_columns.<locals>.<listcomp>/
  s/   ø€ ÐMÐMÐM¨ÀWÐMÐM¸cˆv˜‰~˜sÐ#ÐMÐMÐMÐMr+   )r–  rb  c                 ó(   •— g | ]}‰D ]	}|‰z   |f‘Œ
ŒS rK  rK  )r  r  r.  r™  Úr_sufs      €€r)   r  z1test_merge_multiindex_columns.<locals>.<listcomp>1
  s/   ø€ ÐNÐNÐN¨ÀgÐNÐN¸s�˜‘ Ð$ÐNÐNÐNÐNr+   Fr>  )r   r\  r   r   rS  r]   r^   )ÚlettersrV   Úframe_xÚframe_yra   Útuplesr*  rb   r˜  r™  r›  s           @@@r)   Útest_merge_multiindex_columnsr   
  s&  øøø€ ð #Ð"Ð"€GØˆoˆo€GÝÔ# W¨gÐ$6¸wÈÐ>PÐQÑQÔQ€Eå Ð&Ñ&Ô&€GØ€GˆD�MÝ Ð&Ñ&Ô&€GØ€GˆD�Mà€EØ€EØ�]Š]˜7 t¸¸u°~ˆ]ÑGÔG€Fð NÐMÐMÐMÐM°'ÐMÑMÔM€FØ
ˆzˆlÑ€FØ
ÐNÐNÐNÐNÐN°7ÐNÑNÔNÑN€FåÔ+¨F¸7ÀGÐ:LÐMÑMÔM€NÝ Ð0Ñ0Ô0€HåÔ˜& (¸Ð>Ñ>Ô>Ð>Ð>Ð>r+   c                  ó(  — t          g d¢g d¢dœ¦  «        } t          g d¢t          j        g d¢¦  «        dœ¦  «        }t          | |dd¬	¦  «        }t          g d¢g d¢t          j        g d
¢¦  «        dœ¦  «        }t	          j        ||¦  «         d S )Nrô   )r�  rŽ  r©  )rÕ   rÖ   r•  )Ú2000Ú2001Ú2002)rÖ   rö   rS   rÖ   rž  )r¢  r£  re  rõ   )r   rŽ   rŸ  r   r]   r^   ©r8   r9   ra   rb   s       r)   Ú test_merge_datetime_upcast_dtyper¦  9
  s¼   € å
˜/˜/˜/°°°Ð@Ð@Ñ
AÔ
A€CÝ
Øˆoˆo¥B¤NÐ3KÐ3KÐ3KÑ$LÔ$LÐMÐMñô €Cõ �3˜ ¨CÐ0Ñ0Ô0€FÝà ��Ø ��Ý”Ð 7Ð 7Ð 7Ñ8Ô8ð	
ð 	
ñô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r+   Ún_categoriesr5   é€   c                 óÐ  — t          dgt          t          | ¦  «        ¦  «        ¢¦  «        }t          t          | dz   ¦  «        dg|¬¦  «        }t          dggdgt          dgt          t          | ¦  «        ¦  «        ¬¦  «        ¬¦  «        }t	          ||ddd¬	¦  «        }t          d
„ t          | dz   ¦  «        D ¦   «         ddg|¬¦  «        }t          j        ||¦  «         d S )Nr   r-   rH   r­  r¦   rÁ  rS   Tr”   c                 ó>   — g | ]}|d k     r|dgn|t           j        g‘ŒS )r   g      @)r   r­   )r  rè   s     r)   r  z9test_categorical_non_unique_monotonic.<locals>.<listcomp>Y
  s.   € ÐMÐMÐM°�Q˜’U�Uˆ!ˆSˆˆ ¥B¤F ÐMÐMÐMr+   r«   r¬   )r   r   r   r   r   r]   r^   )r§  rY   r8   r9   ra   rb   s         r)   Ú%test_categorical_non_unique_monotonicr«  J
  s   € õ
 " 1Ð"A¥t­E°,Ñ,?Ô,?Ñ'@Ô'@Ð"AÑBÔB€JÝ
•E˜,¨Ñ*Ñ+Ô+°g°YÀjÐ
QÑ
QÔ
Q€CÝ
Ø
ˆˆØ�	Ý ˜s­tµE¸,Ñ4GÔ4GÑ/HÔ/HÐIÑIÔIðñ ô €Cõ �3˜ °DÀdÐKÑKÔK€FÝØMÐMµU¸<È!Ñ;KÑ5LÔ5LÐMÑMÔMØ˜IÐ&Øðñ ô €Hõ
 Ô˜( FÑ+Ô+Ð+Ð+Ð+r+   c                  óŠ  — t          g d¢g d¢¦  «        g d¢dœ} t          | ¦  «        } t          g d¢g d¢¦  «        g d¢g d¢dœ}t          |¦  «                             d	d
g¦  «        d         }t          | |                     ¦   «         ddgd	d
gd¬¦  «        }|                     d	d
gd¬¦  «        }|                      |ddg¬¦  «        }t          j        ||¦  «         t          g d¢g d¢d¬¦  «        g d¢dœ} t          | ¦  «        } t          g d¢g d¢d¬¦  «        g d¢g d¢dœ}t          |¦  «                             d	d
g¦  «        d         }t          | |                     ¦   «         ddgd	d
gd¬¦  «        }|                     d	d
gd¬¦  «        }|                      |ddg¬¦  «        }t          j        ||¦  «         d S )N)r.   r/   r.   rL   r.   r/   rô   )r   r-   r   r-   r   r   )ÚCat1ÚInt1)r.   r/   rL   r.   r/   rL   )r   r   r   r-   r-   r-   )r  g333333ó?r"  r$  rD  gš™™™™™ù?)ÚCatÚIntÚFactorr¯  r°  r±  r­  r®  rS   rÊ   r-   )Úaxisre   rø  Tr  )	r
   r   rs   r   r@  rÅ  r…   r]   r^   )r.   r/   rb   ra   s       r)   Ú&test_merge_join_categorical_multiindexr³  `
  sJ  € õ Ð:Ð:Ð:¸O¸O¸OÑLÔLØ"Ð"Ð"ð	ð 	€Aõ 	�!‰Œ€Aõ Ð9Ð9Ð9¸?¸?¸?ÑKÔKØ!Ð!Ð!Ø0Ð0Ð0ð	ð 	€Aõ
 	�!‰Œ×Ò  u˜~Ñ.Ô.¨xÔ8€AåØ	Ø	�Š‰ŒØ˜Ð Ø˜�Øðñ ô €Hð �}Š}˜e U˜^°!ˆ}Ñ4Ô4€HØ�VŠV�A˜6 6Ð*ˆVÑ+Ô+€FÝÔ˜( FÑ+Ô+Ð+õ Ø*Ð*Ð*¨O¨O¨OÀTð
ñ 
ô 
ð #Ð"Ð"ð		ð 	€Aõ 	�!‰Œ€Aõ Ø*Ð*Ð*¨O¨O¨OÀTð
ñ 
ô 
ð "Ð!Ð!Ø0Ð0Ð0ð	ð 	€Aõ 	�!‰Œ×Ò  u˜~Ñ.Ô.¨xÔ8€AåØ	Ø	�Š‰ŒØ˜Ð Ø˜�Øðñ ô €Hð �}Š}˜e U˜^°!ˆ}Ñ4Ô4€HØ�VŠV�A˜6 6Ð*ˆVÑ+Ô+€FÝÔ˜( FÑ+Ô+Ð+Ð+Ð+r+   Úfuncr   Ú
merge_asof)rm  Úerr_msg)ry   rY   ry   rY   )r|   rZ   r|   rZ   c                 ó*  — t          ddgddgdœ¦  «        }t          ddgddgdœ¦  «        }d	|d
         › d|d         › d�}t          j        t          |¬¦  «        5   t	          t
          | ¦  «        ||fi |¤Ž d d d ¦  «         d S # 1 swxY w Y   d S )Nr-   r   r3   r4   r±   r5   r¦   rò  zCan only pass argument "r   ú" OR "z" not both\.r‰   ©r   rŒ   r�   r   ÚgetattrrŽ   ©r´  rm  r¶  rS   rp   r‘   s         r)   Ú/test_merge_join_cols_error_reporting_duplicatesr¼  ˜
  sû   € õ ˜A˜q˜6¨¨A¨Ð/Ð/Ñ0Ô0€DÝ˜Q ˜F¨!¨Q¨Ð0Ð0Ñ1Ô1€EØ
P g¨a¤jÐ
PÐ
P¸À¼
Ð
PÐ
PÐ
P€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð 1ð 1Ø�•�DÑÔ˜$ Ð0Ð0¨Ð0Ð0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1ð 1ð 1ó   ÁBÂBÂBc                 ó*  — t          ddgddgdœ¦  «        }t          ddgddgdœ¦  «        }d	|d
         › d|d         › d�}t          j        t          |¬¦  «        5   t	          t
          | ¦  «        ||fi |¤Ž d d d ¦  «         d S # 1 swxY w Y   d S )Nr-   r   r3   r4   r±   r5   r¦   rò  zMust pass "r   r¸  z"\.r‰   r¹  r»  s         r)   Ú,test_merge_join_cols_error_reporting_missingr¿  ©
  sû   € õ ˜A˜q˜6¨¨A¨Ð/Ð/Ñ0Ô0€DÝ˜Q ˜F¨!¨Q¨Ð0Ð0Ñ1Ô1€EØ
:˜ œÐ
:Ð
:¨7°1¬:Ð
:Ð
:Ð
:€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð 1ð 1Ø�•�DÑÔ˜$ Ð0Ð0¨Ð0Ð0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1ð 1ð 1r½  rm  c                 ó  — t          ddgddgdœ¦  «        }t          ddgddgdœ¦  «        }d	}t          j        t          |¬
¦  «        5   t	          t
          | ¦  «        ||fddi|¤Ž d d d ¦  «         d S # 1 swxY w Y   d S )Nr-   r   r3   r4   r±   r5   r¦   rò  zZCan only pass argument "on" OR "left_index" and "right_index", not a combination of both\.r‰   rf   r.   r¹  )r´  rm  rS   rp   r‘   s        r)   Ú1test_merge_join_cols_error_reporting_on_and_indexrÁ  º
  sì   € õ ˜A˜q˜6¨¨A¨Ð/Ð/Ñ0Ô0€DÝ˜Q ˜F¨!¨Q¨Ð0Ð0Ñ1Ô1€Eð	:ð õ 
Œ•z¨Ð	-Ñ	-Ô	-ð 9ð 9Ø�•�DÑÔ˜$ Ð8Ð8¨#Ð8°Ð8Ð8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð 9ð 9s   Á
 A7Á7A;Á>A;c                  óî   — t          ddgddgdœ¦  «        } t          ddgddgdœ¦  «        }t          | |ddd¬¦  «        }t          ddgddgddgddgddgdœ¦  «        }t          j        ||¦  «         d S )	Nr-   r    )rÕ   rö   rp   TrÕ   )rz   rY   r|   )rÕ   Úx_xÚz_xÚx_yÚz_yr\   ©rS   rp   ra   rb   s       r)   Útest_merge_right_left_indexrÈ  Î
  s«   € å˜A˜q˜6¨°¨Ð7Ð7Ñ8Ô8€DÝ˜Q ˜F¨%°¨Ð8Ð8Ñ9Ô9€EÝ�4˜ G¸ÀsÐKÑKÔK€FÝà�Q�Ø�q�6Ø˜5�>Ø�q�6Ø˜5�>ð	
ð 	
ñô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r+   c                  ó®  — t          dgdgdœ¦  «                             ddg¦  «        } t          ddgi¦  «                             dg¦  «        }t          g g dœt          j        ¬¦  «                             ddg¦  «        }t	          | |dgd¬¦  «        }t          j        ||¦  «         t	          || ddg¬	¦  «        }t          j        ||¦  «         d S )
Nr-   r   r±   r.   r/   r[   Trò   rñ   )r   rs   r   rU   r   r]   r^   ©r8   r9   rb   ra   s       r)   Ú$test_merge_result_empty_index_and_onrË  ß
  sÚ   € å
˜1˜# Q CÐ(Ð(Ñ
)Ô
)×
3Ò
3°S¸#°JÑ
?Ô
?€CÝ
�S˜1˜#�JÑ
Ô
×
)Ò
)¨3¨%Ñ
0Ô
0€CÝ˜r¨Ð+Ð+µ2´8Ð<Ñ<Ô<×FÒFÈÈSÀzÑRÔR€HÝ�3˜ c U¸Ð=Ñ=Ô=€FÝÔ˜& (Ñ+Ô+Ð+å�3˜¨¸°uÐ=Ñ=Ô=€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r+   c                  óp  — t          g d¢dddœ¦  «        } t          g d¢ddœ¦  «        }t          j        t          d¬¦  «        5  t	          | |d¬	¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t	          || dd
¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrü   r-   r   )r.   r/   Úb_xr±   ú(Passing 'suffixes' which cause duplicater‰   r.   re   )rf  re  r–  r
  r}  s     r)   Ú.test_merge_suffixes_produce_dup_columns_raisesrÏ  ë
  sI  € å˜9˜9˜9¨1°QÐ7Ð7Ñ8Ô8€DÝ˜I˜I˜I¨AÐ.Ð.Ñ/Ô/€Eå	Œ•zÐ)SÐ	TÑ	TÔ	Tð #ð #Ýˆd�E˜cÐ"Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #õ 
Œ•zÐ)SÐ	TÑ	TÔ	Tð :ð :Ýˆe�T˜c¨LÐ9Ñ9Ô9Ð9ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :ð :ð :s$   ÁA$Á$A(Á+A(Â
B+Â+B/Â2B/c                  óÚ   — t          g d¢g d¢gg d¢¬¦  «        } t          ddgddœ¦  «        }t          | |d	¬
¦  «        }t          g d¢gg d¢¬¦  «        }t          j        ||¦  «         d S )Nr&  r'  )r.   r/   r/   r¾   r-   r3   r   r±   r.   re   )r-   r-   r-   r   )r.   rÍ  rÍ  ri  r\   rÇ  s       r)   Ú3test_merge_duplicate_columns_with_suffix_no_warningrÑ  ÷
  sŒ   € õ �i�i�i   Ð+°_°_°_ÐEÑEÔE€DÝ˜Q ˜F¨Ð+Ð+Ñ,Ô,€EÝ�4˜ 3Ð'Ñ'Ô'€FÝ˜,˜,˜,˜Ð1KÐ1KÐ1KÐLÑLÔL€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r+   c                  óì   — t          g d¢g d¢gg d¢¬¦  «        } t          ddgddœ¦  «        }t          j        t          d	¬
¦  «        5  t	          | |d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N©r-   r-   r-   r-   ©r   r   r   r   )r.   r/   r/   rÍ  r¾   r-   r3   r   r±   rÎ  r‰   r.   re   r
  r}  s     r)   ÚItest_merge_duplicate_columns_with_suffix_causing_another_duplicate_raisesrÕ    sÒ   € õ �l�l�l L L LÐ1Ð;QÐ;QÐ;QÐRÑRÔR€DÝ˜Q ˜F¨Ð+Ð+Ñ,Ô,€EÝ	Œ•zÐ)SÐ	TÑ	TÔ	Tð #ð #Ýˆd�E˜cÐ"Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð #ð #s   Á	A)Á)A-Á0A-c                  ó"  — t          ddgddggt          ddg¦  «        ¬¦  «        } t          dd	gd
dggddg¬¦  «        }t          || ddd¬¦  «        }t          g d¢g d¢gt          g d¢¦  «        ¬¦  «        }t          j        ||¦  «         d S )Nr-   r   r3   r4   r.   ç     €\@r¾   rÿ   rG   rV  r$  rÕ   rÖ   rƒ   Tr”   )rÿ   rG   r-   r   )rV  r$  r3   r4   )rÕ   rÖ   r.   r×  ©r   r   r   r]   r^   r¥  s       r)   Ú%test_merge_string_float_column_resultrÙ  
  s¸   € å
�a˜�V˜a ˜VÐ$­e°S¸%°LÑ.AÔ.AÐ
BÑ
BÔ
B€CÝ
�a˜�W˜r 2˜hÐ'°#°s°Ð
<Ñ
<Ô
<€CÝ�3˜ °TÀtÐLÑLÔL€FÝØ	ˆˆ˜˜˜Ð'µÐ7MÐ7MÐ7MÑ1NÔ1Nðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r+   c                  óê   — t          dgdgdg¬¦  «        } t          dgdgdg¬¦  «        }t          j        t          d¬¦  «        5  t	          | |dgd¬	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nrt  r_  é   )r±  r~   rV   iç  zCan only pass argumentr‰   T)rf   rY   r
  )Údf_1Údf_2s     r)   Ú/test_mergeerror_on_left_index_mismatched_dtypesrÞ    sÉ   € å˜3˜%¨#¨°r°dÐ;Ñ;Ô;€DÝ˜3˜%¨#¨°s°eÐ<Ñ<Ô<€DÝ	Œ•zÐ)AÐ	BÑ	BÔ	Bð 5ð 5Ýˆd�D˜c˜U¨tÐ4Ñ4Ô4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð 5ð 5s   ÁA(Á(A,Á/A,c                  ó:  — t          t          d¦  «        ¦  «        } t          | t          d¦  «        dœ¦  «        }t          dt          dd¦  «        i¦  «        }t          ||| d¬¦  «        }t          ||| j        d¬¦  «        }t          j        ||¦  «         d S )Nr3   r¤  r_  r¦   r^  r‹   )r   r   r   r   Ú_datar]   r^   )Úcirp   rS   Úresrb   s        r)   Ú#test_merge_on_left_categoricalindexrã    s‘   € å	�% ™(œ(Ñ	#Ô	#€Bå˜B¥U¨1¡X¤XÐ.Ð.Ñ/Ô/€EÝ�c�5  A™;œ;Ð'Ñ(Ô(€Då
��e R°#Ð
6Ñ
6Ô
6€CÝ�T˜5¨"¬(¸SÐAÑAÔA€HÝÔ˜#˜xÑ(Ô(Ð(Ð(Ð(r+   rW   r  c                 ó¾  — | €t           j        nt          j        }t	          ddgddgdœ| ¬¦  «        }t	          ||gddgdœ| ¬¦  «        }t          ||dd	¬
¦  «        }t	          dd||gdd||g||ddgdœ| ¬¦  «        }t          j        ||¦  «         t          ||dd	¬
¦  «        }t	          dd||g||ddgdd||gdœ| ¬¦  «        }t          j        ||¦  «         d S )Nr-   r   )rQ   r0   r[   r3   r4   )rQ   rß  rQ   r¨   rÁ   )rQ   r0   rß  )rQ   rß  r0   )r   r­   rŽ   rP  r   r   r]   r^   )rW   ÚitemrS   rp   ra   rb   s         r)   Útest_merge_outer_with_NaNræ  )  sE  € ð �]�2Œ6ˆ6­¬€DÝ˜a ˜V¨a°¨VÐ4Ð4¸EÐBÑBÔB€DÝ˜t T˜l°Q¸°FÐ;Ð;À5ÐIÑIÔI€EÝ�4˜ 5¨gÐ6Ñ6Ô6€FÝà�q˜$ Ð%Ø˜˜4 Ð&Ø˜4  AÐ&ð	
ð 	
ð
 ðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+õ �5˜$ 5¨gÐ6Ñ6Ô6€FÝà�q˜$ Ð%Ø˜4  AÐ&Ø˜˜4 Ð&ð	
ð 	
ð
 ðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r+   c                  ó  — t          ddgit          dgd¬¦  «        ¬¦  «        } t          ddgit          dgd¬¦  «        ¬¦  «        }t          | |dd¬¦  «        }t          dgddœ¦  «        }t          j        ||¦  «         d S )	Nr.   r-   rL   r©   rx   rM   r‹   )rõ  rö  rØ  rÇ  s       r)   Ú test_merge_different_index_namesrè  G  s–   € å�c˜A˜3�Z¥u¨a¨S°sÐ';Ñ';Ô';Ð<Ñ<Ô<€DÝ�s˜Q˜C�j­¨q¨c¸Ð(<Ñ(<Ô(<Ð=Ñ=Ô=€EÝ�4˜¨°cÐ:Ñ:Ô:€FÝ ! ¨QÐ/Ð/Ñ0Ô0€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r+   c                 óä   — t          g d¢ddœ| ¬¦  «        }t          g d¢ddœ| ¬¦  «        }|                     ||¬¦  «        }t          g d¢dddœ| ¬¦  «        }t          j        ||¦  «         d S )	Nrü   r-   r±   r[   r   rò  rÇ   rô   r\   ©rš  rî   rS   rp   ra   rb   s         r)   Útest_merge_earë  P  s�   € å˜9˜9˜9¨1Ð-Ð-Ð5IÐJÑJÔJ€DÝ˜I˜I˜I¨AÐ.Ð.Ð6JÐKÑKÔK€EØ�ZŠZ˜ 9ˆZÑ-Ô-€FÝ˜y˜y˜y¨q°qÐ9Ð9ÐAUÐVÑVÔV€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r+   c           	      óŠ  — t          g d¢ddœ| ¬¦  «        }t          g d¢ddœ|                      ¦   «         ¬¦  «        }|                     ||¬¦  «        }t          t          g d¢| ¬¦  «        t          g d¢| ¬¦  «        t          g d	¢|                      ¦   «         ¬¦  «        d
œ¦  «        }t	          j        ||¦  «         d S )Nrü   r-   r±   r[   r   rò  rÇ   r&  r'  rô   )r   Úlowerr   r   r]   r^   rê  s         r)   Útest_merge_ea_and_non_earî  Y  sà   € å˜9˜9˜9¨1Ð-Ð-Ð5IÐJÑJÔJ€DÝ˜I˜I˜I¨AÐ.Ð.Ð6J×6PÒ6PÑ6RÔ6RÐSÑSÔS€EØ�ZŠZ˜ 9ˆZÑ-Ô-€FÝå˜	˜	˜	Ð)=Ð>Ñ>Ô>Ý˜	˜	˜	Ð)=Ð>Ñ>Ô>Ý˜	˜	˜	Ð)=×)CÒ)CÑ)EÔ)EÐFÑFÔFð	
ð 	
ñô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r+   rU   úint64[pyarrow]c                 óz  — t          j        d¦  «         t          dddgi| ¬¦  «        }t          dddgid¬¦  «        }|                     |¦  «        }|                     ¦   «         }t          j        ||¦  «         |                     |¦  «        }|                     ¦   «         }t          j        ||¦  «         d S )NÚpyarrowr.   r-   r   r[   rï  )rŒ   Úimportorskipr   r   rí   r]   r^   )rW   rE   r9   ra   rb   s        r)   Ú!test_merge_arrow_and_numpy_dtypesró  h  s®   € õ Ô˜	Ñ"Ô"Ð"Ý	�C˜!˜Q˜�=¨Ð	.Ñ	.Ô	.€BÝ
�S˜1˜a˜&�MÐ)9Ð
:Ñ
:Ô
:€CØ�XŠX�c‰]Œ]€FØ�wŠw‰yŒy€HÝÔ˜& (Ñ+Ô+Ð+à�YŠY�r‰]Œ]€FØ�xŠx‰zŒz€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r+   r  zAmerica/Chicagoc                 óZ  — t          j        ddd| ¬¦  «        t          j        ddd| ¬¦  «        t          j        ddd| ¬¦  «        g}t          |d d…         dd	gd
œ¦  «        }|d         j                             d¦  «        |d<   t          |dd …         dd	gdœ¦  «        }|d         j                             d¦  «        |d<   t          |dd	t
          j        gt
          j        dd	gdœ¦  «        }|d         j                             d¦  «        |d<   |dk    r#|j        dg                              d¬¦  «        }n?|dk    r|j        ddg         }n)|dk    r#|j        ddg                              d¬¦  «        }| 	                    |d|¬¦  «        }t          j        ||¦  «         d S )Niç  r5   r$  r  é   é   r   r[  r\  )rX  r.   rX  r]  r-   )rX  r/   rm  )rX  r.   r/   rƒ   TrÄ  rS   r   rp   rÁ   )rŽ   rO  r   rØ   Úas_unitr   r­   r<  r@  r   r]   r^   )r  rî   Úvalsr8   r9   rb   ra   s          r)   Ú(test_merge_datetime_different_resolutionrù  w  s¸  € õ 	Œ�T˜1˜b RÐ(Ñ(Ô(Ý
Œ�T˜1˜b RÐ(Ñ(Ô(Ý
Œ�T˜1˜b RÐ(Ñ(Ô(ð€Dõ
 ˜$˜r ˜rœ(¨#¨s¨Ð4Ð4Ñ
5Ô
5€CØ�3ŒxŒ{×"Ò" 4Ñ(Ô(€Cˆ�HÝ
˜$˜q˜r˜rœ(¨#¨s¨Ð4Ð4Ñ
5Ô
5€CØ�3ŒxŒ{×"Ò" 3Ñ'Ô'€Cˆ�Hå˜t¨3°µR´VÐ*<ÅBÄFÈCÐQTÐCUÐVÐVÑWÔW€HØ˜S”MÔ$×,Ò,¨TÑ2Ô2€HˆS�MØ�GÒÐØ”= ! Ô%×1Ò1°tÐ1Ñ<Ô<ˆˆØ	�fÒ	Ð	Ø”= ! Q Ô(ˆˆØ	�gÒ	Ð	Ø”= ! Q Ô(×4Ò4¸$Ð4Ñ?Ô?ˆà�YŠY�s˜s¨	ˆYÑ2Ô2€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r+   c                  ó   — t          dddgi¦  «        } t          ddgit          j        ddgdg¬¦  «        ¬	¦  «        }t          ddgdt          j        gd
œ¦  «        }|                      |dgdd¬¦  «        }t          j        ||¦  «         d S )NÚcolr^  r_  r/   rF  )r^  )r_  r8  )r±  rV   )rû  r/   TrS   r„   )r   r   rS  r   r­   r   r]   r^   )rE   r9   rb   ra   s       r)   Ú"test_merge_multiindex_single_levelrü  ‘  s¤   € å	�E˜C ˜:Ð&Ñ	'Ô	'€BÝ
Ø�C�5ˆ\ÝÔ$ f¨fÐ%5¸e¸WÐEÑEÔEðñ ô €Cõ  # s °3½¼°-Ð@Ð@ÑAÔA€Hà�XŠX�c E 7¸À&ˆXÑIÔI€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r+   c                  ó  — t          ddgddgdœt          j        ddgddggddg¬¦  «        ¬	¦  «        } t          ddgt          ddgd¬
¦  «        t          j        dgdgg¦  «        ¬¦  «        }t          j        t          j        j	        ¦  «        5  |  
                    ¦   «                              | 
                    ¦   «         d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          g d¢g d¢g d¢g d¢g d¢dœ¦  «        }t          j        |j        ¦  «        |_        t          j        ||¦  «         |  
                    ¦   «                              | 
                    ¦   «         dg¬¦  «        }t          j        ||¦  «         d S )Nr-   r   )©Úcolumn_1rb  ©Úcolumn_2rb  Ú
metadata_1Ú
metadata_2rV   Úmetadatar8  rx   r©   Únew_datarb  )r±  rV   r~   re   rÓ  )r  r  r  r  rÔ  )©rV   rb  )r  rb  rþ  r   )r  rb  r  )r   r   r?  r   r\  r]   r€  rŽ   r�   ÚPerformanceWarningr@  r   rS  r~   r^   )rE   r9   ra   rb   Úresult2s        r)   Ú'test_merge_multiindex_reset_index_mixedr	  ž  sú  € å	Ø˜q˜6°a¸°VÐ<Ð<ÝÔ$Ø�ˆV�l LÐ1Ð2¸7ÀJÐ:Oð
ñ 
ô 
ð
ñ 
ô 
€Bõ Ø�ˆVÝ�Q˜�F Ð)Ñ)Ô)ÝÔ'¨*¨¸°tÐ(<Ñ=Ô=ðñ ô €Cõ 
Ô	#¥B¤IÔ$@Ñ	AÔ	Að Gð GØ—’Ñ!Ô!×'Ò'¨¯ªÑ(9Ô(9¸gÐ'ÑFÔFˆðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gõ à'˜<˜<ØVÐVÐVØ*˜l˜lØ*˜l˜lØ*˜l˜lð	
ð 	
ñô €Hõ "Ô-¨hÔ.>Ñ?Ô?€HÔåÔ˜& (Ñ+Ô+Ð+à�nŠnÑÔ×$Ò$ S§_¢_Ñ%6Ô%6¸M¸?Ð$ÑKÔK€GÝÔ˜' 8Ñ,Ô,Ð,Ð,Ð,s   Â<CÃCÃ"CÚon_indexÚleft_uniqueÚleft_monotonicÚright_uniqueÚright_monotonicc                 óN  — | }ddg}|r|                      |rdnd¦  «         n|                      |rdnd¦  «         ddg}	|r|	                      |rdnd¦  «         n|	                      |rdnd¦  «         t          d|i¦  «        }t          d|	i¦  «        }	|r0|                     d¦  «        }|	                     d¦  «        }	dddœ}
nddi}
t          ||	f||d	œ|
¤Ž}|r(|                     ¦   «         }|	                     ¦   «         }	|d
v �r|dv r||	|}}}n|	||}}}|dk    r[t          |d         j        ¦  «                             |	d         j        ¦  «        }|d                              |¦  «        }||         }|r| 	                    d¦  «        }|s�|d          
                    ¦   «         }|                     |d         j        d¬¦  «        }|                     t          j        ¦  «        }|d                              |j        ¦  «        }|                     ¦   «         }nº|dk    r´|d          
                    ¦   «         }|	d          
                    ¦   «         }|                     |d¬¦  «        }|                     t          j        ¦  «        }|j        j                             |j        ¦  «        }t          d|i¦  «        }| 	                    d¦  «        }|r|                     d¦  «        }n|                     d¬¦  «        }t'          j        ||¦  «         d S )Nr   r3   r4   r-   rQ   TrX   rf   rU  )rS   rp   rƒ   )rS   rƒ   rƒ   )Ú
fill_valuer¨   rÄ  )Úappendr   rs   r   r@  Úsetr/  ÚintersectionÚisinrl  rš   r<  rm   r   Úintpr¯  rz  ÚmulrV   r]   r^   )rî   r{   r
  r  r  r  r  rz   rS   rp   Ú	on_kwargsra   rb   ÚotherÚother_uniqueÚkeep_valuesÚ	keep_maskÚother_value_countsÚrepeatsÚleft_countsÚright_countsÚexpected_countss                         r)   Útest_merge_combinationsr!  Á  sQ  € ð €Càˆqˆ6€DØð 0Ø�Š˜Ð.�A�A¨QÑ/Ô/Ð/Ð/à�Š˜Ð.�A�A¨QÑ/Ô/Ð/à�ˆF€EØð 2Ø�Š˜/Ð0�Q�Q¨qÑ1Ô1Ð1Ð1à�Š˜/Ð0�Q�Q¨qÑ1Ô1Ð1å�e˜T�]Ñ#Ô#€DÝ�u˜e�nÑ%Ô%€Eàð "Ø�~Š~˜eÑ$Ô$ˆØ—’ Ñ&Ô&ˆØ#'¸Ð=Ð=ˆ	ˆ	à˜5�Mˆ	å�4˜Ð@ C¨dÐ@Ð@°iÐ@Ð@€Fàð $Ø×ÒÑ!Ô!ˆØ×!Ò!Ñ#Ô#ˆà
Ð(Ð(Ñ(ØÐ#Ð#Ð#Ø,0°%¸˜\�eˆHˆHà,1°4¸˜\�eˆHØ�'Š>ˆ>Ý˜d 5œkÔ0Ñ1Ô1×>Ò>¸uÀU¼|Ô?RÑSÔSˆKØ  œ×,Ò,¨[Ñ9Ô9ˆIØ 	Ô*ˆHØð 	3Ø×+Ò+¨EÑ2Ô2ˆHØð 	+Ø!& u¤×!:Ò!:Ñ!<Ô!<ÐØ(×0Ò0°¸%´Ô1GÐTUÐ0ÑVÔVˆGØ—n’n¥R¤WÑ-Ô-ˆGØ ”×-Ò-¨g¬nÑ=Ô=ˆHØ×(Ò(Ñ*Ô*ˆHøØ	�ŠˆØ˜5”k×.Ò.Ñ0Ô0ˆØ˜U”|×0Ò0Ñ2Ô2ˆØ%Ÿ/š/¨,À1˜/ÑEÔEˆØ)×0Ò0µ´Ñ9Ô9ˆØ"Ô(Ô/×6Ò6°Ô7MÑNÔNˆÝ˜e XÐ.Ñ/Ô/ˆØ×'Ò'¨Ñ.Ô.ˆàð 3Ø×%Ò% eÑ,Ô,ˆˆà×'Ò'¨TÐ'Ñ2Ô2ˆåÔ˜& (Ñ+Ô+Ð+Ð+Ð+r+   c                  óV  — t          dt          j        gt          j        ¦   «         ¬¦  «        } t          dg¦  «        }t          dgd¬¦  «        }t	          j        t          d¬¦  «        5  |                      |¦  «        }d d d ¦  «         n# 1 swxY w Y   t	          j        ||¦  «         t	          j        t          d¬¦  «        5  |                     | ¦  «        }d d d ¦  «         n# 1 swxY w Y   t	          j        || 	                    d	¦  «        ¦  «         t          dg¦  «        }t          d
gdgd¬¦  «        }|                      |¦  «        }t	          j        ||¦  «         |                     | ¦  «        }t	          j        || 	                    d	¦  «        ¦  «         d S )Nr[  r[   rD  r   r  rÏ   zYou are mergingr‰   r  r-   )
r   rŽ   rP  Ú
Int64Dtyper]   r€  r�  r   r^   rm   rÊ  s       r)   Ú!test_merge_ea_int_and_float_numpyr$    sè  € å
�S�"œ%�L­¬©¬Ð
8Ñ
8Ô
8€CÝ
�S�EÑ
Ô
€CÝ ! ¨GÐ4Ñ4Ô4€Hå	Ô	#¥KÐ7HÐ	IÑ	IÔ	Ið  ð  Ø—’˜3‘”ˆð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  åÔ˜& (Ñ+Ô+Ð+å	Ô	#¥KÐ7HÐ	IÑ	IÔ	Ið  ð  Ø—’˜3‘”ˆð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  åÔ˜& (§/¢/°)Ñ"<Ô"<Ñ=Ô=Ð=å
�S�EÑ
Ô
€CÝ˜!˜ q c°Ð9Ñ9Ô9€HØ�YŠY�s‰^Œ^€FÝÔ˜& (Ñ+Ô+Ð+à�YŠY�s‰^Œ^€FÝÔ˜& (§/¢/°)Ñ"<Ô"<Ñ=Ô=Ð=Ð=Ð=s$   Á,BÂBÂBÃ	C+Ã+C/Ã2C/c                 óZ  — t          j        d¦  «         t          dddgi| ¬¦  «        }t          ddit          ddg| ¬¦  «        ¬¦  «        }|                     |ddd	¬
¦  «        }t          t          ddg| ¬¦  «        dt          j        gdœ¦  «        }t          j	        ||¦  «         d S )Nrñ  r.   r/   r[   r-   rL   rx   TrS   r„   r±   )
rŒ   rò  r   r   r   r   r   r­   r]   r^   )r   rS   rp   ra   rb   s        r)   Útest_merge_arrow_string_indexr&  &  s½   € å
Ô˜	Ñ"Ô"Ð"Ý�c˜C ˜:Ð&Ð.>Ð?Ñ?Ô?€DÝ�s˜A�h¥e¨S°#¨JÐ>NÐ&OÑ&OÔ&OÐPÑPÔP€EØ�ZŠZ˜ s¸À&ˆZÑIÔI€FÝÝ�c˜3�ZÐ'7Ð8Ñ8Ô8ÀÅ2Ä6¸{ÐKÐKñô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r+   rÀ  Úright_emptyc                 ó¤  — t          ddgddg¬¦  «        }t          ddgg d¢¬¦  «        }| r|j        d d…         }|r|j        d d…         }t          ||dgd¬¦  «        }t          dt          d¦  «        g d	¢¬¦  «        }| r|r|j        d d…         }n%| rt          j        |d<   n|rt          j        |d
dg<   t          j        ||¦  «         d S )Nr-   r   r^  r_  r¨  )r^  r_  rk  r¨   rÁ   )r^  r_  r_  rk  r_  rk  )r   r<  r   r   r   r­   r]   r^   )rÀ  r'  r8   r9   ra   rb   s         r)   Ú$test_merge_empty_frames_column_orderr)  2  s  € õ �A˜a˜S¨3°¨*Ð
5Ñ
5Ô
5€CÝ
�A˜a˜S¨/¨/¨/Ð
:Ñ
:Ô
:€Càð ØŒh�r˜�rŒlˆØð ØŒh�r˜�rŒlˆå�3˜  ¨7Ð3Ñ3Ô3€FÝ˜¥%¨¡(¤(Ð4HÐ4HÐ4HÐIÑIÔI€HØð &�kð &Ø”=  ! Ô$ˆˆØ	ð &Ýœˆ�‰ˆØ	ð &Ý!œvˆ�#�s�ÑÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r+   rz   )rS   rp   rƒ   r¨   c                 ó~  — t          dt          dd gd¬¦  «        i¦  «        }t          dt          dgd¬¦  «        i¦  «        }d|d         j        › d|d         j        › d�}t          j        t
          t          j        |¦  «        ¬	¦  «        5  |                     |d| ¬
¦  «         d d d ¦  «         n# 1 swxY w Y   d|d         j        › d|d         j        › d�}t          j        t
          t          j        |¦  «        ¬	¦  «        5  |                     |d| ¬
¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrQ   r-   zdatetime64[ns]r[   ztimedelta64[ns]r‘  r’  zG columns for key 'key'. If you wish to proceed you should use pd.concatr‰   rÁ   )	r   r   rW   rŒ   r�   r�   rI  rJ  r   )rz   rS   rp   r‘   s       r)   Ú!test_merge_datetime_and_timedeltar+  I  så  € å�e�V Q¨ IÐ5EÐFÑFÔFÐGÑHÔH€DÝ�u�f a SÐ0AÐBÑBÔBÐCÑDÔD€Eð	Q d¨5¤kÔ&7ð 	Qð 	Q¸eÀE¼lÔ>Pð 	Qð 	Qð 	Qð õ 
Œ•z­¬°3©¬Ð	8Ñ	8Ô	8ð -ð -Ø�
Š
�5˜U¨ˆ
Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð	Q e¨E¤lÔ&8ð 	Qð 	Q¸tÀE¼{Ô?Pð 	Qð 	Qð 	Qð õ 
Œ•z­¬°3©¬Ð	8Ñ	8Ô	8ð -ð -Ø�Š�D˜U¨ˆÑ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð -ð -s$   ÂB5Â5B9Â<B9ÄD2Ä2D6Ä9D6c                  óº  — t          g d¢t          j        t          j        t          j        gg d¢dœ¦  «        } t          g d¢t          j        t          j        t          j        gg d¢dœ¦  «        }|                      |ddgd¬¦  «        }t          g d¢t          j        t          j        t          j        gg d¢g d¢d	œ¦  «        }t	          j        ||¦  «         d S )
Nrü   rý   rõ   )rÕ   rÖ   ÚzzrÕ   rÖ   r¨   rÁ   )rÕ   rÖ   rö   r-  r.  rÇ  s       r)   Útest_merge_on_all_nan_columnr.  ]  sÇ   € å˜9˜9˜9­B¬FµB´F½B¼FÐ+CÈ)È)È)ÐTÐTÑUÔU€DÝ˜I˜I˜I­R¬VµR´V½R¼VÐ,DÈIÈIÈIÐVÐVÑWÔW€EØ�ZŠZ˜ 3¨ *°'ˆZÑ:Ô:€FåØˆiˆi�rœv¥r¤v­r¬vÐ6¸Y¸Y¸YÈiÈiÈiÐXÐXñô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r+   )rc  rb  c                 óè   — t          dgdgdœ¦  «        }t          dgdgdgdœ¦  «        }t          j        t          d¬¦  «        5  t	          ||d| ¬	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nr-   r   rÞ  r3   )r0   rß  Úcol2_dupzduplicate columnsr‰   r0   r–  r
  )ra  r8   r9   s      r)   Ú test_merge_for_suffix_collisionsr1  i  sË   € õ ˜a˜S¨1¨#Ð.Ð.Ñ
/Ô
/€CÝ
˜a˜S¨1¨#¸A¸3Ð?Ð?Ñ
@Ô
@€CÝ	Œ•zÐ)<Ð	=Ñ	=Ô	=ð 6ð 6Ýˆc�3˜6¨HÐ5Ñ5Ô5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6ð 6ð 6s   ÁA'Á'A+Á.A+c                  óü  — t          t          j        g d¢d¬¦  «        ¬¦  «        } t          t          j        g d¢d¬¦  «        ¬¦  «        }t          dt	          ddg| ¬¦  «        i¦  «        }t          dt	          dd	g|¬¦  «        i¦  «        }|                     |dd
¬¦  «        }|                     d¦  «                             |                     d¦  «        dd
¬¦  «        }t          j        ||¦  «         d S )Nrü   rU   r[   rÁ  r  rQ   r-   r   r3   r¨   rÁ   )	r	   r   r   r   r   r   rm   r]   r^   )ÚltÚrtrS   rp   ra   rb   s         r)   Ú$test_merge_categorical_key_recursionr5  r  sù   € å	¥R¤Z°	°	°	ÀÐ%IÑ%IÔ%IÐ	JÑ	JÔ	J€BÝ	¥R¤Z°	°	°	ÀÐ%KÑ%KÔ%KÐ	LÑ	LÔ	L€BÝ�e�V Q¨ F°"Ð5Ñ5Ô5Ð6Ñ7Ô7€DÝ�u�f a¨ V°2Ð6Ñ6Ô6Ð7Ñ8Ô8€Eà�ZŠZ˜ %¨WˆZÑ5Ô5€FØ�{Š{˜7Ñ#Ô#×)Ò)Ø�Š�YÑÔ E¨wð *ñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r+   c                  óú  — t          j        d¦  «         t          j        ddd¬¦  «        } t	          | g d¢dœ¦  «        }|                     d¬¦  «        }t	          |                      d	¦  «        g d
¢dœ¦  «        }|                     d¬¦  «        }t          ||dd¬¦  «        }t	          |                      d	¦  «        g d¢g d
¢dœ¦  «        }|                     d¬¦  «        }t          j	        ||¦  «         d S )Nrñ  z
2025-07-06r3   rß   r¦  rü   )ÚtimeÚval1)Údtype_backendr   )rG   rÆ   é   r2  r   rp  )r7  Úval2r7  rS   rÁ   )r-   r-   r   r   r3   r3   )r7  r8  r;  )
rŒ   rò  rŽ   rŽ  r   Úconvert_dtypesr¯  r   r]   r^   )rX  r8   r9   ra   rb   s        r)   Ú&test_merge_pyarrow_datetime_duplicatesr=  €  s  € å
Ô˜	Ñ"Ô"Ð"å
Œ�l¨A°CÐ8Ñ8Ô8€AÝ
˜Q¨	¨	¨	Ð2Ð2Ñ
3Ô
3€CØ
×
Ò
¨9Ð
Ñ
5Ô
5€Cå
˜QŸXšX a™[œ[Ð2JÐ2JÐ2JÐKÐKÑ
LÔ
L€CØ
×
Ò
¨9Ð
Ñ
5Ô
5€Cå�3˜ ¨FÐ3Ñ3Ô3€Fåà—H’H˜Q‘K”KØ&Ð&Ð&Ø,Ð,Ð,ð	
ð 	
ñô €Hð ×&Ò&°YÐ&Ñ?Ô?€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r+   c                  óü   — t          dg d¢i¦  «        } t          dg d¢i¦  «        }t          j        t          j        j        ¦  «        5  |                      |ddd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrû  rü   )r   r3   r4   T)ry   r|   rZ   )r   rŒ   r�   rŽ   r�   r   r   r7   s     r)   Ú#test_merge_right_on_and_right_indexr?  ˜  sÕ   € Ý
�U˜I˜I˜IÐ&Ñ
'Ô
'€CÝ
�U˜I˜I˜IÐ&Ñ
'Ô
'€Cå	Œ•r”yÔ+Ñ	,Ô	,ð Hð HØ�	Š	�#˜u¨uÀ$ˆ	ÑGÔGÐGðHð Hð Hñ Hô Hð Hð Hð Hð Hð Hð Hð Høøøð Hð Hð Hð Hð Hð Hs   Á
A1Á1A5Á8A5)r   r   )_r   r   r   rI  Únumpyr   rŒ   Úpandas.compatr   Úpandas.core.dtypes.commonr   r   Úpandas.core.dtypes.dtypesr	   ÚpandasrŽ   r
   r   r   r   r   r   r   r   r   r   r   Úpandas._testingÚ_testingr]   Úpandas.core.reshape.concatr   Úpandas.core.reshape.merger   r   r*   rL  r:   r<   rá   rX  rS   rp   rØ  rE  rM  rN  rR  rZ  r^  r`  ro  r­   rx  r|  r€  ÚTWO_GOT_THREEÚtuplerƒ  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+  r.  r1  r5  r=  r?  rK  r+   r)   ú<module>rK     s   ððð ð ð ð ð ð ð ð ð ð
 
€	€	€	à Ð Ð Ð Ø €€€à Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð 7Ð 6Ð 6Ð 6Ð 6Ð 6à Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð Ø -Ð -Ð -Ð -Ð -Ð -ðð ð ð ð ð ð ð ðð ð ð ð „ð	ð 	ñ „ð	ðd+ð d+ð d+ð d+ð d+ñ d+ô d+ð d+ðN-	Gð 	Gð 	GðKGð KGð KGð KGð KGñ KGô KGð KGð\ „ðð ñ „ðð „ðð ñ „ððr0ð r0ð r0ð r0ð r0ñ r0ô r0ð r0ðj	60ð 60ð 60ð 60ð 60ñ 60ô 60ð 60ðr „×ÒØðð àÔ,ðñ ô ð
 	Ð˜˜˜°_°_°_È;ÐWÑWÔWØˆ
˜ ¨Ð5Ñ5Ô5ØˆÐ@Ð@Ð@À{ÐSÑSÔSðñ	ð 	3Ð2ð ñ ô ð,ð ,ñô ð,ð „×ÒØ3à
�7Ð	˜T 4¨°°sÐ;Ø+Ø	�˜Ð! 4¨°°cÐ:Ø	ˆt�g˜wÐ'¨¨u°cÐ:Ø
�7Ð	˜T 4¨°°tÐ<Ø,Ø	�˜Ð! 4¨°°dÐ;Ø	ˆt�g˜wÐ'¨¨u°dÐ;ð	ñô ð%ð %ñô ð%ðP+ð +ð +ð$ „×ÒØ'à	
ˆA�
˜LÐ)¨C°¨>Ð:Ø	
ˆA�
˜NÐ+¨a°¨\Ð:Ø	
ˆA�
˜LÐ)¨E°5¨>Ð:Ø	
ˆA�
˜T 4˜LÐ)¨E°5¨>Ð:Ø	ˆa�*˜lÐ+¨c°1¨XÐ6Ø	ˆc�J Ð-°¸¨~Ð>Ø	ˆc�J Ð-°°U¨|Ð<Ø	ˆc�J Ð-°°s¨|Ð<Ø	ˆc�J Ð-°°S¨zÐ:Ø	ˆc�J Ð-°°U¨|Ð<Ø	
ˆA�
˜LÐ)¨E°1¨:Ð6Ø	ˆc�2˜˜u�~Ð&Ø	
ˆAˆr�E˜5�>Ð"ðñô ð$,ð ,ñ%ô ð$,ð „×ÒØð Ø!�/�/¨"¨b°"´&Ð)9ÀÀÀÐQÐQð	
ð
 à'Ð'Ð'Ø˜2˜r 2¤6Ð*Ø”v˜s C¨Ð-ðð ð	
ðñô ð",ð ,ñ#ô ð",ð „×ÒØØJÐJÐJñô ðJð Jñ	ô ðJð „×Ò˜ v¨wÐ&7À!ÈaÐ9PÐ9PÐ%QÑRÔRðJð Jñ SÔRðJð $Ð,�
�
¨€ð „×ÒØð ØØØG°mÐGÐGÐGð		
ð 
ˆc�5�5˜‘:”:ÐSÐTðñô ðJð Jñô ðJð „×Ò˜ u¨e nÑ5Ô5Ø„×Ò˜ T¨5 MÑ2Ô2ð ,ð  ,ñ 3Ô2ñ 6Ô5ð ,ðF,ð ,ð ,ð,,ð ,ð ,ð?ð ?ð ?ð<,ð ,ð ,ð" „×Ò˜¨!¨S¨Ñ2Ô2ð,ð ,ñ 3Ô2ð,ð*5,ð 5,ð 5,ðp „×Ò˜ '¨<Ð!8Ñ9Ô9Ø„×ÒØà¨Ð	-Ð	-°	¸<Ð/HÐIØ¨$Ð	/Ð	/°*¸mÐ1LÐMðñô ð1ð 1ñô ñ :Ô9ð1ð „×Ò˜ '¨<Ð!8Ñ9Ô9Ø„×ÒØà
�SÐ	˜J¨Ð6Ð7Ø
�cÐ	˜Y¨Ð5Ð6ðñô ð1ð 1ñô ñ :Ô9ð1ð „×Ò˜ '¨<Ð!8Ñ9Ô9Ø„×ÒØà	˜ÐØ	�tÐðñô ð	9ð 	9ñô ñ :Ô9ð	9ð,ð ,ð ,ð"	,ð 	,ð 	,ð	:ð 	:ð 	:ð,ð ,ð ,ð#ð #ð #ð,ð ,ð ,ð5ð 5ð 5ð	)ð 	)ð 	)ð „×Ò˜ 4¨ /Ñ2Ô2ð,ð ,ñ 3Ô2ð,ð:,ð ,ð ,ð,ð ,ð ,ð,ð ,ð ,ð „×Ò˜ 7Ð,<Ð"=Ñ>Ô>ð,ð ,ñ ?Ô>ð,ð „×Ò˜ Ð&7Ð8Ñ9Ô9ð,ð ,ñ :Ô9ð,ð2
,ð 
,ð 
,ð -ð  -ð  -ðF „×Ò˜ d¨E ]Ñ3Ô3Ø„×Ò˜¨¨u¨Ñ6Ô6Ø„×ÒÐ)¨D°%¨=Ñ9Ô9Ø„×Ò˜¨$°¨Ñ7Ô7Ø„×ÒÐ*¨T°5¨MÑ:Ô:ðF,ð F,ñ ;Ô:ñ 8Ô7ñ :Ô9ñ 7Ô6ñ 4Ô3ð
F,ðR>ð >ð >ð.	,ð 	,ð 	,ð „×Ò˜¨¨e }Ñ5Ô5Ø„×Ò˜¨¨u¨Ñ6Ô6ð,ð ,ñ 7Ô6ñ 6Ô5ð,ð* „×Ò˜Ð CÐ CÐ CÑDÔDð-ð -ñ EÔDð-ð&	,ð 	,ð 	,ð „×Ò˜ l°LÐ%AÑBÔBð6ð 6ñ CÔBð6ð,ð ,ð ,ð,ð ,ð ,ð0Hð Hð Hð Hð Hr+   