§
    â! hÂ’  ã                   ó¾  — d dl Z d dlZd dlZd dlmc 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 d dlmZ d0d„Z G d„ d¦  «        Zd1d„Zd„ Zd„ Zd„ Zd2d„Zd„ Zej                              ddddgfdddgfg¦  «        d„ ¦   «         Z!d„ Z"ej                              dddgg d¢fddgg d¢fdd gg d!¢f ed"¦  «         ed#¦  «        g ed"¦  «         ed#¦  «         ed#¦  «        gfg¦  «        d$„ ¦   «         Z#ej                              d%g d&¢¦  «        d'„ ¦   «         Z$d(„ Z%ej                              d)d*g d+¢fd,g d+¢fdg d+¢fd-g d.¢fg¦  «        d/„ ¦   «         Z&dS )3é    N)
ÚCategoricalÚ	DataFrameÚIndexÚ
MultiIndexÚSeriesÚ	TimestampÚbdate_rangeÚconcatÚmergeÚoption_contexté   é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:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\pandas/tests/reshape/merge/test_join.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            
       óº  — 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ej                             d
d ej        d ej        d¦  «        ¬¦  «        g¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zej                             dddd ej        ddg¦  «        g¦  «        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 ej        d ej        d¦  «        ¬¦  «        g¦  «        d)„ ¦   «         Z)d*„ Z*d+„ Z+d,„ Z,d-„ Z-d.„ Z.d/„ Z/d0„ Z0d1„ Z1d2„ Z2d3„ Z3dS )4ÚTestJoinc                 ó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   Ústandard_normal)ÚselfÚdfs     r   r,   zTestJoin.df%   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   é   )r   r   r   )r$   r%   Úvaluer)   )r+   s    r   Údf2zTestJoin.df24   s]   € åå%¨Ð+Ñ+Ô+Ý%¨a°2Ð6Ñ6Ô6Ýœ×.Ò.¨qÑ1Ô1×AÒAÀ"ÑEÔEðð ñ
ô 
ð 	
r    c                 óÜ   — g d¢g d¢g d¢t          dd¬¦  «        dœ}t          |t          g d¢t          ¬	¦  «        ¬
¦  «        }t          |d         |d         dœ|d         ¬
¦  «        }||fS )N)ç        ç      ð?g       @g      @g      @)r3   r4   r3   r4   r3   )Úfoo1Úfoo2Úfoo3Úfoo4Úfoo5z1/1/2009é   )Úperiods©ÚAÚBÚCÚD)ÚaÚbÚcÚdÚe©Údtype©Úindexr=   r@   )ÚMergedAÚMergedDr?   )r	   r   r   Úobject)r+   ÚdataÚtargetÚsources       r   Útarget_sourcezTestJoin.target_source>   sž   € ð +Ð*Ð*Ø*Ð*Ð*Ø9Ð9Ð9Ý˜Z°Ð3Ñ3Ô3ð	
ð 
ˆõ ˜4¥uÐ-FÐ-FÐ-FÍfÐ'UÑ'UÔ'UÐVÑVÔVˆõ Ø˜Sœ	¨d°3¬iÐ8Ð8ÀÀSÄ	ð
ñ 
ô 
ˆð �vˆ~Ðr    c                 ó    — t          ||d¬¦  «        }t          |||dgd¬¦  «         t          ||¦  «        }t          |||ddgd¬¦  «         d S )Nr%   ©ÚonÚleft©Úhowr$   ©r   Ú_check_join©r+   r,   r1   Újoined_key2Újoined_boths        r   Útest_left_outer_joinzTestJoin.test_left_outer_joinO   sb   € Ý˜B ¨Ð/Ñ/Ô/ˆÝ�B˜˜[¨6¨(¸Ð?Ñ?Ô?Ð?å˜B ‘n”nˆÝ�B˜˜[¨6°6Ð*:ÀÐGÑGÔGÐGÐGÐGr    c                 ó¦   — t          ||dd¬¦  «        }t          |||dgd¬¦  «         t          ||d¬¦  «        }t          |||ddgd¬¦  «         d S )Nr%   Úright©rS   rV   rU   r$   rW   rY   s        r   Útest_right_outer_joinzTestJoin.test_right_outer_joinV   ók   € Ý˜B ¨°GÐ<Ñ<Ô<ˆÝ�B˜˜[¨6¨(¸Ð@Ñ@Ô@Ð@å˜B ¨Ð1Ñ1Ô1ˆÝ�B˜˜[¨6°6Ð*:ÀÐHÑHÔHÐHÐHÐHr    c                 ó¦   — t          ||dd¬¦  «        }t          |||dgd¬¦  «         t          ||d¬¦  «        }t          |||ddgd¬¦  «         d S )Nr%   Úouterr_   rU   r$   rW   rY   s        r   Útest_full_outer_joinzTestJoin.test_full_outer_join]   ra   r    c                 ó¦   — t          ||dd¬¦  «        }t          |||dgd¬¦  «         t          ||d¬¦  «        }t          |||ddgd¬¦  «         d S )Nr%   Úinnerr_   rU   r$   rW   rY   s        r   Útest_inner_joinzTestJoin.test_inner_joind   ra   r    c                 óD   — t          ||dd¬¦  «        }d|v sJ ‚d|v sJ ‚d S )Nr%   ©z.fooz.bar)rS   Úsuffixesúkey1.foozkey1.bar©r   ©r+   r,   r1   Újoineds       r   Útest_handle_overlapzTestJoin.test_handle_overlapk   sA   € Ý�r˜3 6Ð4DÐEÑEÔEˆà˜VÐ#Ð#Ð#Ð#Ø˜VÐ#Ð#Ð#Ð#Ð#Ð#r    c                 óF   — t          ||ddd¬¦  «        }d|v sJ ‚d|v sJ ‚d S )Nr%   r$   ri   )Úleft_onÚright_onrj   rk   zkey2.barrl   rm   s       r   Ú!test_handle_overlap_arbitrary_keyz*TestJoin.test_handle_overlap_arbitrary_keyq   sO   € ÝØØØØØ%ð
ñ 
ô 
ˆð ˜VÐ#Ð#Ð#Ð#Ø˜VÐ#Ð#Ð#Ð#Ð#Ð#r    Úinfer_stringFTÚpyarrow)Úmarksc                 óv  — |\  }}|                      |d¬¦  «        }t          j        |d         |d         d¬¦  «         t          j        |d         |d         d¬¦  «         t          d	g d
¢i¦  «        }t          dg d¢ig d¢¬¦  «        }|                      |d	¬¦  «        }t          g d
¢g d¢dœ¦  «        }	t          j        ||	¦  «         t          dgdgdggg d¢dg¬¦  «        }
t          dgdggddgdg¬¦  «        }t          dgdggddgdg¬¦  «        }|
                      |d¬¦  «        }|                      |d¬¦  «        }t          j        |d         d         ¦  «        sJ ‚t          j        |d         d         ¦  «        sJ ‚t          j        t          d¬¦  «        5  |                      |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   | 
                    ¦   «         }d}t          j        t          |¬¦  «        5  |                      |d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr?   rR   rJ   r=   F)Úcheck_namesrK   r@   Úkey©rA   rA   rB   rB   rC   r0   ©r   r(   r   ©rA   rB   rC   rH   )r   r   r(   r(   r   ©ry   r0   r(   r   é   Úone©rI   ÚcolumnsÚfooÚbarÚtwoÚthreerC   z^'E'$©ÚmatchÚEzyYou are trying to merge on float64 and object|string columns for key 'A'. If you wish to proceed you should use pd.concat)ÚjoinÚtmÚassert_series_equalr   Úassert_frame_equalr   ÚisnanÚpytestÚraisesÚKeyErrorÚcopyÚ
ValueError)r+   rP   rt   rN   rO   Úmergedr,   r1   rn   ÚexpectedÚdf_aÚdf_bÚdf_cÚsource_copyÚmsgs                  r   Útest_join_onzTestJoin.test_join_on|   sî  € ð '‰ˆ�à—’˜V¨�Ñ,Ô,ˆÝ
Ô˜v iÔ0°&¸´+È5ÐQÑQÔQÐQÝ
Ô˜v iÔ0°&¸´+È5ÐQÑQÔQÐQõ ˜Ð8Ð8Ð8Ð9Ñ:Ô:ˆÝ˜ ) ) )Ð,°O°O°OÐDÑDÔDˆØ—’˜ �Ñ'Ô'ˆÝØ-Ð-Ð-¸¸¸ÐHÐHñ
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/õ ˜1˜# ˜s Q C˜°°°È%ÈÐQÑQÔQˆÝ˜5˜' E 7Ð+°A°q°6ÀEÀ7ÐKÑKÔKˆÝ˜1˜# ˜s˜¨A¨q¨6¸G¸9ÐEÑEÔEˆØ—’˜4 E�Ñ*Ô*ˆØ—’˜T e�Ñ,Ô,ˆÝŒx˜˜uœ cÔ*Ñ+Ô+Ð+Ð+Ð+ÝŒx˜˜wœ¨Ô,Ñ-Ô-Ð-Ð-Ð-õ Œ]�8¨7Ð3Ñ3Ô3ð 	(ð 	(Ø�KŠK˜ 3ˆKÑ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð —k’k‘m”mˆðCð 	õ Œ]�:¨SÐ1Ñ1Ô1ð 	-ð 	-Ø�KŠK˜¨ˆKÑ,Ô,Ð,ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-ð 	-ð 	-s$   Æ)GÇGÇGÈ	H.È.H2È5H2c                 óº  — t          t          j                             d¦  «                             ddgd¬¦  «        t          j                             d¦  «                             d¦  «        dœ¦  «        }t          t          j                             d¦  «                             ddgd¬¦  «        t          j                             d¦  «                             d¦  «        dœt          j        t          d¦  «        d	d
gg¦  «        ¬¦  «        }d}t          j
        t          |¬¦  «        5  t          ||dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   ÚmÚfr~   ©Úsize©rA   rB   r.   r:   r=   r>   rH   úFlen\(left_on\) must equal the number of levels in the index of "right"r†   rA   T©rq   Úright_index©r   r   r   r   Úchoicer*   r   Úfrom_productr   rŽ   r�   r’   r   ©r+   r,   r1   r™   s       r   Ú-test_join_on_fails_with_different_right_indexz6TestJoin.test_join_on_fails_with_different_right_index¥   sˆ  € Ýå”Y×*Ò*¨1Ñ-Ô-×4Ò4°c¸3°ZÀaÐ4ÑHÔHÝ”Y×*Ò*¨1Ñ-Ô-×=Ò=¸aÑ@Ô@ðð ñ
