Ë
    ž…j"¾ ã                   óž  — 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jH                  d
„ «       Z% G d„ d«      Z&d„ Z' G d„ d«      Z(ejH                  d„ «       Z)ejH                  d„ «       Z* G d„ d«      Z+ G d„ d«      Z,ejZ                  j]                  dej^                  D � cg c]  }  eg d¢| d¬«      ‘Œ c}  eg d¢g d¢d¬«       ed dd¬«       eg d¢d¬«      gz   d „ ¬!«      d"„ «       Z0ejZ                  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jZ                  j]                  d-d d d.d/id0d1gfd d d.d2id d1gfd d d.d3id4d5gfd d d.d6d7gid4d5gfd8d d.d9id8d gfd:d:d.d;id<d:gfd=d=d.d9id=d>gfd8d8d.d;id?d8gfd8d=d.d;id8d=gfd8d8d.d@id8d?gfd d d.dAidBd gfd8d8i d?dCgfd d i d4d5gfg«      dD„ «       Z3ejZ                  j]                  dEdFg dG¢dHdIejh                  gg dJ¢dKœfd$g dL¢dMdHdIejh                  gejh                  dNdOdPgdKœfg«      dQ„ «       Z5ejZ                  j]                  dRg dS¢«      dT„ «       Z6ejZ                  j]                  d.dUdFhd d dVœg«      dW„ «       Z7erdXndYZ8ejZ                  j]                  dZd8d8d[d\e8› d]�fd8d8 e9d8«      d^fg«      d_„ «       Z:ejZ                  j]                  d`dadbg«      ejZ                  j]                  dcd)d&g«      dd„ «       «       Z;de„ Z<df„ Z=dg„ Z>dh„ Z?ejZ                  j]                  didjdkg«      dl„ «       Z@dm„ ZAejZ                  j]                  dndodpg«      ejZ                  j]                  dqd8d)drœdsdtgfd8d)duœdvdwgfg«      dx„ «       «       ZBejZ                  j]                  dndodpg«      ejZ                  j]                  dqdsd8idvdwgfdvd8idsdtgfg«      dy„ «       «       ZCejZ                  j]                  dndodpg«      ejZ                  j]                  dzdwd)idtd)ig«      d{„ «       «       ZDd|„ ZEd}„ ZFd~„ ZGd„ ZHd€„ ZId�„ ZJd‚„ ZKdƒ„ ZLejZ                  j]                  d„dd…g«      d†„ «       ZMd‡„ ZNdˆ„ ZOd‰„ ZPejZ                  j]                  d„dŠd‹g«      dŒ„ «       ZQejZ                  j]                  d�ddŽg«      d�„ «       ZRd�„ ZSd‘„ ZTejZ                  j]                  d’d)d&g«      ejZ                  j]                  d“d)d&g«      ejZ                  j]                  d”d)d&g«      ejZ                  j]                  d•d)d&g«      ejZ                  j]                  d–d)d&g«      d—„ «       «       «       «       «       ZUd˜„ ZVd™„ ZWejZ                  j]                  dšd)d&g«      ejZ                  j]                  d›d)d&g«      dœ„ «       «       ZXejZ                  j]                  d�g dž¢«      dŸ„ «       ZYd „ ZZejZ                  j]                  d.d¡d/g«      d¢„ «       Z[d£„ Z\d¤„ Z]d¥„ Z^yc c} w )§é    )ÚdateÚdatetimeÚ	timedeltaN)ÚPY314)Úis_object_dtypeÚis_string_dtype)ÚCategoricalDtype)ÚCategoricalÚCategoricalIndexÚ	DataFrameÚDatetimeIndexÚIndexÚIntervalIndexÚ
MultiIndexÚPeriodIndexÚ
RangeIndexÚSeriesÚTimedeltaIndex)Úconcat)Ú
MergeErrorÚmergec           	      ó^  — t        t        | «      «      }t        j                  t        j                  ||| z  «      «      }t        |«      |k  r0t        j                  t        |«      |d |t        |«      z
   z   «      }t        j                  j                  d«      j                  |«       |S )Né   )	ÚlistÚrangeÚnpÚasarrayÚtileÚlenÚrandomÚdefault_rngÚshuffle)ÚngroupsÚnÚunique_groupsÚarrs       úf/root/aria/tools/markitdown-venv/lib/python3.12/site-packages/pandas/tests/reshape/merge/test_merge.pyÚget_test_datar(   )   s€   € Üœ˜w›Ó(€MÜ
�*‰*”R—W‘W˜]¨A°©LÓ9Ó
:€Cä
ˆ3ƒx�!‚|Ü�j‰jœ˜c› ]°>°Q¼¸S»±\Ð%BÑBÓCˆä‡I�I×Ñ˜!Ó×$Ñ$ SÔ)Ø€Jó    c                  ó^   — 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   )r.   r/   Ú	col_right)r   ©Údf1Údf2s     r'   Údfs_for_indicatorr8   4   sB   € ä
˜a ˜V°a¸°VÈ#ÈsÈÑTÓ
U€CÜ
â#Ú+Ú(ñ	
ó€Cð �ˆ8€Or)   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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j8                  j;                  ddddœdddœdddœdddœg«      d „ «       Zd!„ Zd"„ Z ej8                  j;                  d# e!d$gd%¬&«       e!d$gd'¬&«       e!d(g«       e!d)g«       e!dg«       e! e"jF                  d*«      g«       e! e"jF                  d*d+¬,«      g«      g«      ej8                  j;                  d- e!d$gd%¬&«       e!d$gd'¬&«       e!d(g«       e!d)g«       e!dg«       e! e"jF                  d*«      g«       e! e"jF                  d*d+¬,«      g«      g«      d.„ «       «       Z$ej8                  j;                  d# e!d$gd%¬&«       e!d$gd'¬&«       e!d(g«       e!d)g«       e!dg«       e! e"jF                  d*«      g«       e! e"jF                  d*d+¬,«      g«      g«      ej8                  j;                  d/ e!e"jJ                  gd'¬&«       e!e&jN                  gd0¬&«       e!e&jN                  gd1¬&«       e!e"jP                  g«      g«      d2„ «       «       Z)d3„ Z*ej8                  j;                  d4d5g d6¢fdg d7¢fg«      ej8                  j;                  d8d9d:g«      d;„ «       «       Z+d<„ Z,d=„ Z-ej8                  j]                  d>«      d?„ «       Z/d@„ Z0dA„ Z1ej8                  j;                  dBg dC¢«      dD„ «       Z2ej8                  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j8                  j;                  d8d:dVg«      ej8                  j;                  dW eDg dX¢«       eDg dY¢«      f eEg dZ¢d[¬&«       eEd\d]d^e"jP                  e"jP                  e"jP                  gd[¬&«      fgeFjŽ                  D � ���cg c].  }t‘        g d_¢|¬&«      t‘        g d`¢tL        j’                  ¬&«      f‘Œ0 c}}}} ¢ eJj–                  g da¢«       eJj–                  dbdcdde&jN                  e&jN                  e&jN                  g«      f‘ eLg de¢df¬g«       eLd\dhdie"jP                  e"jP                  e"jP                  gdf¬g«      f‘ eMg dj¢«       eMdkdldme"jP                  e"jP                  e"jP                  g«      f‘«      dn„ «       «       ZNdo„ ZOej8                  j;                  d8d9d:g«      dp„ «       ZPdq„ ZQdr„ ZRds„ ZSytc c}}}} w )uÚ	TestMergec                 ó  — t        t        «       t        «       t        j                  j	                  d«      j                  d«      t        j                  j	                  d«      j                  d«      dœ«      }||d   dkD     }|S )Nr   é2   )Úkey1Úkey2Údata1Údata2r>   r+   ©r   r(   r   r    r!   Ústandard_normal)ÚselfÚdfs     r'   rD   zTestMerge.dfB   sn   € ää%›Ü%›ÜŸ™×.Ñ.¨qÓ1×AÑAÀ"ÓEÜŸ™×.Ñ.¨qÓ1×AÑAÀ"ÓEñ	ó
ˆð ��6‘
˜Q‘ÑˆØˆ	r)   c                 ó¢   — t        t        d¬«      t        dd¬«      t        j                  j	                  d«      j                  d«      dœ«      S )Né
   )r$   r2   )r#   r$   r   )r=   r>   ÚvaluerA   ©rC   s    r'   r7   zTestMerge.df2Q   sC   € ää%¨Ô+Ü%¨a°2Ô6ÜŸ™×.Ñ.¨qÓ1×AÑAÀ"ÓEñó
ð 	
r)   c                 óz   — t        g d¢t        j                  j                  d«      j	                  d«      dœ«      S )N©r,   r-   ÚcÚdÚerM   r,   r   é   ©ÚkeyÚv1)r   r   r    r!   rB   rH   s    r'   ÚleftzTestMerge.left[   s4   € äâ:Ü—i‘i×+Ñ+¨AÓ.×>Ñ>¸qÓAñó
ð 	
r)   c                 ó¨   — t        «       }t        dddgiddgd¬«      }t        ||dd¬«      }t        dg id¬	«      }t        j                  ||«       y )
Nr,   r+   r   r   Úint64)ÚindexÚdtypeT©Ú
left_indexÚright_index©rV   ©r   r   ÚtmÚassert_frame_equal)rC   Údf_emptyÚdf_aÚresultÚexpecteds        r'   Útest_merge_inner_join_emptyz%TestMerge.test_merge_inner_join_emptyd   sS   € ä“;ˆÜ˜#  1˜v˜¨q°!¨f¸GÔDˆÜ�x °$ÀDÔIˆÜ˜c 2˜Y¨gÔ6ˆÜ
×Ñ˜f hÕ/r)   c                 óh   — t        ||«      }t        ||ddg¬«      }t        j                  ||«       y )Nr=   r>   ©Úon©r   r\   r]   )rC   rD   r7   ÚjoinedÚexps        r'   Útest_merge_commonzTestMerge.test_merge_commonl   s0   € Ü�r˜3“ˆÜ�B˜ ¨Ð 0Ô1ˆÜ
×Ñ˜f cÕ*r)   c                 ó¦   — t        g d¢g d¢g d¢g d¢dœ«      }|j                  t        «      }|}t        ||«      }t	        j
                  ||«       y )N)r+   r   r+   r   )r   r+   r   r   )r   r   r   r   )r+   r   r   r1   ©r   r+   r   r1   )r   ÚastypeÚfloatr   r\   r]   ©rC   rR   Úrightra   r`   s        r'   Útest_merge_non_string_columnsz'TestMerge.test_merge_non_string_columnsq   sK   € ô Ú¢²,Â<ÑPó
ˆð —‘œEÓ"ˆØˆÜ�t˜UÓ#ˆÜ
×Ñ˜h¨Õ/r)   c                 óÊ   — |j                  d«      }|j                  d«      }t        ||d¬«      }t        ||d¬«      j                  d«      }t        j                  ||«       y )Nr=   rd   )Ú	set_indexr   r\   r]   )rC   rD   r7   rR   ro   r`   ra   s          r'   Útest_merge_index_as_on_argz$TestMerge.test_merge_index_as_on_arg}   sW   € ð �|‰|˜FÓ#ˆØ—‘˜fÓ%ˆÜ�t˜U vÔ.ˆÜ˜˜S VÔ,×6Ñ6°vÓ>ˆÜ
×Ñ˜f hÕ/r)   c                 óB  — t        g d¢t        j                  j                  d«      j	                  d«      dœ«      }t        dt        j                  j                  d«      j	                  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   «       y )NrJ   r   rN   rO   Úv2r2   ©rL   r-   rK   r,   ©rU   rP   TrR   F)Úleft_onrY   ÚhowÚsortro   )Úright_onrX   ry   rz   )
r   r   r    r!   rB   r   r\   r]   ÚlocÚcolumns)rC   rR   ro   Úmerged1Úmerged2s        r'   Ú(test_merge_index_singlekey_right_vs_leftz2TestMerge.test_merge_index_singlekey_right_vs_left†   s  € Üâ:Ü—i‘i×+Ñ+¨AÓ.×>Ñ>¸qÓAñó
ˆô Ø”2—9‘9×(Ñ(¨Ó+×;Ñ;¸AÓ>Ð?Ú&ô
ˆô
 Ø�% °D¸fÈ5ô
ˆô Ø�4 %°D¸gÈEô
ˆô 	×Ñ˜g w§{¡{²1°g·o±oÐ3EÑ'FÔGäØ�% °D¸fÈ4ô
ˆô Ø�4 %°D¸gÈDô
ˆô 	×Ñ˜g w§{¡{²1°g·o±oÐ3EÑ'FÕGr)   c                 ól  — t        g d¢t        j                  j                  d«      j	                  d«      dœ«      }t        dt        j                  j                  d«      j	                  d«      ig d¢¬«      }t        ||d	d
d¬«      }|j                  |d	¬«      j                  |j                     }t        j                  ||«       t        ||d	d
d¬«      }|j                  |d	¬«      j                  |j                     }t        j                  ||j                  d d …|j                  f   «       y )NrJ   r   rN   rO   ru   r2   rv   rw   rP   TÚinner©rx   rY   ry   rd   )r{   rX   ry   )r   r   r    r!   rB   r   Újoinr|   rU   r\   r]   r}   ©rC   rR   ro   r`   ra   s        r'   Ú test_merge_index_singlekey_innerz*TestMerge.test_merge_index_singlekey_inner¢   sü   € Üâ:Ü—i‘i×+Ñ+¨AÓ.×>Ñ>¸qÓAñó
ˆô Ø”2—9‘9×(Ñ(¨Ó+×;Ñ;¸AÓ>Ð?Ú&ô
ˆô �t˜U¨E¸tÈÔQˆØ—9‘9˜U u�9Ó-×1Ñ1°&·,±,Ñ?ˆÜ
×Ñ˜f hÔ/ä�u˜d¨U¸tÈÔQˆØ—9‘9˜U u�9Ó-×1Ñ1°&·,±,Ñ?ˆÜ
×Ñ˜f h§l¡l²1°f·n±nÐ3DÑ&EÕFr)   c                 ó   — t        dt        j                  j                  d«      j	                  d«      ig d¢¬«      }d}t        j                  t        j                  j                  |¬«      5  t        ||d¬	«       d d d «       d
}t        j                  t        j                  j                  |¬«      5  t        ||d¬«       d d d «       d}t        j                  t        j                  j                  |¬«      5  t        ||dd¬«       d d d «       d}t        j                  t        |¬«      5  t        ||dgddg¬«       d d d «       y # 1 sw Y   ŒÓxY w# 1 sw Y   Œ—xY w# 1 sw Y   ŒZxY w# 1 sw Y   y xY w)Nru   r   r2   rv   rw   z&Must pass right_on or right_index=True©ÚmatchT)rX   z$Must pass left_on or left_index=True)rY   zRCan only pass argument "on" OR "left_on" and "right_on", not a combination of bothrP   )rx   re   z)len\(right_on\) must equal len\(left_on\)r=   r>   ©rx   r{   )r   r   r    r!   rB   ÚpytestÚraisesÚpdÚerrorsr   r   Ú
ValueError)rC   rD   r7   rR   ro   Úmsgs         r'   Útest_merge_misspecifiedz!TestMerge.test_merge_misspecified·   s?  € ÜØ”2—9‘9×(Ñ(¨Ó+×;Ñ;¸AÓ>Ð?Ú&ô
ˆð 7ˆÜ�]‰]œ2Ÿ9™9×/Ñ/°sÔ;ñ 	0Ü�$˜¨$Õ/÷	0à4ˆÜ�]‰]œ2Ÿ9™9×/Ñ/°sÔ;ñ 	1Ü�$˜¨4Õ0÷	1ð$ð 	ô �]‰]œ2Ÿ9™9×/Ñ/°sÔ;ñ 	7Ü�$˜ e°Õ6÷	7ð ;ˆÜ�]‰]œ:¨SÔ1ñ 	HÜ�"�c F 8°v¸vÐ6FÕG÷	Hð 	H÷	0ð 	0ú÷	1ð 	1ú÷	7ð 	7ú÷	Hð 	Hús0   Á/EÂ7EÃ?E(Ä4E4ÅEÅE%Å(E1Å4E=c           	      óœ  — d}t        j                  t        |¬«      5  t        ||ddddg¬«       d d d «       d}t        j                  t        |¬«      5  t        ||dddgd¬«       d d d «       t        j                  t        |¬«      5  t        ||dddgddg¬«       d d d «       y # 1 sw Y   ŒzxY w# 1 sw Y   ŒNxY w# 1 sw Y   y xY w)	Nz>right_index parameter must be of type bool, not <class 'list'>rˆ   rR   Fr=   r>   ©ry   rX   rY   z=left_index parameter must be of type bool, not <class 'list'>©r‹   rŒ   r�   r   )rC   rD   r7   r�   s       r'   Ú&test_index_and_on_parameters_confusionz0TestMerge.test_index_and_on_parameters_confusionÎ   sØ   € ØNˆÜ�]‰]œ:¨SÔ1ñ 	ÜØØØØ Ø# VÐ,õ÷	ð NˆÜ�]‰]œ:¨SÔ1ñ 	ÜØØØØ" FÐ+Ø!õ÷	ô �]‰]œ:¨SÔ1ñ 	ÜØØØØ" FÐ+Ø# VÐ,õ÷	ð 	÷#	ð 	ú÷	ð 	ú÷	ð 	ús#   žB*ÁB6ÂCÂ*B3Â6B?ÃCc                 ó    — t        ||d¬«      }|d   j                  «       dz  j                  «       }t        |«      |k(  sJ ‚d|v sJ ‚d|v sJ ‚y )NrP   rd   r   Úv1_xÚv1_y)r   Úvalue_countsÚsumr   )rC   rR   ÚmergedÚexp_lens       r'   Útest_merge_overlapzTestMerge.test_merge_overlapê   s^   € Ü�t˜T eÔ,ˆØ˜‘;×+Ñ+Ó-°Ñ2×7Ñ7Ó9ˆÜ�6‹{˜gÒ%Ð%Ð%Ø˜ÑÐÐØ˜ÑÐÑr)   c           	      óP  — t        g d¢g d¢dœ«      }t        g d¢g d¢dœ«      }|j                  |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   |«       y )N)ÚfooÚbarÚbazrŸ   ©r+   r   r1   r2   )ÚlkeyrG   )rŸ   r    ÚquxrŸ   )r3   é   rN   é   )ÚrkeyrG   r£   r§   ÚouterT)rx   r{   ry   rz   r    r¡   rŸ   ©Únamer¤   r   r1   r+   r2   Úvalue_xr¥   r3   r¦   rN   Úvalue_y)r   r   r   r   Únanr\   Úassert_series_equal)rC   rR   ro   r›   rh   s        r'   Ú%test_merge_different_column_key_namesz/TestMerge.test_merge_different_column_key_namesñ   s  € ÜÒ">ÊÑVÓWˆÜÒ#?Ê,ÑWÓXˆà—‘Ø˜6¨F¸Àdð ó 
ˆô �e˜U E¨5°%¸ÄÇÁÐGÈfÔUˆÜ
×Ñ˜v f™~¨sÔ3ä�eœRŸV™V U¨E°5¸%ÀÐGÈfÔUˆÜ
×Ñ˜v f™~¨sÔ3ä�a˜˜A˜q ! Q¬¯©Ð/°iÔ@ˆÜ
×Ñ˜v iÑ0°#Ô6ä�aœŸ™  A q¨!¨QÐ/°iÔ@ˆÜ
×Ñ˜v iÑ0°#Õ6r)   c                 óú   — t        dddœt        d«      ¬«      }t        dddœt        d«      ¬«      }t        ||d	d	¬
«      }d|d<   |d   dk(  j                  «       sJ ‚d|d<   |d   dk(  j                  «       sJ ‚y )Nr   r+   ©r,   r-   rF   rw   rŸ   r    ©rK   rL   TrW   r¥   r,   ÚpeekaboorL   )r   r   r   Úall)rC   rR   ro   r›   s       r'   Útest_merge_copyzTestMerge.test_merge_copy  sƒ   € Ü˜q qÑ)´°r³Ô;ˆÜ ¨EÑ2¼%À»)ÔDˆä�t˜U¨tÀÔFˆàˆˆs‰Ø�S‘	˜Q‘×#Ñ#Ô%Ð%Ð%à ˆˆs‰Ø�c‘
˜eÑ#×(Ñ(Ô*Ð*Ñ*r)   c                 óT  — t        dddœt        d«      ¬«      }t        dddœt        d«      ¬«      }t        ||d	d	¬
«      }t        j                  |d   j
                  |d   j
                  «      sJ ‚|s3t        j                  |d   j
                  |d   j
                  «      sJ ‚y y )Nr   r+   r±   rF   rw   rŸ   r    r²   TrW   r,   rL   )r   r   r   r   Úshares_memoryÚ_values)rC   Úusing_infer_stringrR   ro   r›   s        r'   Útest_merge_nocopyzTestMerge.test_merge_nocopy  s˜   € Ü˜q qÑ)´°r³Ô;ˆÜ ¨EÑ2¼%À»)ÔDˆä�t˜U¨tÀÔFˆä×Ñ  s¡× 3Ñ 3°T¸#±Y×5FÑ5FÔGÐGÐGÙ!Ü×#Ñ# F¨3¡K×$7Ñ$7¸¸s¹×9KÑ9KÔLÐLÑLð "r)   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                  ||«       y )N©r+   r+   r   r   r1   r3   ©rP   rG   rG   rP   ©r}   ©r+   r+   r   r1   r2   r3   r¥   )rP   Úrvaluer¨   ©re   ry   ©	r+   r+   r+   r+   r   r   r1   r2   r3   r   r+   r   r1   r2   )	r   r+   r   r+   r   r   r1   r2   r3   )rP   rG   rÀ   )rG   rP   rÀ   )	r   r   r   r   r   Úarrayr­   r\   r]   )rC   rR   ro   rg   ra   s        r'   Ú"test_intelligently_handle_join_keyz,TestMerge.test_intelligently_handle_join_key  s£   € ô Ú#¬d´5¸³8«nÑ=ÈÐQVÐGWô
ˆô Ò"4ÄÄUÈ1ÃXÃÑOÓPˆä�t˜U u°'Ô:ˆÜâ2ÜŸ™ 1 a¨¨A¨q°!°Q¼¿¹ÄÇÁÐ"GÓHÚ5ñò
 /ô
ˆô 	×Ñ˜f hÕ/r)   c                 ó  — 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 ‚y )Nr+   rF   rO   r   é   r¨   ©ry   rP   rT   TFr   ÚboolÚval©rx   r{   ry   Úkey_0)r   r   rV   r   rÃ   Úint)rC   r6   r7   rD   r£   r§   s         r'   Útest_merge_join_key_dtype_castz(TestMerge.test_merge_join_key_dtype_cast.  s
  € ô   ¨B¨4Ñ0Ó1ˆÜ  ¨B¨4Ñ0Ó1ˆÜ�3˜ Ô)ˆØ�%‰y�‰ 'Ò)Ð)Ð)ä  ¨q¨cÑ2Ó3ˆÜ  °¨sÑ3Ó4ˆÜ�3˜ Ô)ˆð �%‰y�‰ &Ò(Ð(Ð(ä˜  ˜Ó%ˆÜ˜  ˜Ó%ˆÜ�x‰x˜˜‹}ˆÜ�x‰x˜˜‹}ˆÜ�3˜ T°D¸gÔFˆØ�'‰{× Ñ ¤B§H¡H¬S£MÒ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   j                  «       j                  «       sJ ‚|d   j                  «       j                  «       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¬«      «       y )Nr¼   r3   r½   rG   rP   rT   ©r}   rV   rÀ   r¥   rZ   r¿   r¨   rÊ   r¾   rÂ   rË   ©rV   rª   r1   )r   r+   r+   r   r   r1   T)rX   r{   ry   r©   )r   r   ÚarangerÃ   r   r\   r®   Únotnar´   r   rÌ   rT   )	rC   rR   ro   rP   r›   r   r£   r§   ra   s	            r'   Útest_handle_join_key_pass_arrayz)TestMerge.test_handle_join_key_pass_arrayE  sÁ  € ÜÚ#¬b¯i©i¸«lÑ;Ø˜eÐ$Øô
ˆô
 ˜8¤R§Y¡Y¨q£\Ð2¸'ÔBˆÜ�h‰hÒ)°Ô9ˆä�t˜U¨E¸CÀWÔMˆÜ˜˜t¨S¸5ÀgÔNˆä
×Ñ˜v e™}¨g°e©nÔ=Ø�e‰}×"Ñ"Ó$×(Ñ(Ô*Ð*Ð*Ø�u‰~×#Ñ#Ó%×)Ñ)Ô+Ð+Ð+ä˜'¤2§9¡9¨Q£<Ð0¸7¸)ÔDˆÜ˜8¤R§Y¡Y¨q£\Ð2Ó3ˆÜ�x‰xšÓ(ˆÜ�x‰xÒ*Ó+ˆä�t˜U¨D¸4ÀWÔMˆÜÒ5¼SÀwÔOˆÜ
×Ñ˜v g™°Ô9ä˜'¤2§9¡9¨Q£<Ð0Ó1ˆÜ˜8¤R§Y¡Y¨q£\Ð2Ó3ˆä�h‰hÒ)´·±Ô:ˆÜ�t˜U¨t¸cÀwÔOˆÜ
×Ñ˜v g™´°sÀÔ0IÕ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 «       y # 1 sw Y   y xY w)NÚxr,   rw   Úyr-   rK   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   )rC   Údtr6   r7   r�   s        r'   Ú&test_no_overlap_more_informative_errorz0TestMerge.test_no_overlap_more_informative_errore  s’   € Ü�\‰\‹^ˆÜ˜˜s˜e˜¨R¨DÔ1ˆä˜˜s C˜jÐ)°"°b°Ô:ˆð&Ø&* V¨;°t°fð =Ø˜ ¨u¨gð7ð 	ô �]‰]œ:¨SÔ1ñ 	Ü�#�sŒO÷	÷ 	ñ 	ús   Á"A8Á8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        ||«       y )NéÜ  r3   r+   r   r1   r2   rÕ   r,   rw   rÖ   r-   rK   )r,   r-   Úq)rK   rL   rM   ÚfÚgÚhrL   ©r   r   Ú_check_merge)rC   rØ   Údt2Údt3Údt4r6   r7   s          r'   Útest_merge_non_unique_indexesz'TestMerge.test_merge_non_unique_indexest  sõ   € Ü�d˜A˜qÓ!ˆÜ�t˜Q Ó"ˆÜ�t˜Q Ó"ˆÜ�t˜Q Ó"ˆä˜˜s˜e˜¨R¨DÔ1ˆÜ˜˜s C˜jÐ)°"°b°Ô:ˆÜ�S˜#Ôô ˜šoÐ.°s¸BÀ°nÔEˆÜØÒ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        ||«       y )NrÛ   r3   r+   r   r1   rÕ   ©r,   r-   rK   rL   rw   rÖ   )rM   rÝ   rÞ   z hÚirà   )rC   rØ   râ   rã   r6   r7   s         r'   Ú(test_merge_non_unique_index_many_to_manyz2TestMerge.test_merge_non_unique_index_many_to_many‰  ss   € Ü�d˜A˜qÓ!ˆÜ�t˜Q Ó"ˆÜ�t˜Q Ó"ˆÜ˜Ò2Ð3¸CÀÀbÈ"Ð;MÔ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                  ||«       y )Nr+   r   r½   rP   rR   rÁ   ro   r[   )rC   rR   ro   r`   s       r'   Útest_left_merge_empty_dataframez)TestMerge.test_left_merge_empty_dataframe“  sc   € Ü ! °¨sÑ3Ó4ˆÜ˜5 "˜+Ó&ˆä�t˜U u°&Ô9ˆÜ
×Ñ˜f dÔ+ä�u˜d u°'Ô:ˆÜ
×Ñ˜f dÕ+r)   c                 ó–   — t        g |d d ¬«      }|j                  «       }|j                  ||¬«      }t        j                  ||«       y )Nr   rw   rÇ   )r   Úcopyr„   r\   r]   )rC   rU   Ú	join_typerR   ro   r`   s         r'   Útest_merge_empty_dataframez$TestMerge.test_merge_empty_dataframe�  sA   € ä˜ 5¨¨! 9Ô-ˆØ—	‘	“ˆà—‘˜5 i�Ó0ˆÜ
×Ñ˜f dÕ+r)   ÚkwargTrW   rÕ   ©rX   r{   r,   ©rx   rY   rŠ   c                 ó¬   — t        g d¢¬«      }t        g d¢¬«      }t        g d¢t        ¬«      }t        ||fd|i|¤Ž}t        j                  ||«       y )N©r,   r-   rK   r¾   ©rÕ   rÖ   Úz©r,   r-   rK   rÕ   rÖ   rö   rÏ   ry   )r   Úobjectr   r\   r]   )rC   rî   rð   rR   ro   Úexp_inr`   s          r'   Ú!test_merge_left_empty_right_emptyz+TestMerge.test_merge_left_empty_right_empty¥  sK   € ô ¢Ô1ˆÜ¢/Ô2ˆäÒ#AÌÔ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<    |||«       y )Nrô   r¾   ©r+   r   r1   ©r2   r3   r¥   ©rN   r¦   é	   rõ   r1   rZ   ©r+   r2   rN   ©r   r3   r¦   ©r1   r¥   rÿ   r÷   r   c                 óš   •— t        ‰‰fddi|¤Ž}t        j                  || «       t        ‰‰fddi|¤Ž}t        j                  || «       y )Nry   r‚   rR   rf   ©rh   rð   r`   rR   ro   s      €€r'   Úcheck1z>TestMerge.test_merge_left_empty_right_notempty.<locals>.check1Ê  sO   ø€ Ü˜4 Ñ=¨GÐ=°uÑ=ˆFÜ×!Ñ! &¨#Ô.Ü˜4 Ñ<¨FÐ<°eÑ<ˆFÜ×!Ñ! &¨#Õ.r)   c                 óš   •— t        ‰‰fddi|¤Ž}t        j                  || «       t        ‰‰fddi|¤Ž}t        j                  || «       y )Nry   ro   r¨   rf   r  s      €€r'   Úcheck2z>TestMerge.test_merge_left_empty_right_notempty.<locals>.check2Ð  óO   ø€ Ü˜4 Ñ=¨GÐ=°uÑ=ˆFÜ×!Ñ! &¨#Ô.Ü˜4 Ñ=¨GÐ=°uÑ=ˆFÜ×!Ñ! &¨#Õ.r)   TrW   rÕ   rñ   r,   rò   ©r   r+   r   rŠ   )r   r   rÃ   r­   rø   )rC   Úexp_outrù   r  r  rð   rR   ro   s         @@r'   Ú$test_merge_left_empty_right_notemptyz.TestMerge.test_merge_left_empty_right_notempty¸  s:  ù€ ä¢Ô1ˆÜš9¢i²Ð;Â_ÔUˆää—X‘XœrŸv™v˜h¨™l´&Ô9Ü—X‘XœrŸv™v˜h¨™l´&Ô9Ü—X‘XœrŸv™v˜h¨™l´&Ô9ÚÚÚñò 3ô