ô 
ˆõ å”Y×*Ò*¨1Ñ-Ô-×4Ò4°c¸3°ZÀbÐ4ÑIÔIÝ”Y×*Ò*¨1Ñ-Ô-×=Ò=¸bÑAÔAðð õ Ô)­5°©8¬8°c¸3°ZÐ*@ÑAÔAð
ñ 
ô 
ˆð XˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	:ð 	:Ý�"�c 3°DÐ9Ñ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð 	:ð 	:s   Ä/EÅEÅEc           	      óÐ  — t          t          j                             d¦  «                             ddgd¬¦  «        t          j                             d¦  «                             d¦  «        dœt          j        t          d¦  «        t          d¦  «        g¦  «        ¬¦  «        }t          t          j                             d¦  «                             ddgd	¬¦  «        t          j                             d¦  «                             d	¦  «        dœ¦  «        }d
}t          j        t          |¬¦  «        5  t          ||dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   rœ   r�   r~   rž   r    ÚabcrH   r.   zFlen\(right_on\) must equal the number of levels in the index of "left"r†   rB   T)rr   Ú
left_index)r   r   r   r   r¥   r*   r   Úfrom_arraysr   r   rŽ   r�   r’   r   r§   s       r   Ú,test_join_on_fails_with_different_left_indexz5TestJoin.test_join_on_fails_with_different_left_index·   sŠ  € Ýå”Y×*Ò*¨1Ñ-Ô-×4Ò4°c¸3°ZÀaÐ4ÑHÔHÝ”Y×*Ò*¨1Ñ-Ô-×=Ò=¸aÑ@Ô@ðð õ Ô(­%°©(¬(µD¸±K´KÐ)@ÑAÔAð
ñ 
ô 
ˆõ å”Y×*Ò*¨1Ñ-Ô-×4Ò4°c¸3°ZÀbÐ4ÑIÔIÝ”Y×*Ò*¨1Ñ-Ô-×=Ò=¸bÑAÔAðð ñ
ô 
ˆð XˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	:ð 	:Ý�"�c C°DÐ9Ñ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð 	:ð 	:s   Ä:EÅEÅ"Ec                 ó¾  — t          t          j                             d¦  «                             ddgd¬¦  «        t          j                             d¦  «                             d¦  «        dœ¦  «        }t          t          j                             d¦  «                             ddgd¬¦  «        t          j                             d¦  «                             d¦  «        dœt          j        t          d¦  «        d	d
gg¦  «        ¬¦  «        }d}t          j
        t          |¬¦  «        5  t          ||d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:   r=   r>   rH   z)len\(right_on\) must equal len\(left_on\)r†   rA   rB   )rr   rq   r¤   r§   s       r   Ú/test_join_on_fails_with_different_column_countsz8TestJoin.test_join_on_fails_with_different_column_countsÉ   s‹  € Ýå”Y×*Ò*¨1Ñ-Ô-×4Ò4°c¸3°ZÀaÐ4ÑHÔHÝ”Y×*Ò*¨1Ñ-Ô-×=Ò=¸aÑ@Ô@ðð ñ
ô 
ˆõ å”Y×*Ò*¨1Ñ-Ô-×4Ò4°c¸3°ZÀbÐ4ÑIÔIÝ”Y×*Ò*¨1Ñ-Ô-×=Ò=¸bÑAÔAðð õ Ô)­5°©8¬8°c¸3°ZÐ*@ÑAÔAð
ñ 
ô 
ˆð ;ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	=ð 	=Ý�"�c C°#°s°Ð<Ñ<Ô<Ð<ð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=ð 	=ð 	=s   Ä/EÅEÅEÚ
wrong_typer   ÚstrNr   r(   c                 ól  — t          dddgi¦  «        }dt          |¦  «        › d�}t          j        t          |¬¦  «        5  t          ||dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          ||dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrA   r(   z.Can only merge Series or DataFrame objects, a z was passedr†   )rq   rr   )r   ÚtyperŽ   r�   Ú	TypeErrorr   )r+   r°   r,   r™   s       r   Ú)test_join_on_fails_with_wrong_object_typez2TestJoin.test_join_on_fails_with_wrong_object_typeÛ   sP  € õ ˜˜a ˜V�}Ñ%Ô%ˆð/Ý�jÑ!Ô!ð/ð /ð /ð 	õ Œ]�9¨CÐ0Ñ0Ô0ð 	=ð 	=Ý�*˜b¨#¸Ð<Ñ<Ô<Ð<ð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=åŒ]�9¨CÐ0Ñ0Ô0ð 	=ð 	=Ý�"�j¨#¸Ð<Ñ<Ô<Ð<ð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=ð 	=ð 	=s$   ÁA"Á"A&Á)A&ÂB)Â)B-Â0B-c                 ó  — |\  }}|                      |d¬¦  «        }|                     ddi¬¦  «        }|g d¢         }|                     d¦  «        }|                      ||¬¦  «        }t          j        ||¦  «         d S )Nr?   rR   Úkey_0©r�   )r·   r=   r>   r@   rJ   rK   )r‰   ÚrenameÚpoprŠ   rŒ   )r+   rP   rN   rO   r”   Újoin_colÚresults          r   Útest_join_on_pass_vectorz!TestJoin.test_join_on_pass_vectorì   s…   € Ø&‰ˆ�Ø—;’;˜v¨#�;Ñ.Ô.ˆØ—?’?¨C°¨>�?Ñ:Ô:ˆØÐJÐJÐJÔKˆà—:’:˜c‘?”?ˆØ—’˜V¨�Ñ1Ô1ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 ó”  — |\  }}|                      |                     g ¦  «        d¬¦  «        }|D ]6}||v sJ ‚||                              ¦   «                              ¦   «         sJ ‚Œ7|                      |                     g ¦  «        dd¬¦  «        }t	          j        |j        |j        ¦  «         t          |¦  «        dk    sJ ‚d S )Nr?   rR   rf   r_   r   )r‰   ÚreindexÚisnaÚallrŠ   Úassert_index_equalr�   r   )r+   rP   rN   rO   r“   ÚcolÚmerged2s          r   Útest_join_with_len0zTestJoin.test_join_with_len0ö   sÊ   € à&‰ˆ�Ø—’˜VŸ^š^¨BÑ/Ô/°C�Ñ8Ô8ˆØð 	,ð 	,ˆCØ˜&�=�=�=�=Ø˜#”;×#Ò#Ñ%Ô%×)Ò)Ñ+Ô+Ð+Ð+Ð+Ð+à—+’+˜fŸnšn¨RÑ0Ô0°S¸g�+ÑFÔFˆÝ
Ô˜gœo¨v¬~Ñ>Ô>Ð>Ý�7‰|Œ|˜qÒ Ð Ð Ð Ð Ð r    c                 ó¾  — t          dg d¢i¦  «        }t          dddgiddg¬¦  «        }|                     |dd	¬
¦  «        }|                     |d¬¦  «        }||d                              ¦   «                  }t          j        |d         |d         ¦  «         t          j        |d         |d         d¬¦  «         t          j        |j        |j        ¦  «         d S )Nry   )rA   rA   rD   rB   rB   rC   r0   r   r(   rA   rB   rH   rf   r_   rR   F)Úcheck_dtype)r   r‰   ÚnotnarŠ   r‹   rÂ   rI   ©r+   r,   r1   rn   r”   s        r   Útest_join_on_innerzTestJoin.test_join_on_inner  sÚ   € Ý˜Ð=Ð=Ð=Ð>Ñ?Ô?ˆÝ˜ 1 a &Ð)°#°s°Ð<Ñ<Ô<ˆà—’˜ ¨G�Ñ4Ô4ˆà—7’7˜3 5�7Ñ)Ô)ˆØ˜H WÔ-×3Ò3Ñ5Ô5Ô6ˆÝ
Ô˜v eœ}¨h°u¬oÑ>Ô>Ð>Ý
Ô˜v gœ°¸Ô0AÈuÐUÑUÔUÐUÝ
Ô˜fœl¨H¬NÑ;Ô;Ð;Ð;Ð;r    c                 óâ   — t          dg d¢i¦  «        }t          dg d¢ig d¢¬¦  «        }|                     |dg¬¦  «        }|                     |d¬¦  «        }t          j        ||¦  «         d S )Nry   rz   r0   r{   r|   rH   rR   ©r   r‰   rŠ   rŒ   rÉ   s        r   Útest_join_on_singlekey_listz$TestJoin.test_join_on_singlekey_list  s�   € Ý˜Ð8Ð8Ð8Ð9Ñ:Ô:ˆÝ˜ ) ) )Ð,°O°O°OÐDÑDÔDˆð —’˜ % �Ñ)Ô)ˆØ—7’7˜3 5�7Ñ)Ô)ˆå
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 ó°   — |\  }}|                      |d         d¬¦  «        }|                      |dg         d¬¦  «        }t          j        ||¦  «         d S )NrJ   r?   rR   ©r‰   rŠ   rŒ   )r+   rP   rN   rO   r¼   r”   s         r   Útest_join_on_serieszTestJoin.test_join_on_series  sZ   € Ø&‰ˆ�Ø—’˜V IÔ.°3�Ñ7Ô7ˆØ—;’;˜v y kÔ2°s�;Ñ;Ô;ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 óæ   — t          dddgi¦  «        }t          dgdgd¬¦  «        }|                     |d¬¦  «        }t          ddgddgdœ|j        ¬¦  «        }t	          j        ||¦  «         d S )	NrA   r(   r   rB   ©rI   ÚnamerR   r    rH   )r   r   r‰   rI   rŠ   rŒ   )r+   r,   Údsr¼   r”   s        r   Útest_join_on_series_bugletz#TestJoin.test_join_on_series_buglet  s�   € å˜˜a ˜V�}Ñ%Ô%ˆÝ�Q�C ˜s¨Ð-Ñ-Ô-ˆØ—’˜ �Ñ$Ô$ˆÝ A q 6°°A°Ð7Ð7¸r¼xÐHÑHÔHˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 ó°  — t          t          j        d¦  «        ¬¦  «        }d|d<   d|d<   t          t          j        dd¦  «        ¬¦  «        }d	|d
<   d|d<   |                     ||¬¦  «        }t	          |||¬¦  «        }t          j        ||¦  «         |                     ||¬¦  «        }t	          |||¬¦  «        }t          j        ||¦  «         d S )Nr.   rH   TÚboolr‚   Ústringr:   é   r(   Úintr4   ÚfloatrU   )r   r   Úaranger‰   Ú_join_by_handrŠ   rŒ   )r+   Ú	join_typeÚdf1r1   rn   r”   s         r   Útest_join_index_mixedzTestJoin.test_join_index_mixed&  sØ   € å�bœi¨™mœmÐ,Ñ,Ô,ˆØˆˆF‰ØˆˆH‰å�bœi¨¨2Ñ.Ô.Ð/Ñ/Ô/ˆØˆˆE‰
ØˆˆG‰à—’˜# 9�Ñ-Ô-ˆÝ   c¨yÐ9Ñ9Ô9ˆÝ
Ô˜f hÑ/Ô/Ð/à—’˜# 9�Ñ-Ô-ˆÝ   c¨yÐ9Ñ9Ô9ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 óè  — t          dddddœt          j        d¦  «        g d¢¬¦  «        }|d         j        t          j        k    sJ ‚|d	         j        t          j        k    sJ ‚t          dddddœt          j        d
dd¦  «        g d¢¬¦  «        }|                     |dd¬¦  «        }g d¢}|d d…         |_        |dd …         |_        t          ||¦  «        }t          j
        ||¦  «         d S )Nr4   r   r‚   Tr<   r.   r€   r>   r@   r   Ú_oneÚ_two©ÚlsuffixÚrsuffix)ÚA_oneÚB_oneÚC_oneÚD_oneÚA_twoÚB_twoÚC_twoÚD_twor/   )r   r   rÜ   rG   Úint64Úbool_r‰   r�   rÝ   rŠ   rŒ   )r+   rß   r1   rn   Úexpected_columnsr”   s         r   Útest_join_index_mixed_overlapz&TestJoin.test_join_index_mixed_overlap8  s  € ÝØ˜A E°Ð5Ð5Ý”)˜B‘-”-Ø(Ð(Ð(ð
ñ 
ô 
ˆð
 �3ŒxŒ~¥¤Ò)Ð)Ð)Ð)Ø�3ŒxŒ~¥¤Ò)Ð)Ð)Ð)åØ˜A E°Ð5Ð5Ý”)˜A˜r 1Ñ%Ô%Ø(Ð(Ð(ð
ñ 
ô 
ˆð —’˜# v°v�Ñ>Ô>ˆð	
ð 	
ð 	
Ðð ' r¨ rÔ*ˆŒØ& q r rÔ*ˆŒÝ   cÑ*Ô*ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 óv   — t          ¦   «         }|                     t          dgdgdg¬¦  «        d¬¦  «         d S )Nr~   r   r=   r€   rc   rU   )r   r‰   )r+   Úxs     r   Útest_join_empty_bugzTestJoin.test_join_empty_bugX  s<   € å‰KŒKˆØ	�Š�y˜!˜ Q C°#°Ð7Ñ7Ô7¸WˆÑEÔEÐEÐEÐEr    c                 óì  — t          t          j                             d¦  «                             d¦  «        ddg¬¦  «        }t          t          j                             d¦  «                             d¦  «        ¦  «        }||d<   t          t          j                             d¦  «                             d¦  «        d	g¬¦  «        }|                     |¦  «         |                     |¦  «         d S )
Nr   )é   r   rA   rB   r¸   r÷   rC   )r÷   r(   Úq)r   r   r   r   r*   r   r‰   )r+   rA   rC   rD   s       r   Útest_join_unconsolidatedz!TestJoin.test_join_unconsolidated]  sË   € åÝŒI×!Ò! !Ñ$Ô$×4Ò4°WÑ=Ô=ÈÈSÀzð
ñ 
ô 
ˆõ •2”9×(Ò(¨Ñ+Ô+×;Ò;¸BÑ?Ô?Ñ@Ô@ˆØˆˆ#‰Ý•b”i×+Ò+¨AÑ.Ô.×>Ò>¸wÑGÔGÐRUÐQVÐWÑWÔWˆð 	
�Šˆq‰	Œ	ˆ	Ø	�Šˆq‰	Œ	ˆ	ˆ	ˆ	r    c                 ó‚  — t          j        g d¢g d¢gddg¬¦  «        }t          j        g d¢g d¢gddg¬¦  «        }t          t          j                             d¦  «                             d¦  «        |d	g¬
¦  «        }t          t          j                             d¦  «                             d¦  «        |dg¬
¦  «        }|                     d¬¦  «        }|                     d¬¦  «        }|                     |d¬¦  «        }t          |j
        ¦  «                             t          |j
        ¦  «        ¦  «        }|                     |¦  «                             |                     |¦  «        ¦  «        }|j        |j        _        t          j        ||¦  «         |j        j        |j        k    sJ ‚|                     d¬¦  «        }|                     d¬¦  «        }|                     |d¬¦  «                             d¬¦  «        }t          |j
        ¦  «                             t          |j
        ¦  «        ¦  «        }|                     |¦  «                             |                     |¦  «        ¦  «        }|j        |j        _        t          j        ||¦  «         |j        j        |j        k    sJ ‚d S )N)rA   rA   rA   rB   rB   rB   )r(   r   r~   r(   r   r~   ÚfirstÚsecond©Únames)rB   rB   rB   rC   rC   rC   r   é   zvar X)rM   rI   r�   zvar Yr   )Úlevelrc   rU   r(   )r   r¬   r   r   r   r   r*   Ú