ˆð ˜˜1�ˆõ	/õ	/ð  °Ñ5Ø¨SÑ1ð
ò 	#ˆEñ �6˜5Ô!Ù�7˜EÕ"ð	#ð  °Ñ5ˆÙˆv�uÔÚ ˆ�‰Ùˆw˜Ôà¨SÑ1ˆÙˆv�uÔÜ—x‘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
                  j                  t        «      ‰_        ˆˆfd„Šˆˆˆˆˆˆfd„Šy )Nrü   rý   rþ   rô   r¾   rõ   r   r  r  r1   rZ   r÷   r   c                 óš   •— t        ‰‰fddi|¤Ž}t        j                  || «       t        ‰‰fddi|¤Ž}t        j                  || «       y )Nry   r‚   ro   rf   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 ]  } ‰‰|«        ‰‰|«       Œ y )Nry   rR   r¨   TrW   rÕ   rñ   r,   rò   rŠ   rf   )	rh   rð   r`   r  r  rù   r
  rR   ro   s	      €€€€€€r'   r  z>TestMerge.test_merge_left_notempty_right_empty.<locals>.check2  s˜   ø€ Ü˜4 Ñ<¨FÐ<°eÑ<ˆFÜ×!Ñ! &¨#Ô.Ü˜4 Ñ=¨GÐ=°uÑ=ˆFÜ×!Ñ! &¨#Ô.ð  $°DÑ9Ø#°Ñ5Ø°Ñ5Ø¨SÑ1ð	ò '�ñ �v˜uÔ%Ù�w Õ&ñ'r)   )r   r   rÃ   r­   rø   rU   rl   )rC   r  r  rù   r
  rR   ro   s    @@@@@@r'   Ú$test_merge_left_notempty_right_emptyz.TestMerge.test_merge_left_notempty_right_emptyç  s·   ý€ äš)¢Y²	Ð:ÂOÔTˆÜ¢/Ô2ˆäâÚÚÜ—X‘XœrŸv™v˜h¨™l´&Ô9Ü—X‘XœrŸv™v˜h¨™l´&Ô9Ü—X‘XœrŸv™v˜h¨™l´&Ô9ñò 3ô

ˆð ˜˜1�ˆà—|‘|×*Ñ*¬6Ó2ˆŒõ	/÷	'ò 	'r)   Úseries_of_dtyper+   rT   rZ   ÚInt64g®Gáz®ó?rŸ   ú
2018-01-01ú
US/Eastern©ÚtzÚseries_of_dtype2c                 ó4  — t        ||dœddg¬«      }|d d }t        t        |j                  d   ¬«      t        |j                  d   ¬«      t        |j                  d   ¬«      dœg d¢¬«      }|j                  |d¬«      }t	        j
                  ||«       y )	Nr½   rP   rG   r¾   r   rZ   ©rP   r«   r¬   rd   )r   r   Údtypesr   r\   r]   )rC   r  r  rD   r^   ra   Úactuals          r'   Útest_merge_empty_framez TestMerge.test_merge_empty_frame  s—   € ô4 Ø#Ð.>Ñ?Ø˜GÐ$ô
ˆð �b�q�6ˆÜä B§I¡I¨eÑ$4Ô5Ü!¨¯	©	°'Ñ(:Ô;Ü!¨¯	©	°'Ñ(:Ô;ñò
 2ô
ˆð —‘  u�Ó-ˆÜ
×Ñ˜f hÕ/r)   Úseries_of_dtype_all_narm   rø   c                 óÄ   — t        ||dœddg¬«      }t        ||dœddg¬«      }t        |||dœg d¢¬«      }|j                  |d¬«      }t        j                  ||«       y )Nr½   rP   rG   r¾   r  rd   r[   )rC   r  r  Údf_leftÚdf_rightra   r  s          r'   Útest_merge_all_na_columnz"TestMerge.test_merge_all_na_column;  s   € ô. Ø#Ð.DÑEØ˜GÐ$ô
ˆô Ø#Ð.DÑEØ˜GÐ$ô
ˆô à&Ø1Ø1ñò
 2ô
ˆð —‘˜x¨E�Ó2ˆÜ
×Ñ˜f hÕ/r)   c                 óÈ  — t         j                  j                  d«      j                  ddd¬«      t         j                  j                  d«      j                  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                  j                  «       }t        j                  |«      }t        j                  |t         j                  j                  d«      j                  d«      dœ«      }|j                  |dd¬«      }t        ||dd¬«      }t        j                  ||«       |j                  j                  «       |j                  j                  «       k(  j                  «       sJ ‚y )Nr   r   rF   ©ÚsizerÛ   r+   é   iÛ  r2   iÚ  r1   iØ  r3   )Úvar1Úvar2Úvar3rN   )r'  Úvar8r'  F©re   rz   )r   r    r!   Úintegersr   r   Ú	from_dictr'  Úuniquerz   r   r\   r]   r´   )rC   rL   rD   r'  Únewr`   rh   s          r'   Útest_merge_nosortzTestMerge.test_merge_nosorte  s–  € ô —I‘I×)Ñ)¨!Ó,×5Ñ5°a¸À"Ð5ÓEÜ—I‘I×)Ñ)¨!Ó,×5Ñ5°a¸À"Ð5ÓEä˜˜q "Ó%Ü˜˜q !Ó$Ü˜˜q !Ó$Ü˜˜q "Ó%Ü˜˜q !Ó$Ü˜˜q !Ó$Ü˜˜q !Ó$Ü˜˜q !Ó$Ü˜˜q !Ó$Ü˜˜q !Ó$ðñ
ˆô  × Ñ  Ó#ˆØ�w‰w�~‰~ÓˆÜ�w‰w�t‹}ˆÜ×!Ñ!Ø¤2§9¡9×#8Ñ#8¸Ó#;×#BÑ#BÀ1Ó#EÑFó
ˆð —‘˜# &¨u�Ó5ˆÜ�B˜ ¨UÔ3ˆÜ
×Ñ˜f cÔ*à—‘—‘Ó  F§K¡K×$6Ñ$6Ó$8Ñ8×=Ñ=Ô?Ð?Ñ?r)   )rz   ÚvaluesF)r+   r+   r   r+   r+   )r   r+   r+   r+   r+   ry   rR   ro   c                 ó”   — t        dg d¢i«      }|j                  |d||¬«      }t        |dg¬«      }t        j                  ||«       y )Nr,   )r+   r   r+   )re   ry   rz   r¾   r[   )rC   rz   r/  ry   rD   r`   ra   s          r'   Ú test_merge_same_order_left_rightz*TestMerge.test_merge_same_order_left_right…  sG   € ô ˜šYÐ'Ó(ˆà—‘˜" ¨#°D�Ó9ˆÜ˜V¨c¨UÔ3ˆÜ
×Ñ˜f hÕ/r)   c           	      óÂ  — t        ddgddgdœ«      }t        dgdgdœ«      }|j                  |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
        ¬«      ¬«      j                  d «      j                  «       g d¢   }|j                  j                  d«      |_        t        j                  ||d¬«       y )Nr   r+   ©Úi1Úi2©r4  Úi3r4  Ú_)re   Úrsuffixç        ©r   r+   )r4  r5  Úi1_r7  NrZ   r¾   ©r4  r5  r<  r7  rø   F©Úcheck_dtype)r   r„   r   r­   r   rø   rr   Úreset_indexr}   rl   r\   r]   ©rC   r6   r7   r`   ra   s        r'   Útest_merge_nan_rightzTestMerge.test_merge_nan_right‘  sÐ   € Ü  1˜v¨a°¨VÑ4Ó5ˆÜ ˜s¨1¨#Ñ.Ó/ˆØ—‘˜# $°�Ó4ˆäà! a™.Ø A™,Ø ¤R§V¡VÑ,Ø!¤b§f¡fÑ-Ø A™,ñô Ò=ÄVÔLô	÷ ‰Y�t‹_ß‰[‹]Ò4ñ6ð 	ð  Ÿ™×.Ñ.¨xÓ8ˆŒÜ
×Ñ˜f h¸EÖBr)   c                 ó  — t        ddgddgdœ«      }t        dgdgdœ«      }|j                  |dd	¬
«      }t        dddœdt        j                  dœdddœdt        j                  dœdœ«      g d¢   }t	        j
                  ||«       y )Nr   r+   g      à?ç      ø?r3  gffffffæ?r6  r8  r4  )r9  re   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Ó9ˆÜ ˜s¨3¨%Ñ0Ó1ˆØ—‘˜# s¨t�Ó4ˆÜà ‘lØ¤2§6¡6Ñ*Ø #Ñ&Ø-´"·&±&Ñ9ñ	ó
ò $ñ%ˆô 	×Ñ˜f hÕ/r)   zMignore:Passing a BlockManager|Passing a SingleBlockManager:DeprecationWarningc                 óz   ‡—  G ˆfd„dt         «      Š ‰|«      }|j                  |d¬«      }t        |‰«      sJ ‚y )Nc                   ó"   •— e Zd Zeˆ fd„«       Zy)ú0TestMerge.test_merge_type.<locals>.NotADataFramec                 ó   •— ‰S ©N© )rC   ÚNotADataFrames    €r'   Ú_constructorz=TestMerge.test_merge_type.<locals>.NotADataFrame._constructor¹  s	   ø€ à$Ð$r)   N)Ú__name__Ú
__module__Ú__qualname__ÚpropertyrM  )rL  s   €r'   rL  rH  ¸  s   ø„ Øó%ó ñ%r)   rL  r=   rd   )r   r   Ú
isinstance)rC   rD   r7   Únadr`   rL  s        @r'   Útest_merge_typezTestMerge.test_merge_type´  s=   ø€ ö	%œIô 	%ñ
 ˜BÓˆØ—‘˜3 6�Ó*ˆä˜& -Ô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                  ||«       y )NiÝ  é   r3   é8   r   iäW  )rL   ÚtrØ   r¾   T©Úignore_indexrZ   )	r   r+  r   r   r   r   rø   r\   r]   )rC   rL   rD   r`   ra   s        r'   Útest_join_append_timedeltasz%TestMerge.test_join_append_timedeltasÂ  sÄ   € ô ×ÑÜ˜D " a¨¨BÓ/Ð0¼	À!ÀUÓ8KÐ7LÑMó
ˆô œt D›zÔ*ˆÜ�R˜�G¨$Ô/ˆÜ˜˜Q˜¨dÔ3ˆÜä˜t R¨¨A¨rÓ2´H¸TÀ2ÀqÈ!ÈRÓ4PÐQÜ  5Ó)¬9°Q¸Ó+>Ð?ñô ô
ˆô 	×Ñ˜f hÕ/r)   c           	      óx  — t        j                  dd«      }t        t        ||gddg¬«      «      }t        t        |gdg¬«      «      }|j	                  |dd¬«      }t        t        ||gt        d	«      ¬«      t        |t        j                  gt        d	«      ¬«      d
œ«      }t        j                  ||«       y )Ni £áÚnsÚAÚBrw   ÚrrR   )r9  ry   ÚAB)Ú0Ú0r)
r   Útimedelta64r   r   r„   r   r�   ÚNaTr\   r]   )rC   ÚtdÚlhsÚrhsr`   ra   s         r'   Útest_join_append_timedeltas2z&TestMerge.test_join_append_timedeltas2Õ  sŸ   € ô �^‰^˜I tÓ,ˆÜœ  B˜x°°S¨zÔ:Ó;ˆÜœ ˜t¨C¨5Ô1Ó2ˆà—‘˜# s°�Ó7ˆÜä˜R ˜H¬D°«JÔ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|}|j                  |«      j                  d«      }|d   j                  |k(  sJ ‚|j                  |dd
¬«      }t        j                  ddg|¬«      }t        j                  j                  j                  j                  ||j                  ¬«      }t        ddg|dœddg¬«      }	|	d   j                  |k(  sJ ‚t        j                  ||	«       y )NÚ	entity_idée   éf   Údays©rU   rª   zdatetime64[ú]©rk  rß   rl  zdatetime64[s]Trò   ÚnatrZ   ©rq  rt  r¾   )r   r   rl   Úto_framerV   r   r   rÃ   r�   ÚcoreÚarraysÚDatetimeArrayÚ_simple_newr\   r]   )
rC   rj  r6   ÚserrV   Ú	exp_dtyper7   r`   rt  rh   s
             r'   Útest_other_datetime_unitz"TestMerge.test_other_datetime_unitå  s  € ô ˜ s¨C jÐ1Ó2ˆÜ�d˜D�\¨#¨s¨¸&ÔAˆà˜d˜V 1Ð%ˆà�?Ñ"à'‰IàˆIØ�j‰j˜Ó#×,Ñ,¨VÓ4ˆØ�6‰{× Ñ  IÒ-Ð-Ð-à—‘˜3¨À�ÓFˆä�x‰x˜ ˜¨iÔ8ˆÜ�w‰w�~‰~×+Ñ+×7Ñ7¸ÀDÇJÁJÐ7ÓOˆÜà! 3˜ZØñð ! &Ð)ô
ˆð �6‰{× Ñ  IÒ-Ð-Ð-Ü
×Ñ˜f cÕ*r)   c                 ó4  — t        dddgi«      }t        d d gddgd¬«      }d|› d�}|dv rXd	}t        j                  t        |¬
«      5  |j                  |«       d d d «       |j                  d«      j                  d«      }n4|j                  |«      j                  d«      }|d   j                  |k(  sJ ‚|j                  |dd¬«      }t        ddgt        j                  ddg|¬«      dœddg¬«      }t        j                  ||«       y # 1 sw Y   Œ´xY w)Nrq  rr  rs  rt  ru  zm8[rv  rw  z/Supported resolutions are 's', 'ms', 'us', 'ns'rˆ   zm8[s]Trò   rx  rZ   ry  r¾   )r   r   r‹   rŒ   r�   rl   rz  rV   r   r   rÃ   r\   r]   )	rC   rj  r6   r  rV   r�   r7   r`   rh   s	            r'   Útest_other_timedelta_unitz#TestMerge.test_other_timedelta_unit  s  € ô ˜ s¨C jÐ1Ó2ˆÜ�d˜D�\¨#¨s¨¸&ÔAˆà�d�V˜1�ˆØ�?Ñ"àCˆCÜ—‘œz°Ô5ñ "Ø—
‘
˜5Ô!÷"ð —*‘*˜WÓ%×.Ñ.¨vÓ6‰Cà—*‘*˜UÓ#×,Ñ,¨VÓ4ˆCØ�v‘;×$Ñ$¨Ò-Ð-Ð-à—‘˜3¨À�ÓFˆäØ ˜*¬b¯h©h¸¸u°~ÈUÔ.SÑTØ  &Ð)ô
ˆô 	×Ñ˜f cÕ*÷"ð "ús   Á	DÄD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 «       y # 1 sw Y   y xY w)Nrü   rý   rþ   ©rP   rQ   ru   )rP   rŸ   rŸ   )rP   r    r    )rP   rQ   ru   Úv3Úv4)rP   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   )rC   rD   r7   ra   r�   s        r'   Ú&test_overlapping_columns_error_messagez0TestMerge.test_overlapping_columns_error_message  sª   € Üšy²	ÂÑKÓLˆÜ¢	²Â)ÑLÓMˆâ*ˆŒ
Ú+ˆŒÜâ ÚÚÚÚñó
ˆò ?ˆÔÜ
×Ñœe B¨›n¨hÔ7ò -ˆŒØPˆÜ�]‰]œ:¨SÔ1ñ 	Ü�"�cŒN÷	÷ 	ñ 	ús   Â'B=Â=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                  ||«       y )NÚ20151010r   r  ©Úperiodsr  r+   r½   Ú20151011r1   rü   r2   r  rP   r¨   rÁ   )r   r�   Ú
date_ranger   r­   r   r\   r]   rn   s        r'   Útest_merge_on_datetime64tzz$TestMerge.test_merge_on_datetime64tz5  s³   € ää—}‘} Z¸¸|ÔLØ˜Q˜ñó
ˆô ä—}‘} Z¸¸|ÔLÚ"ñó
ˆô ä—}‘} Z¸¸|ÔLØ˜q¤"§&¡&¬"¯&©&Ð1ÜŸF™F A q¨!Ð,ñó
ˆô �t˜U u°'Ô:ˆÜ
×Ñ˜f hÕ/r)   c                 ó"  — 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 ‚y )Nr+   r   rŠ  r  r]  )rŒ  r  rj  r½   r1   r�  rü   r  rP   r¨   rÁ   r«   zdatetime64[ns, US/Eastern]r¬   )	r   r�   rŽ  r   re  r   r\   r]   rV   rn   s        r'   Útest_merge_datetime64tz_valuesz(TestMerge.test_merge_datetime64tz_valuesN  s%  € Üà˜1�vÜŸ™Ø¨¨lÀôñó
ˆô à˜1�vÜŸ™Ø¨¨lÀôñó
ˆô â ðÜÜŸ™ j¸!ÀÐSWÔXóðô —F‘Fð	ô —F‘FðäÜŸ™ j¸!ÀÐSWÔXóðñó
ˆô" �t˜U u°'Ô:ˆÜ
×Ñ˜f hÔ/Ø�iÑ ×&Ñ&Ð*FÒFÐFÐFØ�iÑ ×&Ñ&Ð*FÒFÐFÑFr)   c           	      ó‚  — t        j                  d¬«      }t        t        dg|¬«      dgt        dg|¬«      dœg d¢¬«      }|d d	 }|j	                  |d
¬«      }t        t        |¬«      t        t        ¬«      t        |¬«      t        t        ¬«      t        |¬«      dœg d¢¬«      }t        j                  ||«       y )NÚUTCr  Ú2018rZ   g      @Ú2019)r   rG   Údate2r¾   r   r   rd   )r   r«   Údate2_xr¬   Údate2_y)	r�   ÚDatetimeTZDtyper   r   r   r   rm   r\   r]   )rC   Údtzro   rR   r`   ra   s         r'   Ú test_merge_on_datetime64tz_emptyz*TestMerge.test_merge_on_datetime64tz_emptyu  s±   € ä× Ñ  EÔ*ˆÜä% v h°cÔ:Ø˜Ü&¨ x°sÔ;ñò
 /ô
ˆð �R�aˆyˆØ—‘˜E f�Ó-ˆÜä SÔ)Ü!¬Ô.Ü!¨Ô,Ü!¬Ô.Ü!¨Ô,ñò Iô	
ˆô 	×Ñ˜f hÕ/r)   c                 ó  — t        t        j                  dddd¬«      dg¬«      }d|d	<   t        t        j                  g d
¢«      ddœ«      }|d   j                  j                  d«      j                  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                  ||«       y )Nz2017-10-29 01:00r2   rß   zEurope/Madrid)rŒ  Úfreqr  r   r¾   r+   rG   )z2017-10-29 03:00:00z2017-10-29 04:00:00z2017-10-29 05:00:00r   )r   rG   r“  r¨   ©ry   re   rN   r1   )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‰MÐ,°a¸cÀoÔVØ�Hô
ˆð ˆˆG‰ÜäŸ™òóð ñ	ó
ˆð ˜&‘k—n‘n×0Ñ0°Ó7×:Ñ:×EÑEÀoÓVˆˆF‰Ü�s˜C W°Ô8ˆÜäŸ™Ø&°¸Àôð ˜3 ™7¤b§f¡f X°¡\Ñ1ÜŸF™F˜8 a™<¨1¨#°©'Ñ1ñó
ˆô 	×Ñ˜f hÕ/r)   c           	      óô  — t        j                  ddd¬«      }t        t        t	        t        |«      «      «      |dg¬«      }t        ||g«      }|j                  |ddd¬	«      }t        t        j                  t        j                  dt        j                  ¬
«      j                  d«      j                  dd«      d«      ddg|j                  «       j                  ¬«      }t!        j"                  ||«       y )Nz
2016-01-01é   ÚM©rŒ  r�  Úpnum©rU   r}   Tr‚   ©rX   rY   ry   rZ   r   éÿÿÿÿr+   Úpnum_xÚpnum_y©r}   rU   )r�   Úperiod_ranger   r   r   r   r   r   r   r   rÑ   rT   ÚrepeatÚreshapeÚ
sort_indexrU   r\   r]   )rC   rU   rD   r7   r`   ra   s         r'   Ú"test_merge_non_unique_period_indexz,TestMerge.test_merge_non_unique_period_index®  s¿   € ä—‘ °b¸sÔCˆÜ”tœE¤# e£*Ó-Ó.°eÀfÀXÔNˆÜ�b˜"�XÓˆØ—‘˜#¨$¸DÀg�ÓNˆÜÜ�G‰G”B—I‘I˜b¬¯©Ô1×8Ñ8¸Ó;×CÑCÀBÈÓJÈAÓ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                  ||«       y )NrŠ  r   rk  r¦  r+   r½   r�  r1   rü   r2   r  rP   r¨   rÁ   )r   r�   r®  r   r­   r   r\   r]   rn   s        r'   Útest_merge_on_periodszTestMerge.test_merge_on_periods»  s²   € ÜÜ—O‘O J¸ÀÔDÐPQÐSTÈvÑVó
ˆô ä—‘ z¸1À3ÔGÚ"ñó
ˆô ä—‘ z¸1À3ÔGØ˜q¤"§&¡&¬"¯&©&Ð1ÜŸF™F A q¨!Ð,ñó
ˆô �t˜U u°'Ô:ˆÜ
×Ñ˜f hÕ/r)   c                 ó"  — 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 ‚y )Nr+   r   rŠ  rk  r¦  r½   r1   r�  rü   r  rP   r¨   rÁ   r«   z	Period[D]r¬   )	r   r�   r®  r   re  r   r\   r]   rV   )rC   rR   ro   Úexp_xÚexp_yra   r`   s          r'   Útest_merge_period_valuesz"TestMerge.test_merge_period_valuesÐ  s   € ÜØ˜�F¤R§_¡_°ZÈÐQTÔ%UÑVó
ˆô Ø˜�F¤R§_¡_°ZÈÐQTÔ%UÑVó
ˆô —‘ 
°A¸CÔ@ˆÜ—‘ 
°A¸CÔ@ˆÜâ Ø1œT %›[Ð1¬"¯&©&Ð1ÜŸF™FÐ1¤T¨%£[Ð1ñó
ˆô �t˜U u°'Ô:ˆÜ
×Ñ˜f hÔ/Ø�iÑ ×&Ñ&¨+Ò5Ð5Ð5Ø�iÑ ×&Ñ&¨+Ò5Ð5Ñ5r)   c                 óº  — |\  }}|j                  «       }|j                  «       }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                  ||«       |j                  |ddd¬«      }t        j                  ||«       t        j                  ||«       t        j                  ||«       |}|j                  ddi¬«      }t        ||ddd¬«      }	t        j                  |	|«       |j                  |ddd¬«      }	t        j                  |	|«       y )N©r   r+   r   r1   r2   r3   r+   r   r,   r-   r1   r2   r3   )r.   Úcol_conflict_xr0   Úcol_conflict_yr4   )Ú	left_onlyÚbothÚ
right_onlyr¿  r¿  r¿  ©r½  r¿  r¾  ©Ú
categoriesÚ_merge)r.   r»  r0   r¼  r4   rÃ  r.   r¨   T©re   ry   Ú	indicatorÚcustom_namer¾   )	rí   r   r   r­   r
   r   r\   r]   Úrename)
rC   r8   r6   r7   Ú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¡v¬r¯v©v´r·v±v¼r¿v¹vÐFÜ#%§6¡6¨1¨a°°A°qÐ"9Ü Ÿf™f a¨¨A¨q°!Ð4ñó
ˆ	ô *òò ;ô

ˆ	�(Ñð òñ	
ˆ	ô �S˜# &¨gÀÔFˆÜ
×Ñ˜d IÔ.Ø�y‰y˜ ¨WÀˆyÓEˆÜ
×Ñ˜d IÔ.ô 	×Ñ˜c 8Ô,Ü
×Ñ˜c 8Ô,ð !*ÐØ 5× <Ñ <Ø˜}Ð-ð !=ó !
Ðô !Ø�˜ W¸ô
Ðô 	×ÑÐ.Ð0EÔFØŸ9™9Ø�F °=ð %ó 
Ðô 	×ÑÐ.Ð0EÕFr)   c                 ó  — |\  }}d}t        j                  t        |¬«      5  t        ||ddd¬«       d d d «       t        j                  t        |¬«      5  |j                  |ddd¬«       d d d «       y # 1 sw Y   ŒCxY w# 1 sw Y   y xY w)Nz<indicator option can only accept boolean or string argumentsrˆ   r.   r¨   r3   rÄ  r”   )rC   r8   r6   r7   r�   s        r'   Ú#test_merge_indicator_arg_validationz-TestMerge.test_merge_indicator_arg_validation%  sˆ   € à$‰ˆˆSàLˆÜ�]‰]œ:¨SÔ1ñ 	AÜ�#�s˜v¨7¸aÕ@÷	Aä�]‰]œ:¨SÔ1ñ 	@Ø�I‰I�c˜f¨'¸QˆIÔ?÷	@ð 	@÷	Að 	Aú÷	@ð 	@ús   £A6ÁBÁ6A?ÂBc                 ó`  — |\  }}t        ||ddd¬«      }|j                  dk7  j                  «       sJ ‚|j                  |ddd¬«      }|j                  dk7  j                  «       sJ ‚t        ||ddd¬«      }|j                  dk7  j                  «       sJ ‚|j                  |ddd¬«      }|j                  dk7  j                  «       sJ ‚t        ||ddd¬«      }|j                  d	k(  j                  «       sJ ‚|j                  |ddd¬«      }|j                  d	k(  j                  «       sJ ‚y )
Nr.   rR   TrÄ  r¿  ro   r½  r‚   r¾  )r   rÃ  r´   )rC   r8   r6   r7   Útest2Útest3Útest4s          r'   Ú%test_merge_indicator_result_integrityz/TestMerge.test_merge_indicator_result_integrity/  s%  € à$‰ˆˆSä�c˜3 6¨vÀÔFˆØ—‘ Ñ,×1Ñ1Ô3Ð3Ð3Ø—	‘	˜# &¨fÀ�	ÓEˆØ—‘ Ñ,×1Ñ1Ô3Ð3Ð3ä�c˜3 6¨wÀ$ÔGˆØ—‘ Ñ+×0Ñ0Ô2Ð2Ð2Ø—	‘	˜# &¨gÀ�	ÓFˆØ—‘ Ñ+×0Ñ0Ô2Ð2Ð2ä�c˜3 6¨wÀ$ÔGˆØ—‘ Ñ&×+Ñ+Ô-Ð-Ð-Ø—	‘	˜# &¨gÀ�	Ó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 «       t        j                  t        |¬«      5  |j	                  |ddd	¬
«       d d d «       ŒŠ t        ddgddgdœ«      }d}t        j                  t        |¬«      5  t	        ||ddd¬
«       d d d «       t        j                  t        |¬«      5  |j	                  |ddd¬
«       d d d «       y # 1 sw Y   ŒÆxY w# 1 sw Y   �Œ#xY w# 1 sw Y   Œ\xY w# 1 sw Y   y xY w)N)Ú_right_indicatorÚ_left_indicatorrÃ  r.   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Ä  )r.   Úcustom_column_namez:Cannot use name of an existing column for indicator columnrÙ  ©r   r‹   rŒ   r�   r   )rC   r8   r6   r8  rè   Údf_badcolumnr�   s          r'   Útest_merge_indicator_invalidz&TestMerge.test_merge_indicator_invalidB  si  € à"‰ˆˆQàBò 	PˆAÜ$ f¨q°!¨f°a¸!¸Q¸Ð%@ÓAˆLð Ø !˜sð #MðMð ô
 —‘œz°Ô5ñ QÜ�c˜<¨F¸È4ÕP÷Qä—‘œz°Ô5ñ PØ—	‘	˜,¨6°wÈ$�	ÔO÷Pð Pð	Pô !¨1¨a¨&ÈÈAÈÑ!OÓPˆàJˆÜ�]‰]œ:¨SÔ1ñ 	ÜØØØØØ.õ÷	ô �]‰]œ:¨SÔ1ñ 	Ø�I‰IØ ¨WÐ@Tð ô ÷	ð 	÷#Qð Qú÷Pñ Pú÷	ð 	ú÷	ð 	ús/   ¿DÁ3D!ÃD.Ã6D:ÄD	Ä!D+	Ä.D7Ä:Ec                 óB  — 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                  ||«       |j                  |ddgdd¬«      }t        j                  ||«       y )Nr   r+   r,   r-   ©r.   Úcol2)r+   r+   r1   )r-   rÕ   rÖ   )r   r+   r+   r1   ©r,   r-   rÕ   rÖ   )r½  r¾  r¿  r¿  rÀ  rÁ  rÃ  r.   rß  r¨   TrÄ  ©r   r
   r   r\   r]   )rC   Údf3Údf4Úhand_coded_resultÚtest5s        r'   Ú%test_merge_indicator_multiple_columnsz/TestMerge.test_merge_indicator_multiple_columnsd  sª   € ä ! Q °#°s°Ñ<Ó=ˆä¢²OÑDÓEˆä%Ú!Ò+?Ñ@ó
Ðô '2Ú=Ú:ô'
Ð˜(Ñ#ô
 �c˜3 F¨FÐ#3¸ÈDÔQˆÜ
×Ñ˜eÐ%6Ô7Ø—	‘	˜# 6¨6Ð"2¸È4�	ÓPˆÜ
×Ñ˜eÐ%6Õ7r)   c                 ó²	  — t        g d¢g d¢dœt        d«      ¬«      }t        g d¢g d¢dœt        d	«      ¬«      }|j                  «       }|j                  «       }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«      ¬«      }|j                  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 «       t        j                  t        |¬«      5  t        ||
dd¬«       d d d «       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 «       t        j                  t        |¬«      5  t        ||dd¬«       d d d «       t        ||
dd!¬«       d"}t        j                  t        |¬«      5  t        ||
d
d
d¬«       d d d «       d#}t        j                  t        |¬«      5  t        ||
dd¬«       d d d «       d$}t        j                  t        |¬«      5  t        ||dd%¬«       d d d «       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 «       t        ||dd.gd¬«      }t	        j
                  ||«       y # 1 sw Y   �ŒExY w# 1 sw Y   �ŒxY w# 1 sw Y   �ŒÆxY w# 1 sw Y   �Œ xY w# 1 sw Y   �ŒhxY w# 1 sw Y   �Œ@xY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒŒxY w)/Nrç   )ÚcatÚdogÚweaselÚhorser±   r2   rw   ©r,   r-   rK   rL   rM   )ÚmeowÚbarkúum... weasel noise?ÚnayÚchirp©r,   rK   r3   Tú1:1)rX   rY   Úvalidate)rí  rî  rï  rð  )Úa_xr-   Úa_yrK   r¨  Ú