sort_indexr‰   r   ÚvaluesÚunionr¿   rþ   rI   rŠ   rŒ   )r+   Úindex1Úindex2rß   r1   rn   Úex_indexr”   s           r   Útest_join_multiindexzTestJoin.test_join_multiindexj  s‹  € ÝÔ'Ø+Ð+Ð+Ð-?Ð-?Ð-?Ð@Ø˜HÐ%ð
ñ 
ô 
ˆõ
 Ô'Ø+Ð+Ð+Ð-?Ð-?Ð-?Ð@Ø˜HÐ%ð
ñ 
ô 
ˆõ
 Ý”×&Ò& qÑ)Ô)×9Ò9¸!Ñ<Ô<ØØ�Ið
ñ 
ô 
ˆõ
 Ý”×&Ò& qÑ)Ô)×9Ò9¸!Ñ<Ô<ØØ�Ið
ñ 
ô 
ˆð �nŠn 1ˆnÑ%Ô%ˆØ�nŠn 1ˆnÑ%Ô%ˆà—’˜# 7�Ñ+Ô+ˆÝ˜œÑ'Ô'×-Ò-­e°F´MÑ.BÔ.BÑCÔCˆØ—;’;˜xÑ(Ô(×-Ò-¨c¯kªk¸(Ñ.CÔ.CÑDÔDˆØ%œ|ˆŒÔÝ
Ô˜f hÑ/Ô/Ð/ØŒ|Ô! V¤\Ò1Ð1Ð1Ð1à�nŠn 1ˆnÑ%Ô%ˆØ�nŠn 1ˆnÑ%Ô%ˆà—’˜# 7�Ñ+Ô+×6Ò6¸QÐ6Ñ?Ô?ˆÝ˜œÑ'Ô'×-Ò-­e°F´MÑ.BÔ.BÑCÔCˆØ—;’;˜xÑ(Ô(×-Ò-¨c¯kªk¸(Ñ.CÔ.CÑDÔDˆØ%œ|ˆŒÔå
Ô˜f hÑ/Ô/Ð/ØŒ|Ô! V¤\Ò1Ð1Ð1Ð1Ð1Ð1r    c                 ó  — g d¢}g d¢}t           j                             d¦  «                             t	          |¦  «        ¦  «        }t          |||dœ¦  «        }|}t          t           j                             d¦  «                             d¦  «        |g d¢¬¦  «        }|                     |dd	gd
¬¦  «        }t          ||                     ¦   «         dd	gddgd
d¬¦  «        }t          ||dd	gdd
d¬¦  «        }	t          j
        ||	                     |¦  «        ¦  «         t          ||dd	gdd
d¬¦  «        }	|                     ddgd¬¦  «        }|j        |_        |j        j        sJ ‚t          j
        ||¦  «         d S )N)
rƒ   rƒ   rƒ   r‚   r‚   Úbazr	  Úquxr
  Úsnap)
r„   r   r…   r   r„   r   r„   r„   r…   r   r   )r$   r%   rM   )r.   r~   )Új_oneÚj_twoÚj_threer€   r$   r%   rf   r_   rû   rü   F)rq   rr   rV   ÚsortT)rr   r«   rV   r  r(   ©Úaxis)r   r   r   r*   r   r   r‰   r   Úreset_indexrŠ   rŒ   Úreindex_likeÚdroprI   Úis_monotonic_increasing)
r+   Ú%lexsorted_two_level_string_multiindexr$   r%   rM   rI   Úto_joinrn   r”   Ú	expected2s
             r   Útest_join_inner_multiindexz#TestJoin.test_join_inner_multiindex•  sÊ  € ØVÐVÐVˆð