one_to_onerô   r,   )re   rô  ©r-   r,   rK   r­  )rX   r{   rô  rM   ÚmooÚone_to_manyzBMerge keys are not unique in right dataset; not a one-to-one mergerˆ   Úcowr1   )rz   Ú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-   rL   )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]   rr   r   r‹   rŒ   r   r�   )rC   rR   ro   Ú	left_copyÚ
right_copyr`   ra   Ú
expected_2Ú
expected_3Úleft_index_resetÚright_w_dupsr�   Úleft_w_dupsÚexpected_multis                 r'   Útest_validationzTestMerge.test_validationw  sÇ  € ÜÚ&Ò-NÑOÜ˜“(ô
ˆô
 â.ÚLñô ˜“(ô
ˆð —I‘I“Kˆ	Ø—Z‘Z“\ˆ
ä�t˜U¨tÀÐPUÔVˆÜ
×Ñ˜d IÔ.Ü
×Ñ˜e ZÔ0ô â+Ú6Ú+ÚCñ	ô ˜“(Ú,ô	
ˆô Ø�% D°dÀ\ô
ˆô 	×Ñ˜f hÔ/äâ)Ú6ÚCñô
 ˜“(ô
ˆ
ô �t˜U s°UÔ;ˆÜ
×Ñ˜d IÔ.Ü
×Ñ˜e ZÔ0Ü
×Ñ˜f jÔ1ä�t˜U s°\ÔBˆÜ
×Ñ˜f jÔ1ô â6Ú)ÚCñò
 $Ü˜“(ô
ˆ
ð  Ÿ>™>¨#Ó.ÐÜØØØØØ!ô
ˆô 	×Ñ˜f jÔ1ô ˜u¤i°s°eÀ5À'Ñ0JÐSTÐRUÔ&VÐWÓXˆÜØØØØØ"õ	
ð SˆÜ�]‰]œ:¨SÔ1ñ 	ÜØØØØ Ø%õ÷	ô �]‰]œ:¨SÔ1ñ 	EÜ�$˜¨°|ÕD÷	Eô Ø”9 C 5°¨wÑ7À¸sÔCÐDÈ4ô
ˆô 	ØØØØØ"õ	
ð RˆÜ�]‰]œ:¨SÔ1ñ 	ÜØØØØ Ø%õ÷	ô �]‰]œ:¨SÔ1ñ 	EÜ�+˜u¨°|ÕD÷	Eô 	ˆk˜<¨C¸.ÕIàSˆÜ�]‰]œ:¨SÔ1ñ 	ÜØØØØ Ø&õ÷	ð SˆÜ�]‰]œ:¨SÔ1ñ 	MÜ�+˜|°¸mÕL÷	Mð
	ð 	ô �]‰]œ:¨SÔ1ñ 	=Ü�$˜ #°Õ<÷	=ô â)Ú!Ú6ñô
 ˜“(ô
ˆô â$ÚÚ<ñô
 ˜“(ô
ˆô #â$ÚÚ-Ú<ñ	ô ˜“(ô
ˆð%ð 	ô �]‰]œ:¨SÔ1ñ 	7Ü�$˜ #°Õ6÷	7ô �t˜U¨¨S z¸EÔBˆÜ
×Ñ˜f nÕ5÷W	ñ 	ú÷	Eñ 	Eú÷ 	ñ 	ú÷	Eñ 	Eú÷	ñ 	ú÷	Mñ 	Mú÷ 	=ñ 	=ú÷H	7ð 	7ús`   ÈQ2ÉQ?Ê7RË+RÌ/R&Í%R3ÎS Ð2SÑ2Q<Ñ?R	ÒRÒR#Ò&R0Ò3R=Ó S
ÓSc                 óH  — t        dg d¢i«      }t        dg d¢i«      }t        j                  t        d¬«      5  t	        ||d¬«       d d d «       t        j                  t        d¬«      5  t	        ||d	¬«       d d d «       t        j                  t        d
¬«      5  t	        ||d¬«       d d d «       t        j                  t        d
¬«      5  t	        ||d¬«       d d d «       t        dg d¢i«      }t        j                  t        d¬«      5  t	        ||d¬«       d d d «       t        j                  t        d¬«      5  t	        ||d¬«       d d d «       y # 1 sw Y   �ŒxY w# 1 sw Y   ŒîxY w# 1 sw Y   ŒÈxY w# 1 sw Y   Œ¢xY w# 1 sw Y   ŒmxY w# 1 sw Y   y xY w)NrP   )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   )rC   rR   ro   s      r'   Ú!test_merge_validate_error_messagez+TestMerge.test_merge_validate_error_message<  sV  € ä˜%¢Ð+Ó,ˆÜ˜5¢)Ð,Ó-ˆä�]‰]œ:Ð-UÔVñ 	/Ü�$˜¨Õ.÷	/ä�]‰]œ:Ð-SÔTñ 	/Ü�$˜¨Õ.÷	/ä�]‰]œ:Ð-TÔUñ 	/Ü�$˜¨Õ.÷	/ä�]‰]œ:Ð-TÔUñ 	/Ü�$˜¨Õ.÷	/ô ˜5¢)Ð,Ó-ˆÜ�]‰]œ:Ð-SÔTñ 	/Ü�$˜¨Õ.÷	/ä�]‰]œ:Ð-TÔUñ 	/Ü�%˜¨Õ.÷	/ð 	/÷	/ñ 	/ú÷	/ð 	/ú÷	/ð 	/ú÷	/ð 	/ú÷	/ð 	/ú÷	/ð 	/úsG   ºEÁ,E(ÂE4ÃF ÄFÅFÅE%Å(E1Å4E=Æ F	ÆFÆF!c                 ó”   — t        g g g dœ«      }t        j                  d¬«      5  t        ||d¬«       d d d «       y # 1 sw Y   y xY w)Nrô   Úraise)Údivider±   rd   )r   r   Úerrstater   )rC   r,   s     r'   Ú)test_merge_two_empty_df_no_division_errorz3TestMerge.test_merge_two_empty_df_no_division_errorP  s@   € ä˜B R¨bÑ1Ó2ˆÜ�[‰[ Ô(ñ 	'Ü�!�Q˜:Õ&÷	'÷ 	'ñ 	'ús	   ¦>¾Ar¨   zindex,expected_index©r+   r   r2   )r+   r   r2   NNN)ú
2001-01-01ú
2002-02-02ú
2003-03-03zM8[ns]r  r  r  rü   )r+   r   r1   NNN)©r+   r   ©r   r1   ©r1   r2   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|j                  d«      }t        g d¢g d¢dœ|¬«      }t        dg d¢i«      }|j                  |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¢¬«      }|j                  |d	¬«       t        j                  ||«       y )NÚfloat32Úfloat64r	  ©r,   rP   rw   r-   rº  rP   Trƒ   )r   r   r   ©r+   r+   r+   ©r   r   r   r1   r2   r3   ©r,   rP   r-   r¾   )Úinplace)	rV   rl   r   r   r   r­   rr   r\   r]   )rC   ry   rU   Úexpected_indexr6   r7   r`   ra   s           r'   Ú$test_merge_on_index_with_more_valuesz.TestMerge.test_merge_on_index_with_more_valuesV  sÎ   € ð^ �;‰;˜)Ò#¨×(<Ñ(<À	Ò(Ià+×2Ñ2°9Ó=ˆNÜši²	Ñ:À%ÔHˆÜ˜Ò0Ð1Ó2ˆØ—‘˜3¨¸4ÀS�ÓIˆÜâÚÚÜ—‘˜˜A�Ü—‘˜˜A�Ü—‘˜˜A�ðò &ô

ˆð 	×Ñ˜>°4ÐÔ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¬«      }|j                  |ddd¬«      }t	        j
                  ||«       y )Nrü   )r   r+   r+   r   r-   ©r+   r   r1   N)r   r+   r+   r   )r+   r   r   r1   r#  r   r+   r   r­  rP   Tro   rƒ   ©r   r   r­   r   r\   r]   rn   s        r'   Útest_merge_right_index_rightz&TestMerge.test_merge_right_index_right™  sq   € ô šy²Ñ;Ó<ˆÜ˜3¢	Ð*Ó+ˆäÚ!ª,º\ÑJÚ%Ø�a˜œBŸF™FÐ#ô
ˆð
 —‘˜E¨5¸dÈ�ÓPˆÜ
×Ñ˜f hÕ/r)   c                 óø   — t        ddgddgdœ«      }t        ddgddgdœ«      }|j                  |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                  ||«       y )Nré  Úpigé(   rV  )ÚanimalÚ	max_speedÚquetzaléP   r.  r/  rÁ   ro   r[   )rC   ry   Úleft_dfÚright_dfr`   ra   s         r'   Útest_merge_preserves_row_orderz(TestMerge.test_merge_preserves_row_order¨  s“   € ô ¨¨u ~ÀRÈÀHÑMÓNˆÜ¨°EÐ(:È"ÈbÈÑRÓSˆØ—‘˜x¨X°{Ð,CÈ�ÓMˆØ�'Š>Ü ¨Y¸Ð,>ÈbÐRTÈXÑ!VÓW‰Hä ¨U°E¨NÈ"ÈbÈÑ!RÓSˆHÜ
×Ñ˜f hÕ/r)   c           	      ój  — t        g d¢t        g d¢t        d«      ¬«      dœ«      }t        dg d¢it        g d¢«      ¬«      }|j	                  |d	d
d¬«      }t        g d¢t        g d¢«      g d¢dœdddt
        j                  g¬«      }|j                  g d¢¬«      }t        j                  ||«       y )Nrü   rÿ  ÚabcrÁ  r   r-   rô   rw   rP   Tro   rƒ   r(  )r,   r,   r-   rK   )r+   r+   r   r1   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§   € äâÜ"¢?¼tÀE»{ÔKñó
ˆô ˜3¢	Ð*Ô2BÂ?Ó2SÔTˆØ—‘˜E¨5¸dÈ�ÓPˆÜâ$Ü"Ò#7Ó8Ú!ñð
 �a˜œBŸF™FÐ#ô
ˆð ×#Ñ#Ò,=Ð#Ó>ˆÜ
×Ñ˜f hÕ/r)   c                 ób  — t        t        j                  d«      j                  d«      dz   g d¢¬«      }t        t        j                  d«      j                  d«      dz   g d¢¬«      }|j                  j
                  D ]  }d|j                  j                  _        Œ |j                  |«       y )	NrÆ   ©r2   r3   r+   rì  r¾   ©r3   r2   rà  F)
r   r   rÑ   r°  Ú_mgrÚblocksr/  ÚflagsÚ	writeabler   )rC   r?   r@   Úblocks       r'   Útest_merge_readonlyzTestMerge.test_merge_readonlyÉ  s�   € äÜ�I‰I�b‹M×!Ñ! &Ó)¨AÑ-Ò7Pô
ˆô Ü�I‰I�b‹M×!Ñ! &Ó)¨AÑ-Ò7Kô
ˆð
 —Z‘Z×&Ñ&ò 	1ˆEØ+0ˆE�L‰L×ÑÕ(ð	1ð 	�‰�EÕr)   c                 ó„  — t        t        j                  d«      j                  d«      dz   g d¢¬«      }t        t        j                  d«      j                  d«      dz   g d¢¬«      }d}t	        j
                  t        t        j                  |«      ¬	«      5  |j                  |d
¬«       d d d «       y # 1 sw Y   y xY w)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   )rC   r?   r@   r�   s       r'   Útest_merge_how_validationz#TestMerge.test_merge_how_validationØ  s›   € äÜ�I‰I�b‹M×!Ñ! &Ó)¨AÑ-Ò7Pô
ˆô Ü�I‰I�b‹M×!Ñ! &Ó)¨AÑ-Ò7Kô
ˆð1ð 	ô �]‰]œ:¬R¯Y©Y°s«^Ô<ñ 	+Ø�K‰K˜ 6ˆKÔ*÷	+÷ 	+ñ 	+ús   ÂB6Â6B?N)TrN  rO  rP  r‹   ÚfixturerD   r7   rR   rb   ri   rp   rs   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   r  r   Úfrom_tuplesr   r   r&  r*  r4  r8  rA  rF  )Ú.0Údtypr   r   s   0000r'   r:   r:   A   s+  „ Ø‡^�^ñó ðð ‡^�^ñ
ó ð
ð ‡^�^ñ
ó ð
ò0ò+ò

0ò0òHò8Gò*Hò.ò8 ò7ò(
+òMò0ò&2ò.Kò@òò*ò,ò,ð ‡[�[×ÑØà°Ñ5Ø¨SÑ1Ø¨DÑ1Ø¨Ñ-ð		
óñ.óð.ò-ò^('ðT ‡[�[×ÑØá�A�3˜gÔ&Ù�A�3˜gÔ&Ù�D�6‹NÙ�E�7‹OÙ�D�6‹NÙ�L�B—L‘L Ó.Ð/Ó0Ù�L�B—L‘L °,Ô?Ð@ÓAð	
óð ‡[�[×ÑØá�A�3˜gÔ&Ù�A�3˜gÔ&Ù�D�6‹NÙ�E�7‹OÙ�D�6‹NÙ�L�B—L‘L Ó.Ð/Ó0Ù�L�B—L‘L °,Ô?Ð@ÓAð	
óñ0óóð00ð$ ‡[�[×ÑØá�A�3˜gÔ&Ù�A�3˜gÔ&Ù�D�6‹NÙ�E�7‹OÙ�D�6‹NÙ�L�B—L‘L Ó.Ð/Ó0Ù�L�B—L‘L °,Ô?Ð@ÓAð	
óð ‡[�[×ÑØ á�B—E‘E�7 'Ô*Ù�B—F‘F�8 7Ô+Ù�B—F‘F�8 8Ô,Ù�B—F‘F�8Óð		
óñ0óóð*0ò*@ð@ ‡[�[×ÑØ˜e¢_Ð5¸ºoÐ7NÐOóð ‡[�[×Ñ˜U V¨WÐ$5Ó6ñ0ó 7óð0òCò*0ð ‡[�[×ÑØWóñ	1óð	1ò0ò&0ð  ‡[�[×Ñ˜VÒ%KÓLñ+ó Mð+ð: ‡[�[×Ñ˜VÒ%KÓLñ+ó Mð+ò2ò00ò2%GòN0ò20ò@0ò0ò*6ò,=Gò~@ò.ò& òD8ò&C6òJ/ò('ð ‡[�[×Ñ˜U W¨gÐ$6Ó7Ø‡[�[×ÑØñ !¢Ó+Ù Ò!<Ó=ðñ
 Ú>Àhôñ Ø! <°¸r¿v¹vÀrÇvÁvÈrÏvÉvÐVØ"ôð	ð&	
ð& ×4Ñ4÷ñ ð
 ô š)¨4Ô0ÜÒ5¼R¿Z¹ZÔHòõð&	
ð, *�×)Ñ)Ò*BÓCØ)�×)Ñ)Ø˜V V¨R¯V©V°R·V±V¸R¿V¹VÐDóðð+&	
ñ8 ÒFÈSÔQÙØ! <°¸r¿v¹vÀrÇvÁvÈrÏvÉvÐVØôðð7&	
ñF Ò1Ó2Ù  d¨D°"·&±&¸"¿&¹&À"Ç&Á&ÐIÓJððE&	
ó)ñT0óU)ó 8ðV0ò00ð ‡[�[×Ñ˜U V¨WÐ$5Ó6ñ	0ó 7ð	0ò0ò*ó+ùõcs   Ð3Ur:   c                 óð   — dD ]q  }dD ]j  }| j                  |||¬«      }t        | j                  «       |j                  «       ||¬«      }|j                  d«      }t	        j
                  ||d¬«       Œl Œs y )N)r‚   rR   r¨   )TF©ry   rz   rU   F)Úcheck_names)r„   r   r@  rr   r\   r]   )rÕ   rÖ   ry   rz   r`   ra   s         r'   rá   rá   è  sx   € Ø)ò GˆØ!ò 	GˆDØ—V‘V˜A 3¨T�VÓ2ˆFä˜QŸ]™]›_¨a¯m©m«oÀ3ÈTÔRˆHØ×)Ñ)¨'Ó2ˆHô ×!Ñ! &¨(ÀÖFñ	GñGr)   c                   óÆ  — e Zd Zej                  j                  dedg«      d„ «       Zej                  j                  dej                  ej                  ej                  ej                  g«      d„ «       Zej                  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                  j                  dg d¢ eg d¢«      j)                  d«      fg d¢ eg d¢«      j)                  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                  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j0                  d"dd#¬$«      d%d&gf ej0                  d"dd#¬$«      ddgf ej0                  d"dd#¬$«      d'd
gf ej0                  d(d¬)«       ej0                  d(dd*¬+«      fg«      d,„ «       Zej                  j                  d-ddgd.fg d/fdgd0fdgd1fg«      d2„ «       Zej                  j                  d-d3d4gd.fg d/fd4gd0fd3gd1fg«      d5„ «       Zej                  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                  j                  d;g d<¢«      d=„ «       Zd>„ Zd?„ Z d@„ Z!yA)BÚTestMergeDtypesrV   Úcategoryc                 ór  — t        ddgt        ddg«      j                  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 ‚y y )NrŸ   r    rV  r+   r   ç      ð?ç       @Úuint64rZ   Úint32)r^  r_  ÚCrk  ÚEÚFr^  rd   )r   r   rl   r   r   r^  rV   r   )rC   rV   rR   Ú
right_valsro   r`   s         r'   Útest_differentzTestMergeDtypes.test_differentõ  sµ   € äà˜U�^Ü˜U E˜NÓ+×2Ñ2°:Ó>Ø˜�VØ˜3�ZÜ˜Q ˜F¨(Ô3Ü˜Q ˜F¨'Ô2ñó	
ˆô ˜U E˜N°%Ô8ˆ
Ü˜3 
Ð+Ó,ˆô
 �t˜U sÔ+ˆÜ˜vŸx™xŸ~™~Ô.´/À&Ç(Á(Ç.Á.Ô2QÐQÐQÐ2QÐ.r)   Ú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|¬«      }|j                  |ddg¬«      }|j                  «       }	|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                   ||	«       |j                  |ddgd¬«      }|	j#                  ddgdd¬«       t        j                   ||	«       y )Nr	  r¦   rZ   rŸ   r    r$  é   )Úk1Úk2Úv)r   r    )r+   rŸ   ru   r3   rN   rw   rd  re  rd   rè   r  r   r+   Tr)  Ú	mergesort)Úkindr$  )r   rV   r   rÃ   rÑ   rT   r   rN  r„   rí   rh  r­   r|   rd  re  r\   r]   Úsort_values)
rC   Úany_int_numpy_dtypera  Údtype1Údtype2rR   rU   ro   r`   ra   s
             r'   Útest_join_multi_dtypesz&TestMergeDtypes.test_join_multi_dtypes
  s”  € ä—‘Ð-Ó.ˆÜ—‘˜"“ˆää—h‘hšy¨1™}°FÔ;Ø˜e�n rÑ)Ü—X‘XœbŸi™i¨›m´2·8±8Ô<ñó
ˆô ×&Ñ&¨
°JÐ'?Ó@ˆÜ˜4¤§¡¨1¨a¨&¸Ô!?Ð@ÈÔNˆà—‘˜5 d¨D \�Ó2ˆà—9‘9“;ˆà�;‰;˜#ÒÜ—X‘X˜iÓ(ˆFÜŸ™¤"§&¡&°Ô7ˆ�‰ØJKˆ�‰�h—k‘k QÑ&¨8¯;©;¸%Ñ+?Ñ@À$ÐFÑGØJKˆ�‰�h—k‘k QÑ&¨8¯;©;¸%Ñ+?Ñ@À$ÐFÑGä
×Ñ˜f hÔ/à—‘˜5 d¨D \¸�Ó=ˆØ×Ñ˜d D˜\°ÀTÐÔJÜ
×Ñ˜f hÕ/r)   zint_vals, float_vals, exp_valsrü   ©rX  rY  ç      @©ÚXÚYrX  ro  r+   r1   r   rY  c                 ó   — t        d|i«      }t        d|i«      }t        |«      }|j                  |dd¬«      }t        j                  ||«       |j                  |dd¬«      }t        j                  ||ddg   «       y )Nrq  rr  rŠ   r[   )rC   Úint_valsÚ
float_valsÚexp_valsr^  r_  ra   r`   s           r'   Útest_merge_on_ints_floatsz)TestMergeDtypes.test_merge_on_ints_floats*  s|   € ô �s˜H�oÓ&ˆÜ�s˜JÐ'Ó(ˆÜ˜XÓ&ˆà—‘˜ C°#�Ó6ˆÜ
×Ñ˜f hÔ/à—‘˜ C°#�Ó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¬«      }|j                  |dd¬«      }t        ddgddgt        j                  dgdœg d¢¬«      }t	        j
                  ||«       y )NrX  rY  rF   rÆ   rO   rP   rQ   r¾   r   éÈ   )rP   ru   ru   rR   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ˆÜ  ¨C¨5Ñ1¸EÀ4¸=ÔIˆØ—‘˜3 5¨f�Ó5ˆÜØ˜#�J r¨2 h´r·v±v¸u°oÑ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  |j	                  |dd¬
«      }t        j
                  ||«       d d d «       t        j                  t        |¬	«      5  |j	                  |dd¬
«      }t        j
                  ||ddg   «       d d d «       t        dt        j                  t        j                  dgi«      }t        j                  d «      5  |j	                  |dd¬
«      }t        j
                  ||ddg   «       d d d «       y # 1 sw Y   ŒÖxY w# 1 sw Y   Œ�xY w# 1 sw Y   y xY w)Nrq  rü   rr  )çš™™™™™ñ?g      @ro  r1   ro  rp  z:the float values are not equal to their int representationrˆ   rŠ   )r   r\   Úassert_produces_warningÚUserWarningr   r]   r   r­   )rC   r^  r_  ra   r�   r`   s         r'   Ú!test_merge_on_ints_floats_warningz1TestMergeDtypes.test_merge_on_ints_floats_warningK  sU  € ô
 �sšIÐ&Ó'ˆÜ�sšOÐ,Ó-ˆÜ A 3¨c¨UÑ3Ó4ˆàJˆÜ×'Ñ'¬¸3Ô?ñ 	4Ø—W‘W˜Q¨°c�WÓ:ˆFÜ×!Ñ! &¨(Ô3÷	4ô ×'Ñ'¬¸3Ô?ñ 	@Ø—W‘W˜Q¨°c�WÓ:ˆFÜ×!Ñ! &¨(°C¸°:Ñ*>Ô?÷	@ô
 �sœRŸV™V¤R§V¡V¨SÐ1Ð2Ó3ˆä×'Ñ'¨Ó-ñ 	@Ø—W‘W˜Q¨°c�WÓ:ˆFÜ×!Ñ! &¨(°C¸°:Ñ*>Ô?÷	@ð 	@÷	4ð 	4ú÷	@ð 	@ú÷	@ð 	@ús$   Á+EÂ0EÄ0E$ÅEÅE!Å$E-c                 ó  — 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
                  ||«       y ©NrP   TFrZ   rd   )r   r   rø   r   r\   r]   ©rC   r6   r7   ra   r`   s        r'   Ú(test_merge_incompat_infer_boolean_objectz8TestMergeDtypes.test_merge_incompat_infer_boolean_objectd  s€   € ä˜¤¨¨e }¼FÔ CÐDÓEˆÜ˜  u Ð.Ó/ˆä˜e d¨E ]Ð3¼6ÔBˆÜ�s˜C EÔ*ˆÜ
×Ñ˜f hÔ/Ü�s˜C EÔ*ˆÜ
×Ñ˜f hÕ/r)   c                 ó6  — 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                  ||«       y 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±VÐ'<ÄFÔ KÐLÓMˆÜ˜  u Ð.Ó/ˆä˜e d¨E ]Ð3¼6ÔBˆÜ�s˜C EÔ*ˆÜ
×Ñ˜f hÔ/Ü�s˜C EÔ*ˆÜ
×Ñ˜f hÕ/r)   zdf1_vals, df2_valsr	  )r,   r-   r,   )r:  rX  rY  r   FTrZ   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 ‚y y )Nr^  rd   )r   r   r   r^  rV   r   )rC   Údf1_valsÚdf2_valsr6   r7   r`   s         r'   Ú!test_merge_incompat_dtypes_are_okz1TestMergeDtypes.test_merge_incompat_dtypes_are_ok{  s�   € ô  ˜˜h˜Ó(ˆÜ˜˜h˜Ó(ˆä�s˜C S EÔ*ˆÜ˜vŸx™xŸ~™~Ô.Ð.Ð.Ü�s˜C S EÔ*ˆÜ˜vŸx™xŸ~™~Ô.´/À&Ç(Á(Ç.Á.Ô2QÐQÐQÐ2QÐ.r)   rZ  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 «       d|d   j                  › d|d   j                  › d�}t        j                  |«      }t	        j
                  t        |¬«      5  t        ||dg¬«       d d d «       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 «       d|d
   j                  › d|d
   j                  › d�}t        j                  |«      }t	        j
                  t        |¬«      5  t        ||dd
g¬«       d d d «       y y # 1 sw Y   �Œ€xY w# 1 sw Y   �Œ"xY w# 1 sw Y   Œ‘xY w# 1 sw Y   y xY w)Nr^  úYou are trying to merge on ú and zE columns for key 'A'. If you wish to proceed you should use pd.concatrˆ   rd   ©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   rV   rD  rE  r‹   rŒ   r�   r   r   )rC   r‡  rˆ  r6   r7   r�   râ  rã  s           r'   Ú test_merge_incompat_dtypes_errorz0TestMergeDtypes.test_merge_incompat_dtypes_error“  s)  € ô2 ˜˜h˜Ó(ˆÜ˜˜h˜Ó(ˆð *¨#¨c©(¯.©.Ð)9¸¸sÀ3¹x¿~¹~Ð>Nð OSð Sð 	ô �i‰i˜‹nˆÜ�]‰]œ:¨SÔ1ñ 	&Ü�#�s ˜uÕ%÷	&ð
 *¨#¨c©(¯.©.Ð)9¸¸sÀ3¹x¿~¹~Ð>Nð OSð Sð 	ô �i‰i˜‹nˆÜ�]‰]œ:¨SÔ1ñ 	&Ü�#�s ˜uÕ%÷	&ô
 ˆx‹=œC ›MÒ)ô  (°ÀÑIÓJˆCÜ (°ÀÑIÓJˆCð
 .¨c°#©h¯n©nÐ-=¸UÀ3ÀsÁ8Ç>Á>ÐBRð SWð Wð ô —)‘)˜C“.ˆCÜ—‘œz°Ô5ñ  Ü�c˜3”÷ ð .¨c°#©h¯n©nÐ-=¸UÀ3ÀsÁ8Ç>Á>ÐBRð SWð Wð ô —)‘)˜C“.ˆCÜ—‘œz°Ô5ñ /Ü�c˜3 C¨ :Õ.÷/ð /ð/ *÷	&ñ 	&ú÷	&ñ 	&ú÷$ ð  ú÷/ð /ús0   Á.G<ÃH	Å9HÇ!H"Ç<HÈ	HÈHÈ"H+zexpected_data, howr¨   r‚   ro   rR   c                 óÔ   — t        dgdg|¬«      }t        dgdg|¬«      }t        |||¬«      }t        t        |«      «      }t        ||dg|¬«      }t	        j
                  ||«       y )N)r+   ÚidrÏ   )r   rÇ   ©rU   r}   rV   ©r   r   r   r   r\   r]   )	rC   Úany_numeric_ea_dtypery   Úexpected_dataÚd1ra  r`   Ú	exp_indexra   s	            r'   Útest_merge_EA_dtypez#TestMergeDtypes.test_merge_EA_dtypeÜ  so   € ô ˜�v¨ vÐ5IÔJˆÜ˜�v¨ vÐ5IÔJˆÜ�r˜2 3Ô'ˆÜœs =Ó1Ó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
                  ||«       y )N)r,   r“  rÏ   )r-   rÇ   r”  r•  )	rC   ry   r—  Úany_string_dtyper˜  ra  r`   Úexp_idxra   s	            r'   Útest_merge_string_dtypez'TestMergeDtypes.test_merge_string_dtypeð  so   € ô ˜�x¨$¨Ð7GÔHˆÜ˜�x¨$¨Ð7GÔHˆÜ�r˜2 3Ô'ˆÜœS Ó/Ó0ˆÜØ °4°&Ð@Pô
ˆô 	×Ñ˜f hÕ/r)   zhow, expected_data)Tr+   r2   )Fr3   r1   c                 ó²   — t        ddgddgdœ«      }t        ddgddgdœ«      }t        |||¬	«      }t        |g d
¢¬«      }t        j                  ||«       y )NTFr+   r3   ©r^  r_  r1   r2   ©r^  r\  rÇ   r�  r¾   r[   )rC   ry   r—  r6   r7   r`   ra   s          r'   Útest_merge_bool_dtypez%TestMergeDtypes.test_merge_bool_dtype  s\   € ô ˜t U˜m°1°a°&Ñ9Ó:ˆÜ˜u d˜m°1°a°&Ñ9Ó:ˆÜ�s˜C SÔ)ˆÜ˜]²OÔDˆÜ
×Ñ˜f hÕ/r)   c                 ón  — t        g d¢g d¢dœt        j                  «       ¬«      }|j                  «       }t        dddt        j                  dgd	d
dt        j                  dgdœ|¬«      }|j                  «       }t        ||dg|¬«      }t        j                  ||«       t        j                  ||«       t        t        j                  d«      t        j                  «       t        j                  d«      gt        j                  g d¢«      ¬«      }t        j                  |j                  |«       y )N)rŠ  r‹  Ú3Ú4N)r¥  Ú5Ú6Ú7Ú8)©Úlvl0zlvl1-a©r«  zlvl1-b)ÚdatarV   rŠ  r‹  r¤  r¦  r¨  r©  Ú9Ú11)rª  ©r«  zlvl1-crª  )rR   ro   re   ry   ÚO)rª  r¬  r°  rw   )r   r�   ÚStringDtyperí   rK  r   r\   r]   r   r   rV   r   rN  r®   r  )	rC   rî   Ústring_dtyper6   rÈ  r7   rÉ  r›   ra   s	            r'   Útest_merge_ea_with_stringz)TestMergeDtypes.test_merge_ea_with_string  sÿ   € äâ$>Ú$=ñô —.‘.Ó"ô
ˆð —8‘8“:ˆÜà%(¨#¨s´B·E±E¸3Ð$?Ø%(¨#¨s´B·E±E¸4Ð$@ñð ô
ˆð —8‘8“:ˆÜ˜C sÐ0BÐ/CÈÔSˆô 	×Ñ˜c 8Ô,Ü
×Ñ˜c 8Ô,ô Ü�X‰X�c‹]œBŸN™NÓ,¬b¯h©h°s«mÐ<Ü×(Ñ(ÚLóô
ˆô 	×Ñ˜vŸ}™}¨hÕ7r)   zleft_empty, how, exp)
)FrR   rR   )Fro   Úempty)Fr‚   rµ  )Fr¨   rR   )FÚcrossÚempty_cross)TrR   rµ  )Tro   ro   )Tr‚   rµ  )Tr¨   ro   )Tr¶  r·  c                 ó$  — t        ddgddgdœ«      }t        dgdgdœd¬	«      }|r|j                  d
«      }n|j                  d
«      }|j                  ||¬«      }|dk(  r2t        ddgddgt        j                  t        j                  gdœ«      }nO|dk(  r!t        dgt        j                  gdgdœ«      }n)|dk(  rt        g d¢d¬«      }n|dk(  rt        g d¢d¬«      }|dk(  rj                  dd¬«      }t        j                  |«       y )Nr   r+   r1   r2   r   r3   r¡  rT   rZ   r   rÇ   rR   r�  ro   rµ  rÏ   r·  )ÚA_xr_  ÚA_yr\  r¨   r^  TrY  )r   Úheadr   r   r­   ri  r\   r]   )rC   Ú
left_emptyry   rh   rR   ro   r`   ra   s           r'   Útest_merge_emptyz TestMergeDtypes.test_merge_empty6  s  € ô    1˜v¨Q°¨FÑ3Ó4ˆÜ  ¨1¨#Ñ.°gÔ>ˆáØ—9‘9˜Q“<‰Dà—J‘J˜q“MˆEà—‘˜E s�Ó+ˆà�&Š=Ü ¨¨1 v°Q¸°FÄ"Ç&Á&Ì"Ï&É&ÐAQÑ!RÓS‰HØ�GŠ^Ü ¨ s´"·&±&°ÀÀÑ!DÓE‰HØ�GŠ^Ü ªÀÔH‰HØ�MÒ!Ü Ò)AÈÔQˆHà�'Š>Ø×+Ñ+¨C¸dÐ+Ó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œ«      }|j	                  |d
¬«      }t        g d¢t        j                  g d¢t        j                  ¬«      dœ«      }t        j                  |j                  d¬«      |«       y ©NrŸ   r    r+   r   rZ   r±   r¡   r1   r2   r¨   rÇ   )r    r¡   rŸ   rŸ   )r   r2   r+   r1   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±8¸QÀ¸FÌ"Ï(É(Ô3SÑTÓUˆÜ˜u e˜n´2·8±8¸QÀ¸FÌ"Ï(É(Ô3SÑTÓUˆØ—‘˜3 G�Ó,ˆÜâ1Ü—X‘Xšl´"·(±(Ô;ñó
ˆô 	×Ñ˜f×0Ñ0°dÐ0Ó;¸XÕ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œ«      }|j	                  |d
¬«      }t        g d¢t        j                  g d¢t        j                  ¬«      dœ«      }t        j                  |j                  d¬«      |«       y 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±8¸QÀ¸FÌ"Ï'É'Ô3RÑSÓTˆÜ˜u e˜n´2·8±8¸QÀ¸FÌ"Ï'É'Ô3RÑSÓTˆØ—‘˜3 G�Ó,ˆÜâ1Ü—X‘Xšl´"·'±'Ô:ñó
ˆô 	×Ñ˜f×0Ñ0°dÐ0Ó;¸XÕFr)   c                 óˆ  — t        dt        g d¢t        j                  ¬«      i«      }t        t        g d¢t        j                  ¬«      g d¢dœ«      }|j	                  |dd¬«      }t        t        j
                  g d¢t        j                  ¬«      g d	¢dœ«      }t        j                  |j                  d
¬«      |«       y )NÚjoin_key)r   r   r+   rZ   r	  rô   )rÈ  rG   rR   rÁ   )r,   rK   r-   TrÀ  )	r   r   r   rÅ  r   rÃ   r\   r]   r@  )rC   rD   Ú
df_detailsr›   ra   s        r'   Útest_merge_intc_non_monotonicz-TestMergeDtypes.test_merge_intc_non_monotonicv  s�   € Ü˜
¤Fª9¼B¿G¹GÔ$DÐEÓFˆÜÜ¢	´·±Ô9ÂOÑTó
ˆ
ð —‘˜*¨¸�Ó@ˆÜÜŸ™¢)´2·7±7Ô;ÂoÑVó
ˆô 	×Ñ˜f×0Ñ0°dÐ0Ó;¸XÕFr)   N)"rN  rO  rP  r‹   rH  rI  rø   r`  r   rT   r  r  Úfloat16rm  rw  rz  r  rƒ  r…  r   rl   rÈ   r‰  r�   rŽ  r‘  rš  rž  r¢  r´  r½  rÃ  rÆ  rÊ  rK  r)   r'   rU  rU  ô  s¢  „ Ø‡[�[×Ñ˜W v¨zÐ&:Ó;ñRó <ðRð( ‡[�[×Ñ˜T B§H¡H¨b¯j©j¸"¿*¹*ÀbÇjÁjÐ#QÓRñ0ó Sð0ð> ‡[�[×ÑØ(âšªyºÑ)OÐPÚ˜˜c˜
¨1¨a¨&¸¸S°zÑ$BÐCØ�ˆV’_¨Q°¨F¸#¸s¸Ñ&DÐEð	
óñ<óð<ò	0ò@ò2	0ò
0ð ‡[�[×ÑØò ™šÓ/×6Ñ6°zÓBÐCÚ™f¢_Ó5×<Ñ<¸ZÓHÐIà�ˆV‘V˜U D˜M°Ô8Ð9Ø�ˆV‘V˜U D˜M°Ô6Ð7ð	
ó
ñRó
ðRð ‡[�[×ÑØñ �Q˜�F (Ô+ª_Ð=Ù�Q˜�F 'Ô*ªOÐ<ÚšÐ(ÚšoÐ.à�—‘˜j°!¸#Ô>Ø˜|Ð,ðð ˆR�]‰]˜:¨q°sÔ;¸aÀ¸VÐDØˆR�]‰]˜:¨q°sÔ;¸cÀ3¸ZÐHà�—‘˜j°!Ô4Ø�—‘˜j°!¸ÔEðð	
óñ(3/ó)ð(3/ðj ‡[�[×ÑØà�ˆV�WÐØ�ˆMØˆS�'ˆNØˆS�&ˆMð		
óñ	0óð	0ð ‡[�[×ÑØà�3ˆZ˜Ð!Ø�ˆMØˆU�GÐØˆU�FˆOð		
óñ	0óð	0ð ‡[�[×ÑØà’|¢]Ð3Ð4Ø’}¢lÐ3Ð4Ø’l¢MÐ2Ð3Ø’}¢lÐ3Ð4ð		
óñ0óð0ò8ðB ‡[�[×ÑØò	
óñ0óð0ò2
Gò
Gó	Gr)   rU  c                  ó$  — t        t        t        j                  j	                  d«      j                  ddgd¬«      «      j                  t        ddg«      «      t        j                  j	                  d«      j                  g d¢d¬«      dœ«      S )Nr   rŸ   r    )rF   r"  )ÚoneÚtwoÚthreerp  )r   r   r   r    r!   Úchoicerl   r	   rK  r)   r'   rR   rR   ‚  sy   € ääÜ—	‘	×%Ñ% aÓ(×/Ñ/°¸°ÀUÐ/ÓKóç‰fÔ% u¨e nÓ5Ó6Ü—‘×&Ñ& qÓ)×0Ñ0Ò1HÈuÐ0ÓUñ		
óð r)   c                  ól   — t        t        ddg«      j                  t        ddg«      «      ddgdœ«      S )NrŸ   r    r+   r   )rq  ÚZ)r   r   rl   r	   rK  r)   r'   ro   ro   Ž  s<   € ää˜ ˜Ó'×.Ñ.Ô/?ÀÈÀÓ/OÓPØ�Q�ñ	
óð r)   c            
       óœ  — e Zd Zd„ Zd„ Zd„ Zd„ Zej                  j                  dddg«      d„ «       Z
d	„ Zej                  j                  d
d„ d„ d„ g«      d„ «       Zd„ Zd„ Zej                  j                  dddg«      ej                  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y)ÚTestMergeCategoricalc                 óî   — t        ||d¬«      }|j                  j                  «       }|st        j                  d«      nd}t        t        ddg¬«      ||gg d¢¬	«      }t        j                  ||«       y )
Nrq  rd   r±  ÚstrrŸ   r    rÁ  )rq  ÚY_xÚY_yrw   ©	r   r  r±  r   rV   r   r	   r\   r®   )rC   rR   r¹   r›   r`   rV   ra   s          r'   Útest_identicalz#TestMergeCategorical.test_identical™  se   € ä�t˜T cÔ*ˆØ—‘×)Ñ)Ó+ˆÙ%7”—‘˜”¸UˆÜÜ¨%°¨Ô8¸%ÀÐGÚ%ô
ˆô 	×Ñ˜v xÕ0r)   c                 ó  — t        ||d¬«      }|j                  j                  «       }|st        j                  d«      nd}t        t        ddg¬«      |t        j                  d«      gg d	¢¬
«      }t        j                  ||«       y )Nrq  rd   r±  rÖ  rŸ   r    rÁ  rT   ©rq  rr  rÒ  rw   rÙ  ©rC   rR   ro   r¹   r›   r`   rV   ra   s           r'   Ú
test_basiczTestMergeCategorical.test_basic¤  sv   € ô �t˜U sÔ+ˆØ—‘×)Ñ)Ó+ˆÙ%7”—‘˜”¸UˆÜä ¨U°E¨NÔ;ØÜ—‘˜Ó!ðò
 "ô