ð 
ð 
ˆõ Œy×$Ò$ QÑ'Ô'×7Ò7½¸D¹	¼	ÑBÔBˆÝ $°¸dÐCÐCÑDÔDˆà5ˆÝÝŒI×!Ò! !Ñ$Ô$×4Ò4°WÑ=Ô=ØØ1Ð1Ð1ð
ñ 
ô 
ˆð —’˜7¨°Ð'7¸W�ÑEÔEˆÝØØ×ÒÑ!Ô!Ø˜VÐ$Ø˜xÐ(ØØð
ñ 
ô 
ˆõ ØØØ˜fÐ%ØØØð
ñ 
ô 
ˆ	õ 	Ô˜f i×&<Ò&<¸VÑ&DÔ&DÑEÔEÐEåØØØ˜fÐ%ØØØð
ñ 
ô 
ˆ	ð —=’= '¨8Ð!4¸1�=Ñ=Ô=ˆØœˆŒàŒ|Ô3Ð3Ð3Ð3Ý
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 ó„  — t          ddgg d¢¬¦  «        }|                     dg¦  «                             dddgi¦  «        }t          dd	gg d
¢¬¦  «        }|                     dd¬¦  «         t	          j        t          j        j        d¬¦  «        5  t          ||dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)r(   r   r~   )r/   r:   rÿ   r|   r¸   rA   rB   ÚmeanÚsum)é   r.   rÿ   ©rA   rB   rD   T)Úinplacez-Not allowed to merge between different levelsr†   ©r«   r£   )
r   ÚgroupbyÚaggÚ	set_indexrŽ   r�   ÚpdÚerrorsÚ
MergeErrorr   )r+   r,   Únew_dfÚother_dfs       r   Ú#test_join_hierarchical_mixed_raisesz,TestJoin.test_join_hierarchical_mixed_raisesÓ  s0  € õ ˜	 9Ð-°°°ÐGÑGÔGˆØ—’˜S˜EÑ"Ô"×&Ò&¨¨f°e¨_Ð'=Ñ>Ô>ˆÝ˜i¨Ð4¸o¸o¸oÐNÑNÔNˆØ×Ò˜3¨ÐÑ-Ô-Ð-åŒ]ÝŒIÔ Ð(Wð
ñ 
ô 
ð 	Gð 	Gõ �&˜(¨tÀÐFÑFÔFÐFð	Gð 	Gð 	Gñ 	Gô 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gøøøð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gs   ÂB5Â5B9Â<B9c                 ó’  — t          t          j                             d¦  «                             d¦  «        ddgt          j        ¬¦  «        }t          t          j                             d¦  «                             d¦  «        dgt          j        ¬¦  «        }|                     |¦  «        }|j        d         dk    sJ ‚|j        d         dk    sJ ‚|j        d         d	k    sJ ‚t          j                             d¦  «         	                    d
dd¦  «         
                    d¦  «        }t          j                             d¦  «                             d¦  «         
                    d¦  «        }t          j                             d¦  «                             d¦  «         
                    d	¦  «        }t          |||dœ¦  «        }t          |||dœ¦  «        }t          t          j                             d¦  «                             d¦  «         
                    d	¦  «        dg¬¦  «        }|                     |dd¬¦  «        }|j        d         dk    sJ ‚|j        d         dk    sJ ‚|j        d         d	k    sJ ‚|j        d         d	k    sJ ‚|                     |dd¬¦  «        }	t          j        ||	¦  «         d S )Nr   )r.   r   rA   rB   ©r�   rG   )r.   r(   rC   Úfloat64Úfloat32r   r:   éd   rï   r|   Úmdr¸   Tr¢   )r   r   r   r   r*   r,  r-  r‰   ÚdtypesÚintegersÚastyper   rŠ   rŒ   )
r+   rA   rB   rn   rC   r,   ÚxpdfÚsÚrsÚxps
             r   Útest_join_float64_float32z"TestJoin.test_join_float64_float32à  sŽ  € ÝÝŒI×!Ò! !Ñ$Ô$×4Ò4°WÑ=Ô=Ø˜#�JÝ”*ð
ñ 
ô 
ˆõ
 ÝŒI×!Ò! !Ñ$Ô$×4Ò4°WÑ=Ô=Ø�EÝ”*ð
ñ 
ô 
ˆð
 —’˜‘”ˆØŒ}˜SÔ! YÒ.Ð.Ð.Ð.ØŒ}˜SÔ! YÒ.Ð.Ð.Ð.ØŒ}˜SÔ! YÒ.Ð.Ð.Ð.åŒI×!Ò! !Ñ$Ô$×-Ò-¨a°°CÑ8Ô8×?Ò?ÀÑHÔHˆÝŒI×!Ò! !Ñ$Ô$×+Ò+¨CÑ0Ô0×7Ò7¸	ÑBÔBˆÝŒI×!Ò! !Ñ$Ô$×+Ò+¨CÑ0Ô0×7Ò7¸	ÑBÔBˆÝ˜Q Q¨QÐ/Ð/Ñ0Ô0ˆÝ˜q q¨qÐ1Ð1Ñ2Ô2ˆÝÝŒI×!Ò! !Ñ$Ô$×+Ò+¨AÑ.Ô.×5Ò5°iÑ@Ô@È4È&ð
ñ 
ô 
ˆð �XŠX�a °$ˆXÑ7Ô7ˆØŒy˜Œ~ Ò(Ð(Ð(Ð(ØŒy˜Œ~ Ò*Ð*Ð*Ð*ØŒy˜Œ~ Ò*Ð*Ð*Ð*ØŒy˜Œ )Ò+Ð+Ð+Ð+à�ZŠZ˜ 3°DˆZÑ9Ô9ˆÝ
Ô˜b "Ñ%Ô%Ð%Ð%Ð%r    c                 óŠ  — t          ddgddgddgdœ¦  «        }t          ddgddgddgdœ¦  «        }t          ddgddgd	d
gdœ¦  «        }|                     ddg¦  «        }|                     ddg¦  «        }|                     ddg¦  «        }|                     ||gd¬¦  «        }t          ||ddgd¬¦  «        }t          ||ddgd¬¦  «        }	|                     ¦   «         }|	|j                 }	|	j                             d¦  «        |	d<   |	j                             d¦  «        |	d<   t          j
        ||	¦  «         t          g d¢g d¢g d¢dœ¦  «        }t          g d¢g d¢g d¢dœ¦  «        }t          g d¢g d¢g d¢dœ¦  «        }|                     ddg¦  «        }|                     ddg¦  «        }|                     ddg¦  «        }|                     ||gd¬¦  «        }t          ||ddgd¬¦  «        }t          ||ddgd¬¦  «        }	|                     ¦   «         }t          j
        ||	j        d d …|j        f         ¦  «         t          g d¢g d¢t          j                             d¦  «                             d¦  «        t          j                             d¦  «                             d¦  «        dœ¦  «        }
t!          t          j        t          j        d¦  «        d¦  «        t          j        t          j        d¦  «        d¦  «        d¬¦  «        }|
                     |d¬¦  «        }|
                     |d¬¦  «        }|
                     |d¬¦  «        }|
                     |d¬¦  «        }t          j
        ||¦  «         t          j
        ||¦  «         t          j
        ||¦  «         d S ) Nr(   r.   é   r|   r   r.  éÈ   r  éè  éÐ  )rA   rB   rE   rA   rB   rc   rU   r_   rï   )r(   r(   r(   )r.   r9  r÷   )r(   r(   r   )r.  r:  i,  )r;  r<  i¸  rf   )r‚   rƒ   r‚   rƒ   r‚   rƒ   r‚   r‚   )r   r   r„   r…   r„   r„   r   r…   r   r<   ÚTESTrÒ   rT   r^   )r   r#  r‰   r   r  r�   rA   r2  rB   rŠ   rŒ   Úlocr   r   r   r*   r   ÚrepeatrÜ   )r+   rß   r1   Údf3Úidf1Úidf2Úidf3r¼   Údf_partially_mergedr”   r,   r4  rf   rc   rT   r^   s                   r   Útest_join_many_non_unique_indexz(TestJoin.test_join_many_non_unique_index  sÔ  € Ý˜q !˜f¨A¨q¨6¸¸R¸ÐAÐAÑBÔBˆÝ˜q !˜f¨A¨q¨6¸¸c¸
ÐCÐCÑDÔDˆÝ˜q !˜f¨A¨q¨6¸¸t¸ÐEÐEÑFÔFˆØ�}Š}˜c 3˜ZÑ(Ô(ˆØ�}Š}˜c 3˜ZÑ(Ô(ˆØ�}Š}˜c 3˜ZÑ(Ô(ˆà—’˜D $˜<¨W�Ñ5Ô5ˆå# C¨°#°s°ÀÐIÑIÔIÐÝÐ,¨c°s¸C°jÀgÐNÑNÔNˆà×#Ò#Ñ%Ô%ˆØ˜FœNÔ+ˆØ œ
×)Ò)¨'Ñ2Ô2ˆ�‰Ø œ
×)Ò)¨'Ñ2Ô2ˆ�‰Ý
Ô˜f hÑ/Ô/Ð/å˜i˜i˜i¨i¨i¨i¸l¸l¸lÐKÐKÑLÔLˆÝ˜i˜i˜i¨i¨i¨i¸o¸o¸oÐNÐNÑOÔOˆÝ˜i˜i˜i¨i¨i¨iÐ>PÐ>PÐ>PÐQÐQÑRÔRˆØ�}Š}˜c 3˜ZÑ(Ô(ˆØ�}Š}˜c 3˜ZÑ(Ô(ˆØ�}Š}˜c 3˜ZÑ(Ô(ˆØ—’˜D $˜<¨W�Ñ5Ô5ˆå# C¨°#°s°ÀÐIÑIÔIÐÝÐ,¨c°s¸C°jÀgÐNÑNÔNˆà×#Ò#Ñ%Ô%ˆå
Ô˜f h¤l°1°1°1°f´nÐ3DÔ&EÑFÔFÐFõ àMÐMÐMØQÐQÐQÝ”Y×*Ò*¨1Ñ-Ô-×=Ò=¸aÑ@Ô@Ý”Y×*Ò*¨1Ñ-Ô-×=Ò=¸aÑ@Ô@ð	ð ñ
ô 
ˆõ ÝŒI•b”i ‘l”l AÑ&Ô&­b¬i½¼	À!¹¼ÀaÑ.HÔ.HÈvð
ñ 
ô 
ˆð —’˜˜w�Ñ'Ô'ˆØ—’˜˜w�Ñ'Ô'ˆØ�wŠw�q˜fˆwÑ%Ô%ˆØ—’˜˜w�Ñ'Ô'ˆÝ
Ô˜e UÑ+Ô+Ð+Ý
Ô˜e TÑ*Ô*Ð*Ý
Ô˜e UÑ+Ô+Ð+Ð+Ð+r    c           	      óâ  — t          d|¦  «        5  t          g d¢g d¢dœ¦  «        }t          dg d¢ig d¢¬¦  «        }|                     |d	d
¬¦  «        }t          g d¢g d¢g d¢dœg d¢¬¦  «        }t          j        ||¦  «         |                     |d	d¬¦  «        }t          j        |j        t          t          d¦  «        ¦  «        d
¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzfuture.infer_string)r‚   rƒ   r	  r‚   ©r(   r   r~   r/   r}   Úvalue2r|   )rƒ   r	  r‚   rH   ry   T)rS   r  )rƒ   r	  r‚   r‚   )r   r~   r(   r/   )rA   rB   rC   rC   )ry   r0   rH  )r(   r   r   r~   Fr/   )Úexact)	r   r   r‰   rŠ   rŒ   rÂ   rI   r   r   )r+   rt   rT   r^   rn   r”   s         r   Útest_join_sortzTestJoin.test_join_sort7  s€  € õ Ð1°<Ñ@Ô@ð 	Mð 	MÝØ4Ð4Ð4¸|¸|¸|ÐLÐLñô ˆDõ ˜x¨¨¨Ð9ÐAVÐAVÐAVÐWÑWÔWˆEà—Y’Y˜u¨°T�YÑ:Ô:ˆFÝ à7Ð7Ð7Ø)˜\˜\Ø2Ð2Ð2ðð ð
 #�l�lðñ ô ˆHõ Ô! &¨(Ñ3Ô3Ð3ð —Y’Y˜u¨°U�YÑ;Ô;ˆFÝÔ! &¤,µµe¸A±h´h±´ÀtÐLÑLÔLÐLð'	Mð 	Mð 	Mñ 	Mô 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Møøøð 	Mð 	Mð 	Mð 	Mð 	Mð 	Ms   ‘CC$Ã$C(Ã+C(c                 ó  — t          dg d¢ig d¢¬¦  «        }t          dg d¢ig d¢¬¦  «        }|                     |¦  «        }t          g d¢d	t          j        d