ˆô 	×Ñ˜v xÕ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¬«      }|j                  «       }|j                  «       }|d   j                  d«      |d<   t        ||ddd¬«      }|d   j                  t	        dg«      «      |d<   t        j                  ||«       |j                  «       }|d   j                  d«      |d<   t        ||ddd¬«      }t        j                  ||«       |j                  «       }|d   j                  d«      |d<   |j                  «       }|d   j                  d«      |d<   t        ||ddd¬«      }t        j                  ||«       y )Nr,   r-   rK   rL   rM   )r   r+   r   r1   r2   Únullr²   rÝ   rÞ   r±   rR   )ry   rx   r{   rV  )r   r   rí   rl   r	   r\   r]   )rC   ro   rR   rD   ra   Úcrightr`   Úclefts           r'   Útest_merge_categoricalz+TestMergeCategorical.test_merge_categorical´  s•  € ô à ¨°¸Ñ=Ø F¨v¸&ÀVÑLñó
ˆô à ¨°¸Ñ=Ø ¨°¸Ñ=ñó
ˆô �4˜ F°CÀ#ÔFˆð —7‘7“9ˆð
 —‘“ˆØ˜S‘k×(Ñ(¨Ó4ˆˆs‰Ü�t˜V¨¸ÀsÔKˆØ  ™×,Ñ,Ô-=¸v¸hÓ-GÓHˆ�‰Ü
×Ñ˜f hÔ/ð —	‘	“ˆØ˜3‘Z×&Ñ& zÓ2ˆˆc‰
Ü�u˜f¨&¸#ÈÔLˆÜ
×Ñ˜f hÔ/ð —‘“ˆØ˜S‘k×(Ñ(¨Ó4ˆˆs‰Ø—	‘	“ˆØ˜3‘Z×&Ñ& zÓ2ˆˆc‰
Ü�u˜f¨&¸#ÈÔ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                  ||«       y )Nr�  rÁ  )ÚA0ÚB0ÚC0)ÚFooÚLeft)r\  r_  r^  )ÚC1ÚB1ÚA1)rè  ÚRightrè  rd   )rì  rë  rê  )rè  ré  rí  rá  rA  s        r'   Ú'tests_merge_categorical_unordered_equalz<TestMergeCategorical.tests_merge_categorical_unordered_equalß  s}   € ää"¢?ºÔOÚ*ñó
ˆô ä"¢?ºÔOÚ+ñó
ˆô �s˜C U GÔ,ˆÜä"¢?Ó3Ú*Ú+ñó
ˆô 	×Ñ˜f hÕ/r)   ÚorderedTFc                 ó¸  — t        ddg|¬«      }t        g d¢t        g d¢|¬«      g d¢dœ«      j                  d	d
g«      }t        g d¢t        g d¢|¬«      g d¢dœ«      j                  d	d
g«      }t	        ||ddd¬«      }t        g d¢t        g d¢|¬«      g d¢ddt
        j                  gdœ«      j                  d	d
g«      }t        j                  ||«       y )NÚP2ÚP1©rÂ  rï  )r\  r\  rk  )rñ  rò  rñ  rZ   r	  )r“  Úpr,   r“  rô  )r^  r\  r\  )rñ  rñ  rò  )rF   rV  r$  )r“  rô  r˜  rR   Tr“   g      &@g      (@)r“  rô  r,   r˜  )	r	   r   r
   rr   r   r   r­   r\   r]   )rC   rï  Úpcatr6   r7   r`   ra   s          r'   Ú5test_multiindex_merge_with_unordered_categoricalindexzJTestMergeCategorical.test_multiindex_merge_with_unordered_categoricalindexø  sã   € ô  ¨D°$¨<ÀÔIˆÜâ%Ü Ò!3¸4Ô@Úñó
÷ ‰)�T˜3�KÓ
 ð 	ô â%Ü Ò!3¸4Ô@Ú"ñó
÷ ‰)�T˜3�KÓ
 ð 	ô �s˜C V¸È$ÔOˆÜâ%Ü Ò!3¸4Ô@ÚØ˜T¤2§6¡6Ð*ñ	ó
÷ ‰)�T˜3�KÓ
 ð 	ô 	×Ñ˜f hÕ/r)   c                 óH  — |j                  |j                  j                  d«      ¬«      }t        ||d¬«      }|j                  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                  j                  «      sJ ‚|j                  j                  j                  |j                  j                  «      sJ ‚y )NrV  )rÒ  rq  rd   r±  rÖ  rŸ   r    rÁ  r+   r   rÜ  rw   )ÚassignrÒ  rl   r   r  r±  r   rV   r   r	   r\   r®   rq  r/  Ú#_categories_match_up_to_permutationrÝ  s           r'   Útest_other_columnsz'TestMergeCategorical.test_other_columns  sÛ   € à—‘˜uŸw™wŸ~™~¨jÓ9�Ó:ˆä�t˜U sÔ+ˆØ—‘×)Ñ)Ó+ˆÙ%7”—‘˜”¸UˆÜä ¨U°E¨NÔ;ØÜ ¨Q°¨FÔ3ðò
 "ô
ˆô 	×Ñ˜v xÔ0ð �v‰v�}‰}×@Ñ@ÀÇÁÇÁÔQÐQÐQØ�w‰w�~‰~×AÑAÀ&Ç(Á(Ç/Á/Ô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©rl   r	   rý  s    r'   rþ  zTestMergeCategorical.<lambda>.  s   € �a—h‘hÔ/Ò0EÓFÓG€ r)   c                 ó8   — | j                  t        d¬«      «      S )NT©rï  r  rý  s    r'   rþ  zTestMergeCategorical.<lambda>/  s   € �a—h‘hÔ/¸Ô=Ó>€ r)   c                 óÄ  —  ||j                   j                  d«      «      }|j                  |¬«      }t        |j                   j                  j
                  t        «      sJ ‚t        ||d|¬«      }|j                  j                  «       }|st        j
                  d«      nd}	t        |	|	t        j
                  d«      gg d¢¬	«      }
t        j                  ||
«       y )
Nrø   )rq  rq  rÁ   r±  rÖ  rT   rÜ  rw   )rq  rl   rø  rR  r/  rV   r	   r   r  r±  r   r   r\   r®   )rC   rû  rî   rR   ro   r¹   rq  r›   r`   rV   ra   s              r'   Útest_dtype_on_merged_differentz3TestMergeCategorical.test_dtype_on_merged_different*  s«   € ñ �5—7‘7—>‘> (Ó+Ó,ˆØ—‘˜q�Ó!ˆÜ˜$Ÿ&™&Ÿ-™-×-Ñ-Ô/?Ô@Ð@Ð@ô �t˜U s°	Ô:ˆà—‘×)Ñ)Ó+ˆÙ%7”—‘˜”¸UˆÜ˜5 %¬¯©°'Ó):Ð;Â?ÔSˆÜ
×Ñ˜v xÕ0r)   c                 ó^  — d}t        g d¢|z  g d¢dz  |z  dD ��cg c]  }|gdz  |z  D ]  }|‘Œ Œ c}}dD ��cg c]  }|g|z  D ]  }|‘Œ Œ c}}dœ«      }|j                  d„ «      }t        ||t        |j                  «      ¬	«      }t        j                  ||«       y c c}}w c c}}w )
Nr3   )
r,   r-   rK   rL   rM   rÝ   rÞ   rß   rè   Új)rX  ÚwrÕ   rÖ   rö   r   )rl  r$   Úurô  Úo)
ÚaaÚbbÚccÚddÚeeÚffÚggÚhhÚiiÚjjrç   c                 ó$   — | j                  d«      S )NrV  )rl   rý  s    r'   rþ  zITestMergeCategorical.test_self_join_multiple_categories.<locals>.<lambda>e  s   €  §¡¨Ó 4€ r)   rd   )r   Úapplyr   r   r}   r\   r]   )rC   rl  ÚeachÚletterrD   r`   s         r'   Ú"test_self_join_multiple_categoriesz7TestMergeCategorical.test_self_join_multiple_categoriesD  sÝ   € ð ˆÜâGÈ!ÑKÚ.°Ñ2°QÑ6ð !:÷àØ#' &¨1¡*¨q¡.òð ò ðØóð!÷àð $( &¨1¡*òð ò ðØóñó
ˆð: �X‰XÑ4Ó5ˆô �r˜2¤$ r§z¡zÓ"2Ô3ˆä
×Ñ˜f bÕ)ùó=ùó
s
   œB#»B)c                 ó@  — t        t        ddd«      dgt        ddd«      dggddg¬«      }|d   j                  d	«      |d<   t        t        ddd«      dgt        ddd
«      dggddg¬«      }|d   j                  d	«      |d<   t        t        j                  d«      j                  «       ddgt        j                  d«      j                  «       dt
        j                  gt        j                  d«      j                  «       t
        j                  dggg d¢¬«      }t        ||ddg¬«      }t        j                  ||«       t        t        j                  d«      j                  «       ddggg d¢¬«      }t        ||ddg¬«      }t        j                  ||«       y )NiÑ  r+   r|  r   çÍÌÌÌÌÌô?r   Únum2r¾   rV  r1   çffffffö?Únum4r  r  r  )r   r  r  r¨   rž  r‚   )
r   r   rl   r�   rJ  r   r­   r   r\   r]   )rC   rD   r7   Ú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¸Ð&=Ð>ÈÐQWÐHXô
ˆð ˜‘Z×&Ñ& zÓ2ˆˆ6‰
äÜ�4˜˜AÓ Ð$¤t¨D°!°QÓ'7¸Ð&=Ð>ÈÐQWÐHXô
ˆð ˜&‘k×(Ñ(¨Ó4ˆˆF‰ä"ä—‘˜lÓ+×0Ñ0Ó2°C¸Ð=Ü—‘˜lÓ+×0Ñ0Ó2°C¼¿¹Ð@Ü—‘˜lÓ+×0Ñ0Ó2´B·F±F¸CÐ@ðò
 -ô
ˆô ˜R ¨'°v°hÔ?ˆÜ
×Ñ˜l¨NÔ;ä"Ü�l‰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                 óD  — t        g d¢|dœ«      }|d   j                  t        ||¬«      «      |d<   t        ddgddgd	œ«      }|j                  |«      }t        ddg|ddgd
œ«      }|d   j                  t        ||¬«      «      |d<   t	        j
                  ||«       y )Nr¢   )r“  rè  rè  r  r   r2   r+   rÿ   )r“  Únum)r“  rè  r'  )r   rl   r	   r   r\   r]   )	rC   Úcategory_columnrÂ  Úexpected_categoriesrï  r6   r7   r`   ra   s	            r'   Ú/test_merging_with_bool_or_int_cateorical_columnzDTestMergeCategorical.test_merging_with_bool_or_int_cateorical_columnŒ  s§   € ô š|°OÑDÓEˆØ˜‘Z×&Ñ&Ô'7¸
ÈGÔ'TÓUˆˆE‰
Ü  1˜v¨q°!¨fÑ5Ó6ˆØ—‘˜3“ˆÜ Q¨ FÐ3FÐPQÐSTÈvÑVÓWˆØ" 5™/×0Ñ0Ü˜Z°Ô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                  ||«       y )	Nr+   r   r  rZ   r   r^  rd   )r^  ÚB_xÚB_y)r   r   r�   rK  r   r\   r]   )rC   rD   r`   ra   s       r'   Útest_merge_on_int_arrayz,TestMergeCategorical.test_merge_on_int_array¤  sg   € äœV Q¨¬2¯5©5 M¸ÔAÈÑJÓKˆÜ�r˜2 #Ô&ˆÜÜ˜!˜Q¤§¡˜¨gÔ6¸qÈÑKó
ˆô 	×Ñ˜f hÕ/r)   c                 ó²  — t        t        t        dd«      «      t        t        dd«      «      t        t        dd«      «      t        t        dd«      «      dœ«      }|j                  ddddœ«      }|j                  d d…d d …f   j                  ddgd	¬
«      j                  ddi«      }|j                  dd …d d …f   j                  g d¢d	¬
«      j                  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                   ||«       y )Nr+   rF   )rÕ   rÖ   rö   rL   rV  rõ   r2   rö   rÕ   T)ÚobservedrL   rš   rN   )rö   rÕ   rÖ   r¨   r©  r3   r¦   rÁ  ©Únamesr   )Úd_xÚd_yrw   )r   r   r   rl   ÚilocÚgroupbyÚaggr   r
   r   r­   r   Úfrom_arraysÚmaprm   r\   r]   )rC   r6   r7   râ  rã  r`   Úcatsrö   rÕ   rÖ   Úidxra   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ÓMˆà�h‰h�r˜�rš1�u‰o×%Ñ% s¨C j¸4Ð%Ó@×DÑDÀcÈ5À\ÓRˆØ�h‰h�q‘rš1�u‰o×%Ñ%¢oÀÐ%ÓE×IÑIÈ3ÐPUÈ,ÓWˆÜ�s˜C¨D¸dÈÔPˆä”E˜!˜R“LÓ!ˆÜœœU 1 a›[Ó)¬D´°q¸"³Ó,>Ñ>È4ÔPˆÜœœU 1 a›[Ó)¬D´°q¸"³Ó,>Ñ>È4ÔPˆÜœŸ™˜ 1™¤t¬E°!°R«LÓ'9Ñ9ÀdÔKˆÜ×$Ñ$ a¨¨A Y²oÔFˆÜäœC¤¤u¨Q°£{Ó3Ó4¼¿¹°xÀ!±|ÑCÜŸ™�x !‘|¤d¬3¬u´e¸A¸r³lÓ+CÓ&DÑDñð ô
ˆô 	×Ñ˜f hÕ/r)   N)rN  rO  rP  rÚ  rÞ  rã  rî  r‹   rH  rI  rö  rú  r  r  r#  r*  r.  r<  rK  r)   r'   rÔ  rÔ  ˜  s  „ ò	1ò1ò )0òV0ð2 ‡[�[×Ñ˜Y¨¨u¨Ó6ñ0ó 7ð0ò8Sð* ‡[�[×ÑØáÙGÙ>ð	
óñ1óð1ò$&*òP<ð@ ‡[�[×Ñ˜Y¨¨u¨Ó6Ø‡[�[×ÑØ8â'¨$°¨¸¸u¸ÐFÚ˜A˜q˜6 A q 6Ð*Ú/°&¸'Ð1BÀVÈWÐDUÐVð	
óñ0óó 7ð0ò0ó0r)   rÔ  c                   óX  — e Zd Zej                  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	y)ÚTestMergeOnIndexeszhow, sort, expectedr‚   FrÆ   rF   ry  éd   r±   r   r+   rw   TrR   ©rÆ   rF   r   ©r   r+   r   )r   rF   rÆ   r	  ro   ©é,  r?  ry  ©r1   r+   r   ©r?  ry  rC  rü   r¨   r   rC  rk   c                 óž   — t        dg d¢ig d¢¬«      }t        dg d¢ig d¢¬«      }t        ||dd||¬	«      }t        j                  ||«       y )
Nr,   r@  rA  rw   r-   rB  rD  T)rX   rY   ry   rz   r[   )rC   ry   rz   ra   r2  r3  r`   s          r'   Útest_merge_on_indexesz(TestMergeOnIndexes.test_merge_on_indexesÎ  sQ   € ô` ˜S¢+Ð.²iÔ@ˆÜ˜c¢?Ð3º9ÔEˆÜØ�X¨$¸DÀcÐPTô
ˆô 	×Ñ˜f hÕ/r)   N)
rN  rO  rP  r‹   rH  rI  r   r   r­   rG  rK  r)   r'   r>  r>  Í  sŠ  „ Ø‡[�[×ÑØà�e™Y¨b°"¨X¸SÀ#¸JÑ'GÐPQÐSTÈvÔVÐWØ�d™I¨R°¨H¸CÀ¸:Ñ&FÈqÐRSÈfÔUÐVàØÙ¢°3¸¸R¿V¹VÐ2DÑEÊYÔWðð ØÙ¢°2·6±6¸3ÀÐ2DÑEÊYÔWðð ØÙØŸ6™6 2 rÐ*²ÑAÊôðð ØÙØ˜r 2§6¡6Ð*²ÑAÊôðð ØÙØ˜b " b§f¡fÐ-°R·V±V¸SÀ#ÀsÐ4KÑLÚ&ôðð ØÙØ˜b " b§f¡fÐ-°R·V±V¸SÀ#ÀsÐ4KÑLÚ&ôððG+	
ó.ñ^0ó_.ñ^0r)   r>  rU   r  Ú	index_colrÐ   r�  )rÂ  rª   r1   )ÚstartÚstoprª   )r  z
2018-01-02z
2018-01-03r©   c                 óL   — t        | «      j                  › d| j                  › d�S )Nú[rv  )ÚtyperN  rV   rý  s    r'   rþ  rþ  	  s"   € ”T˜!“W×%Ñ%Ð& a¨¯© y°Ð2€ r)   )Úidsc                 óÄ   — t        dg d¢i| ¬«      }t        dg d¢i| ¬«      }|j                  |dg¬«      }t        g d¢g d¢dœ| ¬«      }t        j                  ||«       y )	NÚ	left_datarü   rw   Ú
right_datarn  rH  rd   )rP  rQ  r[   )rU   rR   ro   r`   ra   s        r'   Útest_merge_index_typesrR  	  s`   € ô  �k¢9Ð-°UÔ;€DÜ�|¢_Ð5¸UÔC€Eà�Z‰Z˜ ; -ˆZÓ0€FäÚªÑ?À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                  |	|«       y d}
t        j                  t        |
¬«      5  t	        ||| ||||¬«      }	d d d «       y # 1 sw Y   y xY w)Nr^  r¢   r,   r-   r   r+   r¨   r‚   r1  rw   r   ru  r2   r1   r   )re   rx   r{   rX   rY   z$Cannot merge a Series without a namerˆ   )
r   r   Úfrom_productr   r   r\   r]   r‹   rŒ   r�   )re   rx   r{   rX   rY   Únmr,   r-   ra   r`   r�   s              r'   Útest_merge_seriesrV  !	  s'  € ô 	Ø	ŠlÐÜ×%Ñ%¨¨S z°A°q°6Ð&:À7ÈGÐBTÔUô	€Aô 	ÚÜ×%Ñ%¨¨S z°A°q°6Ð&:À7ÈGÐBTÔUØô	€Aô
 Ø�!ˆf˜A˜q˜6Ñ"Ü×%Ñ%¨¨S z°A°3Ð&7ÀÈÐ?QÔRô€Hð 
€~ÜØØØØØØ!Ø#ô
ˆô 	×Ñ˜f hÕ/à4ˆÜ�]‰]œ:¨SÔ1ñ 		ÜØØØØØ!Ø%Ø'ôˆF÷		÷ 		ñ 		ús   ÃC0Ã0C9c                  ó:  — 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 «       y # 1 sw Y   y xY w)Nr^  r¢   r,   r-   r   r+   r¨   r‚   r1  rw   r   )r_  r\  ru  z-Not allowed to merge between different levelsrˆ   rd   )r   r   rT  r   r‹   rŒ   r   r   r±   s     r'   Útest_merge_series_multilevelrX  V	  s¨   € ô 	Ø	ŠlÐÜ×%Ñ%¨¨S z°A°q°6Ð&:À7ÈGÐBTÔUô	€Aô 	ÚÜ×%Ñ%¨¨S z°A°q°6Ð&:À7ÈGÐBTÔUØô	€Aô
 
�‰ÜÐIô
ñ +ô 	ˆa�˜ Ð)Õ*÷+÷ +ñ +ús   Á7BÂBz!col1, col2, kwargs, expected_colsÚsuffixes)Ú Ú_duprb  Ú0_dup)Nr[  )Ú_xÚ_yÚ0_xÚ0_yr]  r^  r,   )Nr^  r:  )r]  Nz0.0_xr-   Úb_yrõ  )Nr]  )Ú_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                  ||«       y )Nrü   rý   r+   r2   r   r3   r1   r¥   r¾   TrW   r[   )r.   rß  ÚkwargsÚexpected_colsr,   r-   ra   r`   s           r'   Útest_merge_suffixrg  h	  s•   € ô( 	�4šÐ#Ó$€AÜ�4šÐ#Ó$€Aä˜1˜a˜& 1 a &¨1¨a¨&Ð1¸=ÔI€HàˆQ�W‰W�QÐD 4°TÑD¸VÑD€FÜ×Ñ˜& (Ô+ä�1�aÐE D°dÑE¸fÑE€FÜ×Ñ˜& (Õ+r)   zhow,expectedro   rE  é<   éF   ©éX  é¼  é   )r^  rë  ÚB2)r+   r?  ry  rC  r1  rk  rl  rm  c                 óÀ   — t        g d¢g d¢dœ«      }t        g d¢g d¢dœ«      }t        ||d| d¬«      }t        |«      }g d	¢|_        t        j                  ||«       y )
N)r?  ry  r+   )rh  ri  r1  r   rE  rj  r^  )r]  r]  )re   ry   rY  )r^  r,  r,  )r   r   r}   r\   r]   )ry   ra   r2  r3  r`   s        r'   Útest_merge_duplicate_suffixrp  ˆ	  sV   € ô$ šm²,Ñ?Ó@€GÜš²_ÑEÓF€HÜ�7˜H¨°#ÀÔM€FÜ˜Ó"€HÚ*€HÔä×Ñ˜& (Õ+r)   zcol1, col2, suffixes))r,   r,   )NN)r,   r,   )rZ  N)r   r   )NrZ  c                 óÄ   — t        | g d¢i«      }t        |g d¢i«      }d}t        j                  t        |¬«      5  t	        ||dd|¬«       d d d «       y # 1 sw Y   y xY w)Nrü   ©r1   r2   r3   z'columns overlap but no suffix specifiedrˆ   T©rX   rY   rY  rÚ  )r.   rß  rY  r,   r-   r�   s         r'   Útest_merge_suffix_errorrt  £	  s`   € ô 	�4šÐ#Ó$€AÜ�4šÐ#Ó$€Að 4€CÜ	�‰”z¨Ô	-ñ JÜˆa�˜t°ÀÕI÷J÷ Jñ Jús   ¼AÁArR   ©rR   ro   c                 óÀ   — t        dg d¢i«      }t        dg d¢i«      }t        j                  t        d¬«      5  t	        ||dd| ¬«       d d d «       y # 1 sw Y   y xY w)	Nr,   rü   r-   rr  zPassing 'suffixes' as arˆ   Trs  )r   r‹   rŒ   Ú	TypeErrorr   )rY  r,   r-   s      r'   Útest_merge_suffix_raisesrx  ²	  sX   € ä�3š	Ð"Ó#€AÜ�3š	Ð"Ó#€Aä	�‰”yÐ(AÔ	Bñ JÜˆa�˜t°ÀÕI÷J÷ Jñ Júó   º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 «       y # 1 sw Y   y xY w)Nrü   rr  rˆ   Trs  rÚ  )r.   rß  rY  r�   r,   r-   s         r'   Útest_merge_suffix_length_errorr{  ¾	  sY   € ô 	�4šÐ#Ó$€AÜ�4šÐ#Ó$€Aä	�‰”z¨Ô	-ñ JÜˆa�˜t°ÀÕI÷J÷ Jñ Júry  Ú	cat_dtyperÍ  rÎ  Úreversec                 óP  — t        g d¢d¬«      t        g d¢d¬«      dœ}t        t        g d¢«      j                  |d   «      g d¢dœ«      j	                  d«      }g d¢}g d¢}|r |j                  «        |j                  «        t        t        |«      j                  ||    «      |d	œ«      j	                  d«      }|j                  |d
d
¬«      }t        g d¢g d¢t        g d¢«      j                  |d   «      dœ«      j	                  d«      }t        j                  ||«       y )Nrô   Fró  )rÍ  rÎ  rÍ  rü   ©rŸ   rR   rŸ   ©rŸ   ro   TrW   ©rR   ro   rŸ   )	r	   r   r   rl   rr   r}  r   r\   r]   )	r|  r}  Ú
cat_dtypesr6   Údata_fooÚ
data_rightr7   r`   ra   s	            r'   Útest_merge_equal_cat_dtypesr…  Ò	  s  € ô
  ª?ÀEÔJÜª?ÀEÔJñ€Jô
 Ü’Ó'×.Ñ.¨z¸%Ñ/@ÓAÊ9ÑUóç�i�Óð ò €HÚ€JáØ×ÑÔØ×ÑÔä
Ü�xÓ ×'Ñ'¨
°9Ñ(=Ó>ÈÑTóç�i�Óð ð �Y‰Y�s t¸ˆYÓ>€FäâÚÜš/Ó*×1Ñ1°*¸UÑ2CÓDñ	
ó÷ �i�Óð ô ×Ñ˜& (Õ+r)   c                  óÒ  — t        g d¢d¬«      } t        t        ddg«      j                  | «      ddgdœ«      j	                  d	«      }t        t        g d¢«      j                  | «      g d
¢dœ«      j	                  d	«      }|j                  |dd¬«      }t        ddgddgt        ddg«      j                  | «      dœ«      j	                  d	«      }t        j                  ||«       y )Nrô   Fró  r,   r-   r+   r   r  rŸ   )r1   r   r+   r€  TrW   r1   r�  )r	   r   r   rl   rr   r   r\   r]   )r|  r6   r7   r`   ra   s        r'   Útest_merge_equal_cat_dtypes2r‡  ÷	  sÝ   € ä ªOÀUÔK€Iô Ü˜˜S�zÓ"×)Ñ)¨)Ó4¸qÀ!¸fÑEóç�i�Óð ô Ü’Ó'×.Ñ.¨yÓ9ÂIÑNóç�i�Óð ð �Y‰Y�s t¸ˆYÓ>€FäØ�Q� 1 a &´¸¸c¸
Ó1C×1JÑ1JÈ9Ó1UÑVóç�i�Óð ô ×Ñ˜& (Õ+r)   c            
      ó@  — t        dt        t        j                  dd«      t        j                  dd«      gd¬«      i«      } | j	                  «       }|d   j                  d«      |d<   t        || dd¬	«      }| j	                  «       }t        j                  ||«       y )