dt          j        gdœg d¢¬¦  «        }t	          j        ||¦  «         t          dg d¢ig d¢¬¦  «        }t          dg d¢ig d¢¬¦  «        }|                     |¦  «        }t          g d¢d	d
d
t          j        gdœg d¢¬¦  «        }t	          j        ||¦  «         d S )NrA   rG  )r(   r   r~   rA   rH   rB   )r:   rÿ   r  r   )r(   r~   r~   r/   )r(   r   r~   r~   r/   r:   rÿ   r  r    )r(   r   r~   r~   rA   )r(   r   r   rA   )r   r‰   r   ÚnanrŠ   rŒ   )r+   rß   r1   r¼   r”   r@  Údf4s          r   Ú test_join_mixed_non_unique_indexz)TestJoin.test_join_mixed_non_unique_indexP  s;  € å˜˜l˜l˜lÐ+°>°>°>ÐBÑBÔBˆÝ˜˜l˜l˜lÐ+°<°<°<Ð@Ñ@Ô@ˆØ—’˜#‘”ˆÝØ!�/�/¨­B¬F°A°q½"¼&Ð(AÐBÐBØ#Ð#Ð#ð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/å˜˜l˜l˜lÐ+°>°>°>ÐBÑBÔBˆÝ˜˜l˜l˜lÐ+°<°<°<Ð@Ñ@Ô@ˆØ—’˜#‘”ˆÝØ�,�, a¨¨A­r¬vÐ%6Ð7Ð7¸~¸~¸~ð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c           	      ó*  — t          j        ddd¬¦  «        }t          t          t	          t          |¦  «        ¦  «        ¦  «        |dg¬¦  «        }t          ||g¦  «        }|                     |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;   ÚfreqÚpnumr€   rf   Ú_df2)rV   ræ   rF   r   éÿÿÿÿr(   Úpnum_df2©r�   rI   )r$  Úperiod_ranger   r   r   r   r
   r‰   r   r   rÜ   rï   r?  Úreshaper  rI   rŠ   rŒ   )r+   rI   r,   r1   r¼   r”   s         r   Ú!test_join_non_unique_period_indexz*TestJoin.test_join_non_unique_period_indexc  sñ   € å” °b¸sÐCÑCÔCˆÝ•t�E¥# e¡*¤*Ñ-Ô-Ñ.Ô.°eÀfÀXÐNÑNÔNˆÝ�b˜"�XÑÔˆØ—’˜ '°6�Ñ:Ô:ˆÝÝŒG•B”I˜b­¬Ð1Ñ1Ô1×8Ò8¸Ñ;Ô;×CÒCÀBÈÑJÔJÈAÑNÔNØ˜ZÐ(Ø—.’.Ñ"Ô"Ô(ð
ñ 
ô 
ˆõ
 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 óJ  — t          t          j                             d¦  «                             d¦  «        g d¢¬¦  «        }|                     ddd¦  «         |                     ddd	¦  «         |                     d¦  «        }t          j        d
¦  «        }t          j
        t          |¬¦  «        5  |                     ¦   «          d d d ¦  «         n# 1 swxY w Y   |                     d¬¦  «        }|                     ¦   «         }|                     |d¬¦  «         d S )Nr   )r9  rÿ   )rA   rB   rC   rD   rE   r�   r¸   r   Úidr:   Údtr‚   z&agg function failed [how->mean,dtype->r†   T)Únumeric_onlyÚ_right©ræ   )r   r   r   r   r*   Úinsertr!  ÚreÚescaperŽ   r�   r´   r  Úcountr‰   )r+   r,   Úgroupedr™   ÚmnÚcns         r   Ú test_mixed_type_join_with_suffixz)TestJoin.test_mixed_type_join_with_suffixp  sD  € åÝŒI×!Ò! !Ñ$Ô$×4Ò4°WÑ=Ô=Ø2Ð2Ð2ð
ñ 
ô 
ˆð 	�	Š	�!�T˜1ÑÔÐØ
�	Š	�!�T˜5Ñ!Ô!Ð!à—*’*˜TÑ"Ô"ˆÝŒiÐ@ÑAÔAˆÝŒ]�9¨CÐ0Ñ0Ô0ð 	ð 	Ø�LŠL‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�\Š\ tˆ\Ñ,Ô,ˆØ�]Š]‰_Œ_ˆð 	�Š�˜HˆÑ%Ô%Ð%Ð%Ð%s   Â6CÃCÃCc                 óÔ  — t          t          j                             d¦  «                             d¦  «        t          d¦  «        ¬¦  «        }|ddg         |ddg         |d	d
g         g}|d                              |dd …         ¦  «        }t          j        ||¦  «         |ddg         d d…         |ddg         dd …         |d	d
g         dd…         g}d„ }|d                              |dd …         d¬¦  «        } ||||j	        ¦  «         |d                              |dd …         ¦  «        } ||||d         j	        ¦  «         |d                              |dd …         d¬¦  «        } ||||j	        dd…         ¦  «         d}t          j        t          |¬¦  «        5  |d                              |dd …         d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   )r.   rÿ   Úabcdefr¸   rA   rB   rC   rD   rE   r�   r   r(   éþÿÿÿé	   c                 ó”   ‡— ˆfd„| D ¦   «         }|d                               |dd …         ¦  «        }t          j        ||¦  «         d S )Nc                 ó:   •— g | ]}|                      ‰¦  «        ‘ŒS © )r¿   )Ú.0rô   Ú	exp_indexs     €r   ú
<listcomp>zFTestJoin.test_join_many.<locals>._check_diff_index.<locals>.<listcomp>�  s%   ø€ Ð?Ð?Ð?°!˜Ÿš 9Ñ-Ô-Ð?Ð?Ð?r    r   r(   rÏ   )Údf_listr¼   rq  Ú	reindexedr”   s     `  r   Ú_check_diff_indexz2TestJoin.test_join_many.<locals>._check_diff_indexŽ  sT   ø€ Ø?Ð?Ð?Ð?°wÐ?Ñ?Ô?ˆIØ  ”|×(Ò(¨°1°2°2¬Ñ7Ô7ˆHÝÔ! &¨(Ñ3Ô3Ð3Ð3Ð3r    rc   rU   rf   r   z?Joining multiple DataFrames only supported for joining on indexr†   rR   )r   r   r   r   r*   r   r‰   rŠ   rŒ   rI   rŽ   r�   r’   )r+   r,   rs  rn   ru  r™   s         r   Útest_join_manyzTestJoin.test_join_manyƒ  s6  € ÝÝŒI×!Ò! !Ñ$Ô$×4Ò4°WÑ=Ô=ÅtÈHÁ~Ä~ð
ñ 
ô 
ˆð �s˜C�j”> 2 s¨C j¤>°2°s¸C°j´>ÐBˆà˜”—’ ¨¨¨¤Ñ-Ô-ˆÝ
Ô˜f bÑ)Ô)Ð)à�s˜C�j”> # 2 #Ô&¨¨C°¨:¬°q°r°rÔ(:¸BÀÀS¸z¼NÈ1ÈQÈ3Ô<OÐPˆð	4ð 	4ð 	4ð ˜”—’ ¨¨¨¤°'�Ñ:Ô:ˆØÐ˜' 6¨2¬8Ñ4Ô4Ð4à˜”—’ ¨¨¨¤Ñ-Ô-ˆØÐ˜' 6¨7°1¬:Ô+;Ñ<Ô<Ð<à˜”—’ ¨¨¨¤°'�Ñ:Ô:ˆØÐ˜' 6¨2¬8°A°a°C¬=Ñ9Ô9Ð9àOˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	1ð 	1Ø�AŒJ�OŠO˜G A B BœK¨CˆOÑ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð 	1ð 	1s   Æ*&GÇG!Ç$G!c                 óh  — t          t          j                             d¦  «                             d¦  «        g d¢¬¦  «        }ddgdz  |d<   |j        d d …d	d
gf         }|j        d d …ddgf         }|j        d d …dgf         }|                     ||g¦  «        }t          j        ||¦  «         d S )Nr   )r   r/   r<   r¸   r‚   rƒ   r/   ry   r=   r>   r?   r@   )	r   r   r   r   r*   r>  r‰   rŠ   rŒ   )r+   r,   rß   r1   r@  r¼   s         r   Útest_join_many_mixedzTestJoin.test_join_many_mixed¡  sÈ   € ÝÝŒI×!Ò! !Ñ$Ô$×4Ò4°VÑ<Ô<Ø(Ð(Ð(ð
ñ 
ô 
ˆð ˜E�N QÑ&ˆˆ5‰	ØŒf�Q�Q�Q˜˜c˜
�]Ô#ˆØŒf�Q�Q�Q˜˜c˜
�]Ô#ˆØŒf�Q�Q�Q˜˜�ZÔ ˆà—’˜3 ˜*Ñ%Ô%ˆÝ
Ô˜f bÑ)Ô)Ð)Ð)Ð)r    c           
      ó  — t          t          t          j                             d¦  «                             d¦  «        g d¢¬¦  «        t          t          j                             d¦  «                             ddd¬¦  «                             dd¦  «        d	d
g¬¦  «        gd¬¦  «        }t          ||gd¬¦  «        }|                     |d¬¦  «        }|j	        |_	        t          j        ||¦  «         t          t          j                             d¦  «                             d¦  «        ddg¬¦  «        }t          t          j                             d¦  «                             d¦  «        ddg¬¦  «        }t          t          j                             d¦  «                             d¦  «        ddg¬¦  «        }t          t          j                             d¦  «                             d¦  «        ddg¬¦  «        }|                     |dd¬¦  «                             |ddd¬¦  «        }t          j        t          j        j        d¬¦  «        5  |                     |dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   )r.   r/   )r=   r=   r>   r>   r¸   r   r.   r9  rž   r=   r?   r(   r  Ú_2r`  )r/   r   rô   ÚyTr   rc   )r«   r£   rV   z0Passing 'suffixes' which cause duplicate columnsr†   )r
   r   r   r   r   r*   r1  rY  r‰   r�   rŠ   rŒ   r   rŽ   r�   r$  r%  r&  )	r+   r,   r”   r¼   Úwrô   r{  ÚzÚdtas	            r   Útest_join_dupszTestJoin.test_join_dups®  sÈ  € ååÝ”I×)Ò)¨!Ñ,Ô,×<Ò<¸WÑEÔEØ0Ð0Ð0ðñ ô õ Ý”I×)Ò)¨!Ñ,Ô,×5Ò5°a¸À"Ð5ÑEÔE×MÒMÈbÐRSÑTÔTØ  #˜Jðñ ô ð	ð ð
ñ 
ô 
ˆõ ˜2˜r˜(¨Ð+Ñ+Ô+ˆØ—’˜ T�Ñ*Ô*ˆØ!Ô)ˆŒÝ
Ô˜f hÑ/Ô/Ð/õ ÝŒI×!Ò! !Ñ$Ô$×4Ò4°VÑ<Ô<ÀsÈCÀjð
ñ 
ô 
ˆõ ÝŒI×!Ò! !Ñ$Ô$×4Ò4°VÑ<Ô<ÀsÈCÀjð
ñ 
ô 
ˆõ ÝŒI×!Ò! !Ñ$Ô$×4Ò4°VÑ<Ô<ÀsÈCÀjð
ñ 
ô 
ˆõ ÝŒI×!Ò! !Ñ$Ô$×4Ò4°VÑ<Ô<ÀsÈCÀjð
ñ 
ô 
ˆð �gŠg�a D°dˆgÑ;Ô;×AÒAØ˜$¨D°gð Bñ 
ô 
ˆõ Œ]ÝŒIÔ ØDð
ñ 
ô 
ð 	<ð 	<ð �IŠI�a D°dˆIÑ;Ô;Ð;ð		<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<ð 	<ð 	<s   ÉI>É>JÊJc                 ó¬  — t          j        t          d¦  «        t          d¦  «        ddggg d¢¬¦  «        }t          dt	          d¦  «        i|¬	¦  «        }t          j        t          d¦  «        t          d¦  «        gddg¬¦  «        }t          d
d„ t	          dd¦  «        D ¦   «         i|¬	¦  «        }|                     |ddg|¬¦  «        }|                     ¦   «                              |                     ¦   «         ddg|¬¦  «                             g d¢¦  «        }t          j
        ||¦  «         d}t          j        t          |¬¦  «        5  |                     |d|¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  |                     |ddg|¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrª   Úxyr(   r   )rª   r�  Únumrý   Úv1é   rH   Úv2c                 ó   — g | ]}d |z  ‘ŒS )r.  ro  )rp  Úis     r   rr  z5TestJoin.test_join_multi_to_multi.<locals>.<listcomp>å  s   € Ð!?Ð!?Ð!?¨a #¨¡'Ð!?Ð!?Ð!?r    r  r_   r¡   r†   )r   r¦   r   r   r   r‰   r  r   r#  rŠ   rŒ   rŽ   r�   r’   )	r+   rÞ   Ú	leftindexrT   Ú
rightindexr^   r¼   r”   r™   s	            r   Útest_join_multi_to_multiz!TestJoin.test_join_multi_to_multiÛ  sU  € åÔ+Ý�%‰[Œ[�$˜t™*œ* q¨! fÐ-Ð5IÐ5IÐ5Ið
ñ 
ô 
ˆ	õ ˜$¥ b¡	¤	Ð*°)Ð<Ñ<Ô<ˆåÔ,Ý�%‰[Œ[�$˜t™*œ*Ð%¨e°T¨]ð
ñ 
ô 
ˆ
õ ˜4Ð!?Ð!?µ5¸¸A±;´;Ð!?Ñ!?Ô!?Ð@È
ÐSÑSÔSˆà—’˜5 e¨T ]¸	�ÑBÔBˆà×ÒÑÔßŠU�5×$Ò$Ñ&Ô&¨E°4¨=¸iˆUÑHÔHßŠYÐ+Ð+Ð+Ñ,Ô,ð 	õ
 	Ô˜h¨Ñ/Ô/Ð/àWˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	5ð 	5Ø�IŠI�e ¨)ˆIÑ4Ô4Ð4ð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5õ Œ]�:¨SÐ1Ñ1Ô1ð 	>ð 	>Ø�JŠJ�t ¨ °9ˆJÑ=Ô=Ð=ð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>ð 	>ð 	>s$   ÅE;Å;E?ÆE?Æ!G	Ç	GÇGc                 óÜ  — t          t          j        ddd¬¦  «        t          d¦  «        dœ¦  «        }t          t          j        ddd¬¦  «        t          d¦  «        d	œ¦  «        }|                     |                     d
¦  «        d
¬¦  «        }|                     ¦   «         }t          t          j	        gdz  t          d¦  «        z   ¦  «        |d<   t          j        ||¦  «         d S )Nz
2018-01-01r:   zAmerica/Chicago)Ústartr;   ÚtzÚabcde)ÚdateÚvalsz
2018-01-03Útuvwx)r�  Úvals_2r�  rR   r   Útuvr’  )r   r$  Ú
date_ranger   r‰   r#  r‘   r   r   rL  rŠ   rŒ   )r+   rß   r1   r¼   r”   s        r   Ú#test_join_on_tz_aware_datetimeindexz,TestJoin.test_join_on_tz_aware_datetimeindexö  sò   € ååœØ&°Ð6Gðñ ô õ ˜W™œð	ð ñ
ô 
ˆõ åœØ&°Ð6Gðñ ô õ ˜w™-œ-ð	ð ñ
ô 
ˆð —’˜#Ÿ-š-¨Ñ/Ô/°F�Ñ;Ô;ˆØ—8’8‘:”:ˆÝ#¥R¤V H¨q¡Lµ4¸±;´;Ñ$>Ñ?Ô?ˆ�ÑÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 ór  — t          g d¢g d¢g d¢g d¢gg d¢¬¦  «        }t          j        |d         ¦  «                             d¦  «        |d<   t          g d	¢g d
¢gg d¢ddg¬¦  «        }t          j        |d         ¦  «                             d¦  «        |d<   |                     |                     ddg¦  «        ddg¬¦  «        }t          t          d¦  «        dddgt          d¦  «        dddggddgg d¢¬¦  «        }|d                              d¦  «        |d<   t          j        ||¦  «         d S )N)ú
2012-08-02ÚLr.   )r—  ÚJrÙ   )ú
2013-04-06r˜  r9  )rš  r™  é   )rô   r{  rA   r¸   rô   zM8[ns])r—  r™  r(   )rš  r˜  r   )rô   r{  r}  r   r/   rW  r{  rR   z2012-08-02 00:00:00r™  r(   rÙ   z2013-04-06 00:00:00r˜  r9  )rô   r{  r}  rA   r€   )	r   r$  Úto_datetimer2  r‰   r#  r   rŠ   rŒ   )r+   ÚdfaÚdfbr¼   r”   s        r   Útest_join_datetime_stringz"TestJoin.test_join_datetime_string  s�  € åà'Ð'Ð'Ø'Ð'Ð'Ø'Ð'Ð'Ø'Ð'Ð'ð	ð $�O�Oð
ñ 
ô 
ˆõ ”> # c¤(Ñ+Ô+×2Ò2°8Ñ<Ô<ˆˆC‰ÝØ#Ð#Ð#Ð%;Ð%;Ð%;Ð<Ø#�O�OØ�a�&ð
ñ 
ô 
ˆõ
 ”> # c¤(Ñ+Ô+×2Ò2°8Ñ<Ô<ˆˆC‰Ø—’˜#Ÿ-š-¨¨c¨