Nr,   r   r+   r   ÚintervalrZ   rV  r‚   rž  )	r   r   r�   ÚIntervalrí   rl   r   r\   r]   )ro   rR   r`   ra   s       r'   Útest_merge_on_cat_and_ext_arrayr‹  
  s†   € äØ	Œf”b—k‘k ! QÓ'¬¯©°Q¸Ó):Ð;À:ÔNÐOó€Eð �:‰:‹<€DØ�S‘	× Ñ  Ó,€Dˆ�Iä�4˜ G°Ô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
}|j                  |d||f¬«      }| D ��	cg c]  }|D ]	  }	||z   |	f‘Œ Œ }
}}	|
dgz  }
|
| D ��	cg c]  }|D ]	  }	||z   |	f‘Œ Œ c}	}z  }
t        j                  |
ddg¬«      }t        |¬«      }t        j                  ||d¬«       y c c}	}w c c}	}w )Nrç   ©rŠ  r‹  r¤  r¨   r‚   r1  r¾   rZ  r“  r]  r^  ©re   rY  )r“  rZ  Fr>  )r   rT  r   r   rN  r\   r]   )ÚlettersÚnumbersrU   Úframe_xÚframe_yÚl_sufÚr_sufr`   r  r'  Útuplesr%  ra   s                r'   Útest_merge_multiindex_columnsr–  
  s  € ò #€GÚ€GÜ×#Ñ# W¨gÐ$6¸wÈÐ>PÔQ€Eä Ô&€GØ€GˆD�MÜ Ô&€GØ€GˆD�Mà€EØ€EØ�]‰]˜7 t¸¸u°~ˆ]ÓG€Fð 3:×M¨ÀWÒM¸cˆv˜‰~˜sÒ#ÐMÐ#ÐM€FÑMØ
ˆzˆlÑ€FØ
°7×N¨ÀgÒN¸s�˜‘ Ò$ÐNÐ$ÓNÑN€Fä×+Ñ+¨F¸7ÀGÐ:LÔM€NÜ Ô0€Hä×Ñ˜& (¸Ö>ùó NùãNs   Á%C"Â	C(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
                  ||«       y )Nrô   )rŠ  r‹  r¥  )rÕ   rÖ   r�  )Ú2000Ú2001Ú2002)rÖ   rö   rR   rÖ   rž  )r˜  r™  re  rõ   )r   r�   rŸ  r   r\   r]   ©r6   r7   r`   ra   s       r'   Ú test_merge_datetime_upcast_dtyperœ  9
  ss   € ä
š/²Ñ@Ó
A€CÜ
Ú¤B§N¡NÒ3KÓ$LÑMó€Cô �3˜ ¨CÔ0€FÜâ Ú Ü—‘Ò 7Ó8ñ	
ó€Hô ×Ñ˜& (Õ+r)   Ún_categoriesr3   é€   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        t        | dz   «      D �cg c]  }|d
k  r|dgn|t
        j                  g‘Œ c}ddg|¬«      }t        j                  ||«       y c c}w )Nr   r+   rG   r­  r¥   rÁ  rR   Tr“   r   g      @r«   r¬   )	r   r   r   r   r   r   r­   r\   r]   )r�  rX   r6   r7   r`   rè   ra   s          r'   Ú%test_categorical_non_unique_monotonicr   J
  sÖ   € ô
 " 1Ð"A¤t¬E°,Ó,?Ó'@Ð"AÓB€JÜ
”E˜,¨Ñ*Ó+°g°YÀjÔ
Q€CÜ
Ø
ˆˆØ�	Ü ˜s¬t´E¸,Ó4GÓ/HÔIô€Cô �3˜ °DÀdÔK€FÜÜ5:¸<È!Ñ;KÓ5LÖM°�Q˜’Uˆ!ˆS‰ ¤B§F¡F Ñ	+ÒMØ˜IÐ&Øô€Hô
 ×Ñ˜( FÕ+ùò	 	Ns   Â"Cc                  óð  — t        g d¢g d¢«      g d¢dœ} t        | «      } t        g d¢g d¢«      g d¢g d¢dœ}t        |«      j                  d	d
g«      d   }t        | |j	                  «       ddgd	d
gd¬«      }|j                  d	d
gd¬«      }| j                  |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        |«      j                  d	d
g«      d   }t        | |j	                  «       ddgd	d
gd¬«      }|j                  d	d
gd¬«      }| j                  |ddg¬«      }t        j                  ||«       y )N)r,   r-   r,   rK   r,   r-   rô   )r   r+   r   r+   r   r   )ÚCat1ÚInt1)r,   r-   rK   r,   r-   rK   )r   r   r   r+   r+   r+   )r|  g333333ó?r  r  rD  gš™™™™™ù?)ÚCatÚIntÚFactorr¤  r¥  r¦  r¢  r£  rR   rÊ   r+   )Úaxisrd   rø  Tr  )	r
   r   rr   r   r@  rÁ  r„   r\   r]   )r,   r-   ra   r`   s       r'   Ú&test_merge_join_categorical_multiindexr¨  `
  s’  € ô Ò:ºOÓLÚ"ñ	€Aô 	�!‹€Aô Ò9º?ÓKÚ!Ú0ñ	€Aô
 	�!‹×Ñ  u˜~Ó.¨xÑ8€AäØ	Ø	�‰‹Ø˜Ð Ø˜�Øô€Hð �}‰}˜e U˜^°!ˆ}Ó4€HØ�V‰V�A˜6 6Ð*ˆVÓ+€FÜ×Ñ˜( FÔ+ô Ú*ªOÀTô
ò #ñ		€Aô 	�!‹€Aô Ú*ªOÀTô
ò "Ú0ñ	€Aô 	�!‹×Ñ  u˜~Ó.¨xÑ8€AäØ	Ø	�‰‹Ø˜Ð Ø˜�Øô€Hð �}‰}˜e U˜^°!ˆ}Ó4€HØ�V‰V�A˜6 6Ð*ˆVÓ+€FÜ×Ñ˜( FÕ+r)   Úfuncr   Ú
merge_asof)re  Úerr_msg)rx   rX   rx   rX   )r{   rY   r{   rY   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 «       y # 1 sw Y   y xY w)Nr+   r   r1   r2   r±   r3   r¥   rò  zCan only pass argument "r   ú" OR "z" not both\.rˆ   ©r   r‹   rŒ   r   Úgetattrr�   ©r©  re  r«  rR   ro   r�   s         r'   Ú/test_merge_join_cols_error_reporting_duplicatesr±  ˜
  s‰   € ô ˜A˜q˜6¨¨A¨Ñ/Ó0€DÜ˜Q ˜F¨!¨Q¨Ñ0Ó1€EØ% g¨a¡j \°¸À¹
°|À<Ð
P€CÜ	�‰”z¨Ô	-ñ 1ØŒ”�DÓ˜$ Ñ0¨Ò0÷1÷ 1ñ 1úó   ÁA1Á1A: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 «       y # 1 sw Y   y xY w)Nr+   r   r1   r2   r±   r3   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€DÜ˜Q ˜F¨!¨Q¨Ñ0Ó1€EØ˜ ™˜ F¨7°1©:¨,°cÐ
:€CÜ	�‰”z¨Ô	-ñ 1ØŒ”�DÓ˜$ Ñ0¨Ò0÷1÷ 1ñ 1úr²  re  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 «       y # 1 sw Y   y xY w)Nr+   r   r1   r2   r±   r3   r¥   rò  zZCan only pass argument "on" OR "left_index" and "right_index", not a combination of both\.rˆ   re   r,   r®  )r©  re  rR   ro   r�   s        r'   Ú1test_merge_join_cols_error_reporting_on_and_indexr¶  º
  s~   € ô ˜A˜q˜6¨¨A¨Ñ/Ó0€DÜ˜Q ˜F¨!¨Q¨Ñ0Ó1€Eð	:ð ô 
�‰”z¨Ô	-ñ 9ØŒ”�DÓ˜$ Ñ8¨#Ð8°Ò8÷9÷ 9ñ 9ús   Á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                  ||«       y )	Nr+   rŸ   )rÕ   rö   ro   TrÕ   )ry   rX   r{   )rÕ   Úx_xÚz_xÚx_yÚz_yr[   ©rR   ro   r`   ra   s       r'   Útest_merge_right_left_indexr½  Î
  s†   € ä˜A˜q˜6¨°¨Ñ7Ó8€DÜ˜Q ˜F¨%°¨Ñ8Ó9€EÜ�4˜ G¸ÀsÔK€FÜà�Q�Ø�q�6Ø˜5�>Ø�q�6Ø˜5�>ñ	
ó€Hô ×Ñ˜& (Õ+r)   c                  óx  — t        dgdgdœ«      j                  ddg«      } t        ddgi«      j                  dg«      }t        g g dœt        j                  ¬«      j                  ddg«      }t	        | |dgd¬«      }t        j                  ||«       t	        || ddg¬	«      }t        j                  ||«       y )
Nr+   r   r±   r,   r-   rZ   Trò   rñ   )r   rr   r   rT   r   r\   r]   ©r6   r7   ra   r`   s       r'   Ú$test_merge_result_empty_index_and_onrÀ  ß
  s©   € ä
˜1˜# Q CÑ(Ó
)×
3Ñ
3°S¸#°JÓ
?€CÜ
�S˜1˜#�JÓ
×
)Ñ
)¨3¨%Ó
0€CÜ˜r¨Ñ+´2·8±8Ô<×FÑFÈÈSÀzÓR€HÜ�3˜ c U¸Ô=€FÜ×Ñ˜& (Ô+ä�3˜¨¸°uÔ=€FÜ×Ñ˜& (Õ+r)   c                  ó@  — t        g d¢dddœ«      } t        g d¢ddœ«      }t        j                  t        d¬«      5  t	        | |d¬	«       d d d «       t        j                  t        d¬«      5  t	        || dd
¬«       d d d «       y # 1 sw Y   Œ=xY w# 1 sw Y   y xY w)Nrü   r+   r   )r,   r-   Úb_xr±   ú(Passing 'suffixes' which cause duplicaterˆ   r,   rd   )r^  r]  rŽ  r
  ru  s     r'   Ú.test_merge_suffixes_produce_dup_columns_raisesrÄ  ë
  s‹   € äš9¨1°QÑ7Ó8€DÜšI¨AÑ.Ó/€Eä	�‰”zÐ)SÔ	Tñ #Üˆd�E˜cÕ"÷#ô 
�‰”zÐ)SÔ	Tñ :Üˆe�T˜c¨LÕ9÷:ð :÷#ð #ú÷:ð :ús   ½BÁ/BÂBÂ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                  ||«       y )Nr!  r"  )r,   r-   r-   r¾   r+   r1   r   r±   r,   rd   )r+   r+   r+   r   )r,   rÂ  rÂ  ra  r[   r¼  s       r'   Ú3test_merge_duplicate_columns_with_suffix_no_warningrÆ  ÷
  sU   € ô ’i¢Ð+²_ÔE€DÜ˜Q ˜F¨Ñ+Ó,€EÜ�4˜ 3Ô'€FÜš,˜Ò1KÔ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 «       y # 1 sw Y   y xY w)N©r+   r+   r+   r+   ©r   r   r   r   )r,   r-   r-   rÂ  r¾   r+   r1   r   r±   rÃ  rˆ   r,   rd   r
  ru  s     r'   ÚItest_merge_duplicate_columns_with_suffix_causing_another_duplicate_raisesrÊ    sY   € ô ’l¢LÐ1Ò;QÔR€DÜ˜Q ˜F¨Ñ+Ó,€EÜ	�‰”zÐ)SÔ	Tñ #Üˆd�E˜cÕ"÷#÷ #ñ #ús   ÁAÁ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                  ||«       y )Nr+   r   r1   r2   r,   ç     €\@r¾   rÿ   rF   rV  r$  rÕ   rÖ   r‚   Tr“   )rÿ   rF   r+   r   )rV  r$  r1   r2   )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Ô
B€CÜ
�a˜�W˜r 2˜hÐ'°#°s°Ô
<€CÜ�3˜ °TÀtÔL€FÜÚ	šÐ'´Ò7MÓ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 «       y # 1 sw Y   y xY w)
Nrq  r\  é   )r­  r}   rU   iç  zCan only pass argumentrˆ   T)re   rX   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ñ 5Üˆd�D˜c˜U¨tÕ4÷5÷ 5ñ 5ús   ¾AÁA!c                  ó  — t        t        d«      «      } t        | t        d«      dœ«      }t        dt        dd«      i«      }t        ||| d¬«      }t        ||| j                  d¬«      }t        j                  ||«       y )Nr1   r   r\  r¥   r^  rŠ   )r   r   r   r   Ú_datar\   r]   )Úciro   rR   Úresra   s        r'   Ú#test_merge_on_left_categoricalindexrØ    sl   € ä	œ% ›(Ó	#€Bä˜B¤U¨1£XÑ.Ó/€EÜ�cœ5  A›;Ð'Ó(€Dä
��e R°#Ô
6€CÜ�T˜5¨"¯(©(¸SÔA€HÜ×Ñ˜#˜xÕ(r)   rV   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                  ||«       y )Nr+   r   )rP   r.   rZ   r1   r2   )rP   rß  rP   r¨   rÁ   )rP   r.   rß  )rP   rß  r.   )r   r­   r�   rK  r   r   r\   r]   )rV   ÚitemrR   ro   r`   ra   s         r'   Útest_merge_outer_with_NaNrÛ  )  sÿ   € ð �]Œ2�6Š6¬¯©€DÜ˜a ˜V¨a°¨VÑ4¸EÔB€DÜ˜t T˜l°Q¸°FÑ;À5ÔI€EÜ�4˜ 5¨gÔ6€FÜà�q˜$ Ð%Ø˜˜4 Ð&Ø˜4  AÐ&ñ	
ð
 ô€Hô ×Ñ˜& (Ô+ô �5˜$ 5¨gÔ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                  ||«       y )	Nr,   r+   rK   r©   rw   rL   rŠ   )rõ  rö  rÍ  r¼  s       r'   Ú test_merge_different_index_namesrÝ  G  si   € ä�c˜A˜3�Z¤u¨a¨S°sÔ';Ô<€DÜ�s˜Q˜C�j¬¨q¨c¸Ô(<Ô=€EÜ�4˜¨°cÔ:€FÜ ! ¨QÑ/Ó0€HÜ×Ñ˜& (Õ+r)   c                 óÄ   — t        g d¢ddœ| ¬«      }t        g d¢ddœ| ¬«      }|j                  ||¬«      }t        g d¢dddœ| ¬«      }t        j                  ||«       y )	Nrü   r+   r±   rZ   r   rò  rÇ   rô   r[   ©r–  rî   rR   ro   r`   ra   s         r'   Útest_merge_earà  P  s\   € äš9¨1Ñ-Ð5IÔJ€DÜšI¨AÑ.Ð6JÔK€EØ�Z‰Z˜ 9ˆZÓ-€FÜšy¨q°qÑ9ÐAUÔV€HÜ×Ñ˜& (Õ+r)   c           	      óB  — t        g d¢ddœ| ¬«      }t        g d¢ddœ| j                  «       ¬«      }|j                  ||¬«      }t        t        g d¢| ¬«      t        g d¢| ¬«      t        g d	¢| j                  «       ¬«      d
œ«      }t	        j
                  ||«       y )Nrü   r+   r±   rZ   r   rò  rÇ   r!  r"  rô   )r   Úlowerr   r   r\   r]   rß  s         r'   Útest_merge_ea_and_non_earã  Y  sŒ   € äš9¨1Ñ-Ð5IÔJ€DÜšI¨AÑ.Ð6J×6PÑ6PÓ6RÔS€EØ�Z‰Z˜ 9ˆZÓ-€FÜäš	Ð)=Ô>Üš	Ð)=Ô>Üš	Ð)=×)CÑ)CÓ)EÔFñ	
ó€Hô ×Ñ˜& (Õ+r)   rT   úint64[pyarrow]c                 óN  — t        j                  d«       t        dddgi| ¬«      }t        dddgid¬«      }|j                  |«      }|j	                  «       }t        j                  ||«       |j                  |«      }|j	                  «       }t        j                  ||«       y )NÚpyarrowr,   r+   r   rZ   rä  )r‹   Úimportorskipr   r   rí   r\   r]   )rV   rD   r7   r`   ra   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€HÜ×Ñ˜& (Ô+à�Y‰Y�r‹]€FØ�x‰x‹z€HÜ×Ñ˜& (Õ+r)   r  zAmerica/Chicagoc                 ó&  — 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                  j	                  d«      |d<   t        |dd  dd	gdœ«      }|d   j                  j	                  d«      |d<   t        |dd	t
        j                  gt
        j                  dd	gdœ«      }|d   j                  j	                  d«      |d<   |dk(  r!|j                  dg   j                  d¬«      }n=|dk(  r|j                  ddg   }n&|dk(  r!|j                  ddg   j                  d¬«      }|j                  |d|¬«      }t        j                  ||«       y )Niç  r3   r$  r  é   é   r   rX  rY  )rX  r,   rX  r]  r+   )rX  r-   rm  )rX  r,   r-   r‚   TrÀ  rR   r   ro   rÁ   )r�   rJ  r   rØ   Úas_unitr   r­   r5  r@  r   r\   r]   )r  rî   Úvalsr6   r7   ra   r`   s          r'   Ú(test_merge_datetime_different_resolutionrî  w  s  € ô 	�‰�T˜1˜b RÔ(Ü
�‰�T˜1˜b RÔ(Ü
�‰�T˜1˜b RÔ(ð€Dô
 ˜$˜r ˜(¨#¨s¨Ñ4Ó
5€CØ�3‰x�{‰{×"Ñ" 4Ó(€Cˆ�HÜ
˜$˜q˜r˜(¨#¨s¨Ñ4Ó
5€CØ�3‰x�{‰{×"Ñ" 3Ó'€Cˆ�Hä˜t¨3°´R·V±VÐ*<ÄBÇFÁFÈCÐQTÐCUÑVÓW€HØ˜S‘M×$Ñ$×,Ñ,¨TÓ2€HˆS�MØ�GÒØ—=‘= ! Ñ%×1Ñ1°tÐ1Ó<‰Ø	�fÒ	Ø—=‘= ! Q Ñ(‰Ø	�gÒ	Ø—=‘= ! Q Ñ(×4Ñ4¸$Ð4Ó?ˆà�Y‰Y�s˜s¨	ˆYÓ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
œ«      }| j                  |dgdd¬«      }t        j                  ||«       y )NÚcolr^  r_  r-   r?  )r^  )r\  r1  )r­  rU   )rð  r-   TrR   rƒ   )r   r   rN  r   r­   r   r\   r]   )rD   r7   ra   r`   s       r'   Ú"test_merge_multiindex_single_levelrñ  ‘  s„   € ä	�E˜C ˜:Ð&Ó	'€BÜ
Ø�C�5ˆ\Ü×$Ñ$ f¨fÐ%5¸e¸WÔEô€Cô  # s °3¼¿¹°-Ñ@ÓA€Hà�X‰X�c E 7¸À&ˆXÓ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  | j                  «       j                  |j                  «       d¬«      }d d d «       t        g d¢g d¢g d¢g d¢g d¢dœ«      }t        j                  |j                  «      |_        t        j                  |«       | j                  «       j                  |j                  «       dg¬«      }t        j                  ||«       y # 1 sw Y   Œ¥xY w)Nr+   r   )©Úcolumn_1rZ  ©Úcolumn_2rZ  Ú
metadata_1Ú
metadata_2rU   Úmetadatar1  rw   r©   Únew_datarZ  )r­  rU   r}   rd   rÈ  )r÷  r÷  rø  rø  rÉ  )©rU   rZ  )rù  rZ  ró  rõ  )rú  rZ  rû  )r   r   r8  r   rT  r\   r}  r�   rŽ   ÚPerformanceWarningr@  r   rN  r}   r]   )rD   r7   r`   ra   Úresult2s        r'   Ú'test_merge_multiindex_reset_index_mixedrþ  ž  sP  € ä	Ø˜q˜6°a¸°VÑ<Ü×$Ñ$Ø�ˆV�l LÐ1Ð2¸7ÀJÐ:Oô
ô
€Bô Ø�ˆVÜ�Q˜�F Ô)Ü×'Ñ'¨*¨¸°tÐ(<Ó=ô€Cô 
×	#Ñ	#¤B§I¡I×$@Ñ$@Ó	Añ GØ—‘Ó!×'Ñ'¨¯©Ó(9¸gÐ'ÓFˆ÷Gô â'ÚVÚ*Ú*Ú*ñ	
ó€Hô "×-Ñ-¨h×.>Ñ.>Ó?€HÔä×Ñ˜& (Ô+à�n‰nÓ×$Ñ$ S§_¡_Ó%6¸M¸?Ð$ÓK€GÜ×Ñ˜' 8Õ,÷#Gð Gús   Â0E'Å'E0Úon_indexÚleft_uniqueÚleft_monotonicÚright_uniqueÚright_monotonicc                 óˆ  — | }ddg}|r|j                  |rdnd«       n|j                  |rdnd«       ddg}	|r|	j                  |rdnd«       n|	j                  |rdnd«       t        d|i«      }t        d|	i«      }	|r(|j                  d«      }|	j                  d«      }	dddœ}
nddi}
t        ||	f||d	œ|
¤Ž}|r |j	                  «       }|	j	                  «       }	|d
v rú|dv r||	|}}}n|	||}}}|dk(  rMt        |d   j                  «      j                  |	d   j                  «      }|d   j                  |«      }||   }|r|j                  d«      }|�s+|d   j                  «       }|j                  |d   j                  d¬«      }|j                  t        j                  «      }|d   j                  |j                  «      }|j!                  «       }nª|dk(  r¥|d   j                  «       }|	d   j                  «       }|j#                  |d¬«      }|j                  t        j                  «      }|j$                  j                  j                  |j                  «      }t        d|i«      }|j                  d«      }|rj                  d«      }nj	                  d¬«      }t'        j(                  ||«       y )Nr   r1   r2   r+   rP   TrW   re   rR  )rR   ro   r‚   )rR   r‚   r‚   )Ú
fill_valuer¨   rÀ  )Úappendr   rr   r   r@  Úsetr/  ÚintersectionÚisinri  r™   r7  rl   r   Úintpr¯  rz  ÚmulrU   r\   r]   )rî   rz   rÿ  r   r  r  r  ry   rR   ro   Ú	on_kwargsr`   ra   ÚotherÚother_uniqueÚkeep_valuesÚ	keep_maskÚother_value_countsÚrepeatsÚleft_countsÚright_countsÚexpected_countss                         r'   Útest_merge_combinationsr  Á  s©  € ð €Càˆqˆ6€DÙØ�‰™‘A¨QÕ/à�‰™‘A¨QÔ/à�ˆF€EÙØ�‰™/‘Q¨qÕ1à�‰™/‘Q¨qÔ1ä�e˜T�]Ó#€DÜ�u˜e�nÓ%€EáØ�~‰~˜eÓ$ˆØ—‘ Ó&ˆØ#'¸Ñ=‰	à˜5�Mˆ	ä�4˜Ð@ C¨dÑ@°iÑ@€FáØ×ÑÓ!ˆØ×!Ñ!Ó#ˆà
Ð(Ñ(ØÐ#Ñ#Ø,0°%¸˜\�e‰Hà,1°4¸˜\�eˆHØ�'Š>Ü˜d 5™k×0Ñ0Ó1×>Ñ>¸uÀU¹|×?RÑ?RÓSˆKØ  ™×,Ñ,¨[Ó9ˆIØ 	Ñ*ˆHÙØ×+Ñ+¨EÓ2ˆHÚØ!& u¡×!:Ñ!:Ó!<ÐØ(×0Ñ0°¸%±×1GÑ1GÐTUÐ0ÓVˆGØ—n‘n¤R§W¡WÓ-ˆGØ ‘×-Ñ-¨g¯n©nÓ=ˆHØ×(Ñ(Ó*‰HØ	�ŠØ˜5‘k×.Ñ.Ó0ˆØ˜U‘|×0Ñ0Ó2ˆØ%Ÿ/™/¨,À1˜/ÓEˆØ)×0Ñ0´·±Ó9ˆØ"×(Ñ(×/Ñ/×6Ñ6°×7MÑ7MÓNˆÜ˜e XÐ.Ó/ˆØ×'Ñ'¨Ó.ˆáØ×%Ñ% eÓ,‰à×'Ñ'¨TÐ'Ó2ˆä×Ñ˜& (Õ+r)   c                  ó  — t        dt        j                  gt        j                  «       ¬«      } t        dg«      }t        dgd¬«      }t	        j
                  t        d¬«      5  | j                  |«      }d d d «       t	        j                  |«       t	        j
                  t        d¬«      5  |j                  | «      }d d d «       t	        j                  ||j                  d	«      «       t        dg«      }t        d