Ñ3Ô3¸¸c¸
�ÑCÔCˆÝåÐ0Ñ1Ô1°3¸¸2Ð>ÝÐ0Ñ1Ô1°3¸¸2Ð>ðð �a�&Ø(Ð(Ð(ð
ñ 
ô 
ˆð ! œ×,Ò,¨XÑ6Ô6ˆ�‰Ý
Ô˜f hÑ/Ô/Ð/Ð/Ð/r    c                 ó´  — ddg}t          j        ||¬¦  «        }t          j        t          |¦  «        t          |¦  «        ¬¦  «        }t          d|i|¬¦  «        }t          dt          |¦  «        i|¬¦  «        }|                     |¦  «        }t          ddgddgdœt          j        ddgddg¬¦  «        ¬¦  «        }t          j        ||¦  «         d S )NrA   rB   ©Ú
categoriesÚc1rH   Úc2)r£  r¤  )r$  ÚCategoricalIndexÚreversedr   r‰   rŠ   rŒ   )r+   ÚixÚid1Úid2rß   r1   r¼   r”   s           r   Ú test_join_with_categorical_indexz)TestJoin.test_join_with_categorical_index,  sà   € à�3ˆZˆÝÔ! "°Ð4Ñ4Ô4ˆÝÔ!¥(¨2¡,¤,½8ÀB¹<¼<ÐHÑHÔHˆå˜˜r˜
¨#Ð.Ñ.Ô.ˆÝ˜�x¨™|œ|Ð,°CÐ8Ñ8Ô8ˆØ—’˜#‘”ˆÝØ˜�: c¨3 ZÐ0Ð0ÝÔ% s¨C j¸cÀ3¸ZÐHÑHÔHð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r    )4Ú__name__Ú
__module__Ú__qualname__rŽ   Úfixturer,   r1   rP   r\   r`   rd   rg   ro   rs   ÚmarkÚparametrizeÚparamÚtdÚ
skip_if_norš   r¨   r­   r¯   r   Úarrayrµ   r½   rÅ   rÊ   rÍ   rÐ   rÕ   rà   rò   rõ   rù   r  r  r)  r7  rE  rJ  rN  rZ  rh  rv  rx  r  rŠ  r•  rŸ  rª  ro  r    r   r"   r"   #   sy  € € € € € à„^ðð ñ „^ðð „^ð
ð 
ñ „^ð
ð „^ðð ñ „^ðð Hð Hð HðIð Ið IðIð Ið IðIð Ið Ið$ð $ð $ð	$ð 	$ð 	$ð „[×ÒØ˜  ¤¨T¸¸¼ÀyÑ9QÔ9QÐ RÑ RÔ RÐSñô ð$-ð $-ñô ð$-ðL:ð :ð :ð$:ð :ð :ð$=ð =ð =ð$ „[×Ò˜\¨A¨u°d¸H¸B¼HÀaÈÀVÑ<LÔ<LÐ+MÑNÔNð=ð =ñ OÔNð=ð 0ð 0ð 0ð
!ð 
!ð 
!ð
<ð 
<ð 
<ð0ð 0ð 0ð0ð 0ð 0ð0ð 0ð 0ð0ð 0ð 0ð$0ð 0ð 0ð@Fð Fð Fð
ð ð ð)2ð )2ð )2ðV:0ð :0ð :0ð|Gð Gð Gð&ð &ð &ðB4,ð 4,ð 4,ðl „[×ÒØ˜  ¤¨T¸¸¼ÀyÑ9QÔ9QÐ RÑ RÔ RÐSñô ðMð Mñô ðMð,0ð 0ð 0ð&0ð 0ð 0ð&ð &ð &ð&1ð 1ð 1ð<*ð *ð *ð+<ð +<ð +<ðZ>ð >ð >ð60ð 0ð 0ð00ð 0ð 0ð<0ð 0ð 0ð 0ð 0r    r"   rT   Ú_xÚ_yc                 ó   — |D ]0}||                               ¦   «                              ¦   «         sJ ‚Œ1|                      |¦  «        }|                     |¦  «        }	|                     |¦  «        D �]	\  }
}t          || j        |¦  «        }t          ||j        |¦  «        }	 |                     |
¦  «        }t          ||¦  «         nE# t          $ r8}|dv rt          d|
› d�¦  «        |‚t          || j        |¦  «         Y d }~nd }~ww xY w	 |	                     |
¦  «        }t          ||¦  «         ŒÅ# t          $ r9}|dv rt          d|
› d�¦  «        |‚t          ||j        |¦  «         Y d }~�Œd }~ww xY wd S )N)rT   rf   zkey z! should not have been in the join)r^   rf   )
rÈ   rÁ   r!  Ú_restrict_to_columnsr�   Ú	get_groupÚ_assert_same_contentsr�   ÚAssertionErrorÚ_assert_all_na)rT   r^   r¼   r»   rV   rå   ræ   rC   Úleft_groupedÚright_groupedÚ	group_keyÚgroupÚl_joinedÚr_joinedÚlgroupÚerrÚrgroups                    r   rX   rX   <  sð  € àð 'ð 'ˆØ�aŒy�ŠÑ Ô ×$Ò$Ñ&Ô&Ð&Ð&Ð&Ð&à—<’< Ñ)Ô)€LØ—M’M (Ñ+Ô+€Mà"ŸNšN¨8Ñ4Ô4ð 4ñ 4Ñˆ	�5Ý'¨¨t¬|¸WÑEÔEˆÝ'¨¨u¬}¸gÑFÔFˆð
	4Ø!×+Ò+¨IÑ6Ô6ˆFõ " (¨FÑ3Ô3Ð3Ð3øõ ð 	=ð 	=ð 	=ØÐ'Ð'Ð'Ý$ØG˜9ÐGÐGÐGñô àðõ ˜8 T¤\°8Ñ<Ô<Ð<Ð<Ð<Ð<Ð<Ð<øøøøð	=øøøð
	4Ø"×,Ò,¨YÑ7Ô7ˆFõ " (¨FÑ3Ô3Ð3Ð3øõ ð 	>ð 	>ð 	>ØÐ(Ð(Ð(Ý$ØG˜9ÐGÐGÐGñô àðõ ˜8 U¤]°HÑ=Ô=Ð=Ð=Ð=Ð=Ð=Ñ=øøøøð	>øøøð%4ð 4s0   Â&CÃ
DÃ.D	Ä	DÄD8Ä8
E;Å.E6Å6E;c                 ó¨   ‡‡— ˆˆfd„| j         D ¦   «         }| j        d d …|f         } |                      ˆfd„¬¦  «        } | j        d d …‰f         } | S )Nc                 óL   •— g | ] }|‰v s|                      ‰d ¦  «        ‰v ¯|‘Œ!S )Ú ©Úreplace)rp  rC   r�   Úsuffixs     €€r   rr  z(_restrict_to_columns.<locals>.<listcomp>b  s@   ø€ ð ð ð Ø A¨ L L°A·I²I¸fÀbÑ4IÔ4IÈWÐ4TÐ4TˆÐ4TÐ4TÐ4Tr    c                 ó0   •— |                       ‰d¦  «        S )NrÈ  rÉ  )rô   rË  s    €r   ú<lambda>z&_restrict_to_columns.<locals>.<lambda>j  s   ø€ ¨1¯9ª9°V¸RÑ+@Ô+@€ r    r¸   )r�   r>  r¹   )rÀ  r�   rË  Úfounds    `` r   r¸  r¸  a  sƒ   øø€ ðð ð ð ð Ø”=ðñ ô €Eð
 ŒI�a�a�a˜�hÔ€Eð �LŠLÐ!@Ð!@Ð!@Ð!@ˆLÑAÔA€Eð ŒI�a�a�a˜�jÔ!€Eà€Lr    c                 óR  ‡— d}|                       |¦  «                             ¦   «         j        }|                      |¦  «                             ¦   «         j        }d„ |D ¦   «         Št          ‰¦  «        t          |¦  «        k    sJ ‚t	          ˆfd„|D ¦   «         ¦  «        sJ ‚d S )Niy)íÿc                 ó,   — h | ]}t          |¦  «        ’ŒS ro  ©Útuple)rp  Úrows     r   ú	<setcomp>z(_assert_same_contents.<locals>.<setcomp>x  s   € Ð*Ð*Ð*˜3�E�#‰JŒJÐ*Ð*Ð*r    c              3   ó:   •K  — | ]}t          |¦  «        ‰v V — Œd S ©NrÑ  )rp  rÓ  Úrowss     €r   ú	<genexpr>z(_assert_same_contents.<locals>.<genexpr>z  s.   øè è € Ð5Ð5 c�u�S‰zŒz˜TÐ!Ð5Ð5Ð5Ð5Ð5Ð5r    )ÚfillnaÚdrop_duplicatesr  r   rÁ   )Ú
join_chunkrO   ÚNA_SENTINELÚjvaluesÚsvaluesr×  s        @r   rº  rº  r  s©   ø€ Ø€Kà×Ò Ñ,Ô,×<Ò<Ñ>Ô>ÔE€GØ�mŠm˜KÑ(Ô(×8Ò8Ñ:Ô:ÔA€Gà*Ð* 'Ð*Ñ*Ô*€DÝˆt‰9Œ9�˜F™œÒ#Ð#Ð#Ð#ÝÐ5Ð5Ð5Ð5¨WÐ5Ñ5Ô5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5r    c                 óv   — |D ]5}||v rŒ| |                               ¦   «                              ¦   «         sJ ‚Œ6d S rÖ  )rÀ   rÁ   )rÛ  Úsource_columnsr»   rC   s       r   r¼  r¼  }  sR   € Øð *ð *ˆØ�ˆ=ˆ=ØØ˜!Œ}×!Ò!Ñ#Ô#×'Ò'Ñ)Ô)Ð)Ð)Ð)Ð)ð*ð *r    c                 ó@  — | j                              |j         |¬¦  «        }|                      |¦  «        }|                     |¦  «        }| j                             |j        ¦  «        }|                     ¦   «         D ]
\  }}|||<   Œ|                     |¬¦  «        S )NrU   r¸   )rI   r‰   r¿   r�   ÚappendÚitems)	rA   rB   rV   Ú
join_indexÚa_reÚb_reÚresult_columnsrÃ   r4  s	            r   rÝ   rÝ   „  sŽ   € Ø”—’˜aœg¨3�Ñ/Ô/€Jà�9Š9�ZÑ Ô €DØ�9Š9�ZÑ Ô €Dà”Y×%Ò% a¤iÑ0Ô0€Nà—*’*‘,”,ð ð ‰ˆˆQØˆˆS‰	ˆ	Ø�<Š< ˆ<Ñ/Ô/Ð/r    c                  óT  — t          ddit          j        dgd¬¦  «        ¬¦  «        } t          ddit          j        d	gd
¬¦  «        ¬¦  «        }|                      |d¬¦  «        }t          dgdgdœt          j        dgd¬¦  «        ¬¦  «        }t	          j        ||¦  «         d S )NrE   r:   )r(   r   r/   r  rý   ©rM   rI   r�   rÿ   )r   r~   )rB   rC   rf   rU   )rE   r�   )r(   r   r/   r~   )rA   rB   rD   rC   rH   ©r   r   Úfrom_tuplesr‰   rŠ   rŒ   )rT   r^   r¼   r”   s       r   Ú.test_join_inner_multiindex_deterministic_orderrì  ‘  sÎ   € åØ�1ˆXÝÔ$ i [¸ÐHÑHÔHðñ ô €Dõ Ø�1ˆX�ZÔ3°V°HÀJÐOÑOÔOðñ ô €Eð �YŠY�u 'ˆYÑ*Ô*€FÝØˆc˜˜ÐÐÝÔ$ l ^Ð;OÐPÑPÔPðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r    )Ú	input_colÚoutput_colsrB   rA   Úa_xÚa_yc                 óô   — t          dddgi¦  «        }t          | ddgi¦  «        }|                     |ddd¬¦  «        }t          |d	         g d
¢|d         g d¢i¦  «        }t          j        ||¦  «         d S )NrA   r(   r~   r/   Úcrossrµ  r¶  )rV   rå   ræ   r   )r(   r(   r~   r~   )r~   r/   r~   r/   rÌ   )rí  rî  rT   r^   r¼   r”   s         r   Útest_join_crossró  ¢  s‡   € õ
 �c˜A˜q˜6�]Ñ#Ô#€DÝ�y 1 a &Ð)Ñ*Ô*€EØ�YŠY�u '°4ÀˆYÑFÔF€FÝ˜+ aœ.¨,¨,¨,¸ÀA¼ÈÈÈÐUÑVÔV€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r    c                 óÀ  — t          ddit          j        dgd¬¦  «        ¬¦  «        }t          ddit          j        d	gd
¬¦  «        ¬¦  «        }|                     || ¬¦  «        }| dk    r.t          dgdgdœt          j        dgddg¬¦  «        ¬¦  «        }n-t          dgdgdœt          j        dgddg¬¦  «        ¬¦  «        }t	          j        ||¦  «         d S )NrC   r~   )r(   r   r    rý   ré  rD   r/   )r   )rB   rU   r^   )rC   rD   )r   r(   rB   rA   rH   rê  )rÞ   rT   r^   r¼   r”   s        r   Útest_join_multiindex_one_levelrõ  ®  s  € åØ�1ˆX�ZÔ3°V°HÀJÐOÑOÔOðñ ô €Dõ ˜C ˜8­:Ô+AÀ4À&ÐPVÐ+WÑ+WÔ+WÐXÑXÔX€EØ�YŠY�u )ˆYÑ,Ô,€FØ�GÒÐÝØ�#˜Q˜CÐ Ð ÝÔ(¨&¨¸#¸s¸ÐDÑDÔDð
ñ 
ô 
ˆˆõ
 Ø�#˜Q˜CÐ Ð ÝÔ(¨&¨¸#¸s¸ÐDÑDÔDð
ñ 
ô 
ˆõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r    zcategories, valuesÚYÚX)rö  r÷  r÷  r   r(   )r   r(   r(   ç      @ç      ø?)rø  rù  rù  z
2020-12-31z
2019-12-31c                 óÈ  — t          ddgt          | | ¬¦  «        ddgdœ¦  «                             ddg¦  «        }t          g d¢t          || ¬¦  «        g d	¢dœ¦  «                             ddg¦  «        }|                     |d
d¬¦  «        }t          ddgt          | | ¬¦  «        ddgddgdœ¦  «                             ddg¦  «        }t	          j        ||¦  «         d S )Nr=   r¡  r(   r   )rû   rü   r0   rû   rü   )r=   r=   r>   )r~   r/   r:   Ú_leftr_  rä   r~   r/   )rû   rü   Ú
value_leftÚvalue_right©r   r   r#  r‰   rŠ   rŒ   )r¢  r  rT   r^   r¼   r”   s         r   Ú1test_join_multiindex_not_alphabetical_categoricalrÿ  Â  s+  € õ à˜3�ZÝ! *¸ÐDÑDÔDØ˜�Vð	
ð 	
ñô ÷ ‚i�˜(Ð#Ñ$Ô$ð 	õ à$�_�_Ý! &°ZÐ@Ñ@Ô@Ø�Y�Yð	
ð 	
ñô ÷ ‚i�˜(Ð#Ñ$Ô$ð 
ð �YŠY�u g°xˆYÑ@Ô@€Fåà˜3�ZÝ! *¸ÐDÑDÔDØ˜a˜&Ø˜q˜6ð		
ð 	
ñô ÷ ‚i�˜(Ð#Ñ$Ô$ð õ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r    zleft_empty, how, exp)
)FrT   rT   )Fr^   Úempty)Frf   r   )Frc   rT   )Frò  r   )TrT   r   )Tr^   r^   )Trf   r   )Trc   r^   )Trò  r   c                 ó  — t          ddgddgdœd¬¦  «                             d¦  «        }t          dgd	gd
œd¬¦  «                             d¦  «        }| r|                     d¦  «        }n|                     d¦  «        }|                     ||¬¦  «        }|dk    rCt          ddgddgt          j        t          j        gdœ¦  «        }|                     d¦  «        }np|dk    r6t          t          j        gdgd	gdœ¦  «        }|                     d¦  «        }n4|dk    r.t          ddgd¬¦  «        }|dk    r|                     d¦  «        }|dk    r|                     ¦   «         }t          j	        ||¦  «         d S )Nr   r(   r~   r/   )r=   r>   rï   rF   r=   r:   )r=   r?   r   rU   rT   )r=   r>   r?   r^   )r>   r=   r?   r   r>   r?   r+  rò  rc   )
r   r#  Úheadr‰   r   rL  Úrename_axisr  rŠ   rŒ   )Ú
left_emptyrV   ÚexprT   r^   r¼   r”   s          r   Útest_join_emptyr  ë  sŽ  € õ  ˜A˜q˜6¨¨A¨Ð/Ð/°wÐ?Ñ?Ô?×IÒIÈ#ÑNÔN€DÝ˜Q˜C q cÐ*Ð*°'Ð:Ñ:Ô:×DÒDÀSÑIÔI€Eàð Ø�yŠy˜‰|Œ|ˆˆà—
’
˜1‘”ˆà�YŠY�u #ˆYÑ&Ô&€Fà
ˆf‚}€}Ý A q 6°°A°½b¼fÅbÄfÐ=MÐNÐNÑOÔOˆØ×%Ò% cÑ*Ô*ˆˆØ	�ŠˆÝ¥B¤F 8°1°#¸Q¸CÐ@Ð@ÑAÔAˆØ×%Ò% cÑ*Ô*ˆˆØ	�ŠˆÝ c¨3 Z°wÐ?Ñ?Ô?ˆØ�'Š>ˆ>Ø×+Ò+¨CÑ0Ô0ˆHØ
ˆg‚~€~Ø×&Ò&Ñ(Ô(ˆåÔ˜& (Ñ+Ô+Ð+Ð+Ð+r    c                  ón  — t          ¦   «         } t          dg¬¦  «        }t          ddg¬¦  «        }| |z   }t          dg¬¦  «        }t          j        ||¦  «         ||z   }t          g d¢¬¦  «        }t          j        ||¦  «         | |z   }t          ddg¬¦  «        }t          j        ||¦  «         d S )NÚtestr¸   r‚   ©rƒ   r	  )r	  r‚   r  )r   rŠ   rŒ   )rß   r1   r@  r¼   r”   s        r   Ú$test_join_empty_uncomparable_columnsr
    sÊ   € å
‰+Œ+€CÝ
˜V˜HÐ
%Ñ
%Ô
%€CÝ
˜U NÐ3Ð
4Ñ
4Ô
4€Cà�3‰Y€FÝ & Ð*Ñ*Ô*€HÝÔ˜& (Ñ+Ô+Ð+à�3‰Y€FÝÐ!@Ð!@Ð!@ÐAÑAÔA€HÝÔ˜& (Ñ+Ô+Ð+à�3‰Y€FÝ .°%Ð!8Ð9Ñ9Ô9€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r    zhow, valuesrf   r{   rc   r^   ©r   r   r(   c                 ó  — t          t          g d¢¦  «        t          g d¢¦  «        g d¢dœ¦  «                             ddg¦  «        }t          t          g d¢¦  «        t          g d¢¦  «        g d¢dœ¦  «                             ddg¦  «        }t          t          |¦  «        t          |¦  «        ||dœ¦  «                             ddg¦  «        }|                     || ¬¦  «        }t	          j        ||¦  «         d S )	Nr{   r|   rA   rB   r  r  )rA   rB   rC   rD   rU   rþ  )rV   r  rß   r1   r”   r¼   s         r   Ú3test_join_multiindex_categorical_output_index_dtyper  (  s+  € õ å˜Y˜Y˜YÑ'Ô'Ý˜Y˜Y˜YÑ'Ô'Ø��ð	
ð 	
ñô ÷ ‚i��c�
ÑÔð õ å˜Y˜Y˜YÑ'Ô'Ý˜Y˜Y˜YÑ'Ô'Ø��ð	
ð 	
ñô ÷ ‚i��c�
ÑÔð õ å˜VÑ$Ô$Ý˜VÑ$Ô$ØØð		
ð 	
ñô ÷ ‚i��c�
ÑÔð ð �XŠX�c˜sˆXÑ#Ô#€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r    )r   r   )rT   rµ  r¶  )rT   )'rb  Únumpyr   rŽ   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsr²  Úpandasr$  r   r   r   r   r   r   r	   r
   r   r   Úpandas._testingÚ_testingrŠ   r   r"   rX   r¸  rº  r¼  rÝ   rì  r¯  r°  ró  rõ  rÿ  r  r
  r  ro  r    r   ú<module>r     sO  ðØ 	€	€	€	à Ð Ð Ð Ø €€€à )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )à Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð ðð ð ð ðV0ð V0ð V0ð V0ð V0ñ V0ô V0ð V0ðr"4ð "4ð "4ð "4ðJð ð ð"6ð 6ð 6ð*ð *ð *ð
0ð 
0ð 
0ð 
0ð,ð ,ð ,ð" „×ÒØ  C¨#¨s¨Ð#4°s¸UÀE¸NÐ6KÐ"Lñô ð,ð ,ñô ð,ð,ð ,ð ,ð( „×ÒØà
ˆsˆ�_�_�_Ð%Ø
ˆQˆ���ÐØ
ˆsˆ�_�_�_Ð%àˆY�|Ñ$Ô$ i i°Ñ&=Ô&=Ð>ØˆY�|Ñ$Ô$ i i°Ñ&=Ô&=¸y¸yÈÑ?VÔ?VÐWð	
ð	ñô ð,ð ,ñô ð,ð: „×ÒØðð ð ñô ð,ð ,ñô ð,ð6,ð ,ð ,ð& „×ÒØà	�)�)�)ÐØ	�)�)�)ÐØ	���ÐØ	�)�)�)Ðð	ñô ð,ð ,ñô ð,ð ,ð ,r    