gdgd¬«      }| j                  |«      }t	        j                  ||«       |j                  | «      }t	        j                  ||j                  d	«      «       y # 1 sw Y   ŒóxY w# 1 sw Y   Œ´xY w)NrX  rZ   rD  r   r  rÏ   zYou are mergingrˆ   r  r+   )
r   r�   rK  Ú
Int64Dtyper\   r}  r~  r   r]   rl   r¿  s       r'   Ú!test_merge_ea_int_and_float_numpyr    s&  € ä
�Sœ"Ÿ%™%�L¬¯©«Ô
8€CÜ
�S�EÓ
€CÜ ! ¨GÔ4€Hä	×	#Ñ	#¤KÐ7HÔ	Iñ  Ø—‘˜3“ˆ÷ ä×Ñ˜& (Ô+ä	×	#Ñ	#¤KÐ7HÔ	Iñ  Ø—‘˜3“ˆ÷ ä×Ñ˜& (§/¡/°)Ó"<Ô=ä
�S�EÓ
€CÜ˜!˜ q c°Ô9€HØ�Y‰Y�s‹^€FÜ×Ñ˜& (Ô+à�Y‰Y�s‹^€FÜ×Ñ˜& (§/¡/°)Ó"<Õ=÷ ð  ú÷ ð  ús   Á%E)Â0E5Å)E2Å5E>c                 ó4  — t        j                  d«       t        dddgi| ¬«      }t        ddit        ddg| ¬«      ¬«      }|j	                  |ddd	¬
«      }t        t        ddg| ¬«      dt        j                  gdœ«      }t        j                  ||«       y )Nræ  r,   r-   rZ   r+   rK   rw   TrR   rƒ   r±   )
r‹   rç  r   r   r   r   r   r­   r\   r]   )rœ  rR   ro   r`   ra   s        r'   Útest_merge_arrow_string_indexr  &  s�   € ä
×Ñ˜	Ô"Ü�c˜C ˜:Ð&Ð.>Ô?€DÜ�s˜A�h¤e¨S°#¨JÐ>NÔ&OÔP€EØ�Z‰Z˜ s¸À&ˆZÓI€FÜÜ�c˜3�ZÐ'7Ô8ÀÄ2Ç6Á6¸{Ñ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                  ||«       y )Nr+   r   r^  r_  r¨  )r^  r\  rk  r¨   rÁ   )r^  r_  r\  rk  r\  rk  )r   r5  r   r   r   r­   r\   r]   )r¼  r  r6   r7   r`   ra   s         r'   Ú$test_merge_empty_frames_column_orderr  2  s»   € ô �A˜a˜S¨3°¨*Ô
5€CÜ
�A˜a˜Sª/Ô
:€CáØ�h‰h�r˜ˆlˆÙØ�h‰h�r˜ˆlˆä�3˜  ¨7Ô3€FÜ˜¤%¨£(Ò4HÔI€HÙ‘kØ—=‘=  !Ð$‰Ù	ÜŸ™ˆ�ŠÙ	Ü!Ÿv™vˆ�#�s�ÑÜ×Ñ˜& (Õ+r)   ry   )rR   ro   r‚   r¨   c                 óR  — 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  |j                  |d| ¬
«       d d d «       d|d   j                  › d|d   j                  › d�}t        j                  t
        t        j                  |«      ¬	«      5  |j                  |d| ¬
«       d d d «       y # 1 sw Y   ŒxxY w# 1 sw Y   y xY w)NrP   r+   zdatetime64[ns]rZ   ztimedelta64[ns]rŽ  r�  zG columns for key 'key'. If you wish to proceed you should use pd.concatrˆ   rÁ   )	r   r   rV   r‹   rŒ   r�   rD  rE  r   )ry   rR   ro   r�   s       r'   Ú!test_merge_datetime_and_timedeltar   I  s'  € ä�eœV Q¨ IÐ5EÔFÐGÓH€DÜ�uœf a SÐ0AÔBÐCÓD€Eð & d¨5¡k×&7Ñ&7Ð%8¸¸eÀE¹l×>PÑ>PÐ=Qð RQð 	Qð ô 
�‰”z¬¯©°3«Ô	8ñ -Ø�
‰
�5˜U¨ˆ
Ô,÷-ð & e¨E¡l×&8Ñ&8Ð%9¸¸tÀE¹{×?PÑ?PÐ>Qð RQð 	Qð ô 
�‰”z¬¯©°3«Ô	8ñ -Ø�‰�D˜U¨ˆÔ,÷-ð -÷-ð -ú÷-ð -ús   ÂDÃ3DÄDÄD&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œ«      }| j                  |ddgd¬«      }t        g d¢t        j                  t        j                  t        j                  gg d¢g d¢d	œ«      }t	        j
                  ||«       y )
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¬B¯F©F´B·F±F¼B¿F¹FÐ+CÊ)ÑTÓU€DÜšI¬R¯V©V´R·V±V¼R¿V¹VÐ,DÊIÑVÓW€EØ�Z‰Z˜ 3¨ *°'ˆZÓ:€FäÚœrŸv™v¤r§v¡v¬r¯v©vÐ6ºYÊiÑXó€Hô ×Ñ˜& (Õ+r)   )r[  rZ  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 «       y # 1 sw Y   y xY w)
Nr+   r   rÞ  r1   )r.   rß  Úcol2_dupzduplicate columnsrˆ   r.   rŽ  r
  )rY  r6   r7   s      r'   Ú test_merge_for_suffix_collisionsr&  i  s`   € ô ˜a˜S¨1¨#Ñ.Ó
/€CÜ
˜a˜S¨1¨#¸A¸3Ñ?Ó
@€CÜ	�‰”zÐ)<Ô	=ñ 6Üˆc�3˜6¨HÕ5÷6÷ 6ñ 6ús   ¾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«      }|j                  |dd
¬«      }|j                  d«      j                  |j                  d«      dd
¬«      }t        j                  ||«       y )Nrü   rT   rZ   rÁ  r  rP   r+   r   r1   r¨   rÁ   )	r	   r   r   r   r   r   rl   r\   r]   )ÚltÚrtrR   ro   r`   ra   s         r'   Ú$test_merge_categorical_key_recursionr*  r  s´   € ä	¤R§Z¡Z²	ÀÔ%IÔ	J€BÜ	¤R§Z¡Z²	ÀÔ%KÔ	L€BÜ�eœV Q¨ F°"Ô5Ð6Ó7€DÜ�uœf a¨ V°2Ô6Ð7Ó8€Eà�Z‰Z˜ %¨WˆZÓ5€FØ�{‰{˜7Ó#×)Ñ)Ø�‰�YÓ E¨wð *ó €Hô ×Ñ˜& (Õ+r)   c                  ó¶  — t        j                  d«       t        j                  ddd¬«      } t	        | g d¢dœ«      }|j                  d¬«      }t	        | j                  d	«      g d
¢dœ«      }|j                  d¬«      }t        ||dd¬«      }t	        | j                  d	«      g d¢g d
¢dœ«      }|j                  d¬«      }t        j                  ||«       y )Nræ  z
2025-07-06r1   rß   r¦  rü   )ÚtimeÚval1)Údtype_backendr   )rF   rÆ   é   r-  r<   rh  )r,  Úval2r,  rR   rÁ   )r+   r+   r   r   r1   r1   )r,  r-  r0  )
r‹   rç  r�   rŽ  r   Úconvert_dtypesr¯  r   r\   r]   )rX  r6   r7   r`   ra   s        r'   Ú&test_merge_pyarrow_datetime_duplicatesr2  €  sÄ   € ä
×Ñ˜	Ô"ä
�‰�l¨A°CÔ8€AÜ
˜Qª	Ñ2Ó
3€CØ
×
Ñ
¨9Ð
Ó
5€Cä
˜QŸX™X a›[Ò2JÑKÓ
L€CØ
×
Ñ
¨9Ð
Ó
5€Cä�3˜ ¨FÔ3€Fäà—H‘H˜Q“KÚ&Ú,ñ	
ó€Hð ×&Ñ&°YÐ&Ó?€HÜ×Ñ˜& (Õ+r)   c                  óî   — t        dg d¢i«      } t        dg d¢i«      }t        j                  t        j                  j
                  «      5  | j                  |ddd¬«       d d d «       y # 1 sw Y   y xY w)Nrð  rü   )r   r1   r2   T)rx   r{   rY   )r   r‹   rŒ   r�   rŽ   r   r   r5   s     r'   Ú#test_merge_right_on_and_right_indexr4  ˜  sc   € Ü
�UšIÐ&Ó
'€CÜ
�UšIÐ&Ó
'€Cä	�‰”r—y‘y×+Ñ+Ó	,ñ HØ�	‰	�#˜u¨uÀ$ˆ	ÔG÷H÷ Hñ Hús   ÁA+Á+A4)r¦   r<   )_r   r   r   rD  Ú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(   rG  r8   r:   rá   rU  rR   ro   rÔ  r>  rH  rI  rM  rR  rV  rX  rg  r­   rp  rt  rx  Ú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#  r&  r*  r2  r4  )rP  s   0r'   ú<module>r@     se  ð÷ñ ó
 
ã Û å ÷õ 7ã ÷÷ ÷ ñ õ Ý -÷óð ‡�ñ	ó ð	÷d+ñ d+òN-	G÷KGñ KGð\ ‡�ñó ðð ‡�ñó ð÷r0ñ r0÷j	60ñ 60ðr ‡�×ÑØð ×,Ñ,öàñ 	Ši˜t¨+Ö6òñ
 	š²_È;ÔWÙ˜ ¨Ô5ÙÒ@À{ÔSðñ	ñ 	3ð ó ñ,óð,ð ‡�×ÑØ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ð	
ð
 â'Ø˜2˜r 2§6¡6Ð*Ø—v‘v˜s C¨Ð-ñð	
ðóñ",ó#ð",ð ‡�×ÑØÚJóñJó	ðJð ‡�×Ñ˜ v¨wÐ&7À!ÈaÑ9PÐ%QÓRñJó SðJñ $‘
¨€ð ‡�×ÑØð ØØØ5°m°_ÀBÐGð		
ð 
ˆc‘5˜“:ÐSÐTðóñJóðJð ‡�×Ñ˜ u¨e nÓ5Ø‡�×Ñ˜ T¨5 MÓ2ñ ,ó 3ó 6ð ,òF,ò,,ò?ò<,ð" ‡�×Ñ˜¨!¨S¨Ó2ñ,ó 3ð,ò*5,ðp ‡�×Ñ˜ '¨<Ð!8Ó9Ø‡�×ÑØà¨Ñ	-°	¸<Ð/HÐIØ¨$Ñ	/°*¸mÐ1LÐMðóñ1óó :ð1ð ‡�×Ñ˜ '¨<Ð!8Ó9Ø‡�×ÑØà
�SÐ	˜J¨Ð6Ð7Ø
�cÐ	˜Y¨Ð5Ð6ðóñ1óó :ð1ð ‡�×Ñ˜ '¨<Ð!8Ó9Ø‡�×ÑØà	˜ÐØ	�tÐðóñ	9óó :ð	9ò,ò"	,ò	:ò,ò#ò,ò5ò	)ð ‡�×Ñ˜ 4¨ /Ó2ñ,ó 3ð,ò:,ò,ò,ð ‡�×Ñ˜ 7Ð,<Ð"=Ó>ñ,ó ?ð,ð ‡�×Ñ˜ Ð&7Ð8Ó9ñ,ó :ð,ò2
,ò -ðF ‡�×Ñ˜ d¨E ]Ó3Ø‡�×Ñ˜¨¨u¨Ó6Ø‡�×ÑÐ)¨D°%¨=Ó9Ø‡�×Ñ˜¨$°¨Ó7Ø‡�×ÑÐ*¨T°5¨MÓ:ñF,ó ;ó 8ó :ó 7ó 4ð
F,òR>ò.	,ð ‡�×Ñ˜¨¨e }Ó5Ø‡�×Ñ˜¨¨u¨Ó6ñ,ó 7ó 6ð,ð* ‡�×Ñ˜Ò CÓDñ-ó Eð-ò&	,ð ‡�×Ñ˜ l°LÐ%AÓBñ6ó Cð6ò,ò,ó0Hùòas   Ã&Y

