Ë
    u™ã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
 d dlmZmZ d dlmZ d dlZd dlmZ d dlmZ d dlmZmZ d¹d	„Zej6                  d
„ «       Z G d„ d«      Zd„ Z G d„ d«      Zej6                  d„ «       Z ej6                  d„ «       Z! G d„ d«      Z" G d„ d«      Z#ejH                  jK                  dejL                  D � cg c]  }  ejN                  g d¢| d¬«      ‘Œ c}  ejP                  g d¢g d¢d¬«       ejR                  d dd¬«       ejT                  g d¢d¬«      gz   d „ ¬!«      d"„ «       Z+ejH                  jK                  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+„ «       Z,d,„ Z-ejH                  jK                  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„ «       Z.ejH                  jK                  dEdFg dG¢dHdIej^                  gg dJ¢dKœfd$g dL¢dMdHdIej^                  gej^                  dNdOdPgdKœfg«      dQ„ «       Z0ejH                  jK                  dRg dS¢«      dT„ «       Z1ejH                  jK                  d.dUdFhd d dVœg«      dW„ «       Z2erdXndYZ3ejH                  jK                  dZd8d8d[d\e3› d]�fd8d8 e4d8«      d^fg«      d_„ «       Z5ejH                  jK                  d`dadbg«      ejH                  jK                  dcd)d&g«      dd„ «       «       Z6de„ Z7df„ Z8dg„ Z9dh„ Z:ejH                  jK                  didjdkg«      dl„ «       Z;dm„ Z<ejH                  jK                  dndodpg«      ejH                  jK                  dqd8d)drœdsdtgfd8d)duœdvdwgfg«      dx„ «       «       Z=ejH                  jK                  dndodpg«      ejH                  jK                  dqdsd8idvdwgfdvd8idsdtgfg«      dy„ «       «       Z>ejH                  jK                  dndodpg«      ejH                  jK                  dzdwd)idtd)ig«      d{„ «       «       Z?d|„ Z@d}„ ZAd~„ ZBd„ ZCd€„ ZDd�„ ZEd‚„ ZFdƒ„ ZGejH                  jK                  d„dd…g«      d†„ «       ZHd‡„ ZIdˆ„ ZJd‰„ ZKejH                  jK                  d„dŠd‹g«      dŒ„ «       ZLejH                  jK                  d�ddŽg«      ejH                  jK                  d�d�d‘g«      d’„ «       «       ZMd“„ ZNd”„ ZOd•„ ZPd–„ ZQejH                  jK                  d—d)d&g«      ejH                  jK                  d˜d)d&g«      ejH                  jK                  d™d)d&g«      ejH                  jK                  dšd)d&g«      ejH                  jK                  d›d)d&g«      dœ„ «       «       «       «       «       ZRd�„ ZSdž„ ZTejH                  jK                  dŸd)d&g«      ejH                  jK                  d d)d&g«      d¡„ «       «       ZUejH                  jK                  d¢g d£¢«      d¤„ «       ZVd¥„ ZWejH                  jK                  d.d¦d/g«      d§„ «       ZXd¨„ ZYd©„ ZZdª„ Z[ejH                  jK                  d„ej¸                  ejº                  g«      ejH                  jK                  d«d¬d­g«      d®„ «       «       Z^ejH                  jK                  d„ej¸                  ejº                  g«      ejH                  jK                  d«d¬d­g«      d¯„ «       «       Z_ejH                  jK                  d¢dUdFg«      ejH                  jK                  d° ejÀ                  g d±¢ejº                  ¬²«       ejÀ                  g d³¢ejº                  ¬²«      f ejÀ                  g d´¢ej¸                  ¬²«       ejÀ                  dµ ejÂ                  ej¸                  «      jÄ                  d¶gej¸                  ¬²«      f ejÀ                   ejÂ                  ej¸                  «      jÄ                   ejÂ                  ej¸                  «      jÆ                  gej¸                  ¬²«       ejÀ                   ejÂ                  ej¸                  «      jÆ                  d  ejÂ                  ej¸                  «      jÄ                  gej¸                  ¬²«      fg«      d·„ «       «       ZdejH                  jK                  d¢dUdFg«      d¸„ «       Zeyc c} w )ºé    )ÚdateÚdatetimeÚ	timedeltaN)ÚPY314)ÚPandas4Warning)Úis_object_dtypeÚis_string_dtype)ÚCategoricalDtype)Ú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       úp/var/www/html/python-recuperauto-other/env/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        j                  ddgddgddgdœ«      } t        j                  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)ÚpdÚ	DataFrame©Údf1Údf2s     r   Údfs_for_indicatorr0   (   sK   € ä
�,‰,  A ¸¸A¸ÈSÐRUÈJÑWÓ
X€CÜ
�,‰,â#Ú+Ú(ñ	
ó€Cð �ˆ8€Or   c                   óX  — 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!jD                  d$gd%¬&«       e!jD                  d$gd'¬&«       e!jD                  d(g«       e!jD                  d)g«       e!jD                  dg«       e!jD                   e!jF                  d*«      g«       e!jD                   e!jF                  d*d+¬,«      g«      g«      ej8                  j;                  d- e!jD                  d$gd%¬&«       e!jD                  d$gd'¬&«       e!jD                  d(g«       e!jD                  d)g«       e!jD                  dg«       e!jD                   e!jF                  d*«      g«       e!jD                   e!jF                  d*d+¬,«      g«      g«      d.„ «       «       Z$ej8                  j;                  d# e!jD                  d$gd%¬&«       e!jD                  d$gd'¬&«       e!jD                  d(g«       e!jD                  d)g«       e!jD                  dg«       e!jD                   e!jF                  d*«      g«       e!jD                   e!jF                  d*d+¬,«      g«      g«      ej8                  j;                  d/ e!jD                  e!jJ                  gd'¬&«       e!jD                  e&jN                  gd0¬&«       e!jD                  e&jN                  gd1¬&«       e!jD                  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-d>„ Z.d?„ Z/d@„ Z0ej8                  j;                  dAg dB¢«      dC„ «       Z1ej8                  j;                  dAg dB¢«      dD„ «       Z2dE„ Z3dF„ Z4dG„ Z5dH„ Z6dI„ Z7dJ„ Z8dK„ Z9dL„ Z:dM„ Z;dN„ Z<dO„ Z=dP„ Z>dQ„ Z?dR„ Z@dS„ ZAdT„ ZBej8                  j;                  d8d:dUg«      ej8                  j;                  dV e!j†                  g dW¢«       e!j†                  g dX¢«      f e!jˆ                  g dY¢dZ¬&«       e!jˆ                  d[d\d]e!jP                  e!jP                  e!jP                  gdZ¬&«      fgeEjŒ                  D � ���cg c]B  }tC        jŽ                  g d^¢|¬&«      tC        jŽ                  g d_¢tL        j�                  ¬&«      f‘ŒD c}}}} ¢e!j’                  j•                  g d`¢«      e!j’                  j•                  dadbdce&jN                  e&jN                  e&jN                  g«      f‘ e!j–                  g dd¢de¬f«       e!j–                  d[dgdhe!jP                  e!jP                  e!jP                  gde¬f«      f‘ e!j˜                  g di¢«       e!j˜                  djdkdle!jP                  e!jP                  e!jP                  g«      f‘«      dm„ «       «       ZMdn„ ZNej8                  j;                  d8d9d:g«      do„ «       ZOdp„ ZPdq„ ZQdr„ ZRysc c}}}} w )tÚ	TestMergec                 ó   — t        j                  t        «       t        «       t        j                  j                  d«      j                  d«      t        j                  j                  d«      j                  d«      dœ«      }||d   dkD     }|S )Nr   é2   )Úkey1Úkey2Údata1Údata2r6   r!   ©r+   r,   r   r   r   r   Ústandard_normal)ÚselfÚdfs     r   r<   zTestMerge.df6   sr   € ä�\‰\ä%›Ü%›ÜŸ™×.Ñ.¨qÓ1×AÑAÀ"ÓEÜŸ™×.Ñ.¨qÓ1×AÑAÀ"ÓEñ	ó
ˆð ��6‘
˜Q‘ÑˆØˆ	r   c                 ó¶   — t        j                  t        d¬«      t        dd¬«      t        j                  j                  d«      j                  d«      dœ«      S )Né
   )r   r(   )r   r   r   )r5   r6   Úvaluer9   ©r;   s    r   r/   zTestMerge.df2E   sG   € ä�|‰|ä%¨Ô+Ü%¨a°2Ô6ÜŸ™×.Ñ.¨qÓ1×AÑAÀ"ÓEñó
ð 	
r   c                 óŽ   — t        j                  g d¢t        j                  j	                  d«      j                  d«      dœ«      S )N©r"   r#   ÚcÚdÚerE   r"   r   é   ©ÚkeyÚv1)r+   r,   r   r   r   r:   r@   s    r   ÚleftzTestMerge.leftO   s8   € ä�|‰|â:Ü—i‘i×+Ñ+¨AÓ.×>Ñ>¸qÓAñó
ð 	
r   c                 óä   — t        j                  «       }t        j                  dddgiddgd¬«      }t        ||dd¬«      }t        j                  dg id¬	«      }t        j                  ||«       y )
Nr"   r!   r   r   Úint64)ÚindexÚdtypeT©Ú
left_indexÚright_index©rN   ©r+   r,   r   ÚtmÚassert_frame_equal)r;   Údf_emptyÚdf_aÚresultÚexpecteds        r   Útest_merge_inner_join_emptyz%TestMerge.test_merge_inner_join_emptyX   s_   € ä—<‘<“>ˆÜ�|‰|˜S 1 a &˜M°!°Q°¸wÔGˆÜ�x °$ÀDÔIˆÜ—<‘<  b 	°Ô9ˆÜ
×Ñ˜f hÕ/r   c                 óh   — t        ||«      }t        ||ddg¬«      }t        j                  ||«       y )Nr5   r6   ©Úon©r   rT   rU   )r;   r<   r/   ÚjoinedÚexps        r   Útest_merge_commonzTestMerge.test_merge_common`   s0   € Ü�r˜3“ˆÜ�B˜ ¨Ð 0Ô1ˆÜ
×Ñ˜f cÕ*r   c                 óº   — t        j                  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   r'   ©r   r!   r   r'   )r+   r,   ÚastypeÚfloatr   rT   rU   ©r;   rJ   ÚrightrY   rX   s        r   Útest_merge_non_string_columnsz'TestMerge.test_merge_non_string_columnse   sO   € ô �|‰|Ú¢²,Â<ÑPó
ˆð —‘œEÓ"ˆØˆÜ�t˜UÓ#ˆÜ
×Ñ˜h¨Õ/r   c                 óÊ   — |j                  d«      }|j                  d«      }t        ||d¬«      }t        ||d¬«      j                  d«      }t        j                  ||«       y )Nr5   r\   )Ú	set_indexr   rT   rU   )r;   r<   r/   rJ   rg   rX   rY   s          r   Útest_merge_index_as_on_argz$TestMerge.test_merge_index_as_on_argq   sW   € ð �|‰|˜FÓ#ˆØ—‘˜fÓ%ˆÜ�t˜U vÔ.ˆÜ˜˜S VÔ,×6Ñ6°vÓ>ˆÜ
×Ñ˜f hÕ/r   c                 ój  — t        j                  g d¢t        j                  j	                  d«      j                  d«      dœ«      }t        j                  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 )NrB   r   rF   rG   Úv2r(   ©rD   r#   rC   r"   ©rM   rH   TrJ   F)Úleft_onrQ   ÚhowÚsortrg   )Úright_onrP   rq   rr   )r+   r,   r   r   r   r:   r   rT   rU   ÚlocÚcolumns)r;   rJ   rg   Úmerged1Úmerged2s        r   Ú(test_merge_index_singlekey_right_vs_leftz2TestMerge.test_merge_index_singlekey_right_vs_leftz   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                 ó”  — t        j                  g d¢t        j                  j	                  d«      j                  d«      dœ«      }t        j                  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 )NrB   r   rF   rG   rm   r(   rn   ro   rH   TÚinner©rp   rQ   rq   r\   )rs   rP   rq   )r+   r,   r   r   r   r:   r   Újoinrt   rM   rT   rU   ru   ©r;   rJ   rg   rX   rY   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        j                  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)Nrm   r   r(   rn   ro   z&Must pass right_on or right_index=True©ÚmatchT)rP   z$Must pass left_on or left_index=True)rQ   zRCan only pass argument "on" OR "left_on" and "right_on", not a combination of bothrH   )rp   r]   z)len\(right_on\) must equal len\(left_on\)r5   r6   ©rp   rs   )r+   r,   r   r   r   r:   ÚpytestÚraisesÚerrorsr   r   Ú
ValueError)r;   r<   r/   rJ   rg   Úmsgs         r   Útest_merge_misspecifiedz!TestMerge.test_merge_misspecified«   sC  € Ü—‘Ø”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   Á9EÃE&Ä	E2Ä>E>ÅE#Å&E/Å2E;Å>F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€   rJ   Fr5   r6   ©rq   rP   rQ   z=left_index parameter must be of type bool, not <class 'list'>©rƒ   r„   r†   r   )r;   r<   r/   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 )NrH   r\   r   Úv1_xÚv1_y)r   Úvalue_countsÚsumr   )r;   rJ   ÚmergedÚexp_lens       r   Útest_merge_overlapzTestMerge.test_merge_overlapÞ   s^   € Ü�t˜T eÔ,ˆØ˜‘;×+Ñ+Ó-°Ñ2×7Ñ7Ó9ˆÜ�6‹{˜gÒ%Ð%Ð%Ø˜ÑÐÐØ˜ÑÐÑr   c           	      óÈ  — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }|j                  |ddd	d
¬«      }t        j                  ddddddt        j
                  gd¬«      }t        j                  |d   |«       t        j                  dt        j
                  dddddgd¬«      }t        j                  |d   |«       t        j                  ddddddt        j
                  gd¬«      }t        j                  |d   |«       t        j                  dt        j
                  dddddgd¬«      }t        j                  |d   |«       y )N)ÚfooÚbarÚbazr–   ©r!   r   r'   r(   )Úlkeyr?   )r–   r—   Úquxr–   )r)   é   rF   é   )Úrkeyr?   rš   rž   ÚouterT)rp   rs   rq   rr   r—   r˜   r–   ©Únamer›   r   r'   r!   r(   Úvalue_xrœ   r)   r�   rF   Úvalue_y)r+   r,   r   ÚSeriesr   ÚnanrT   Úassert_series_equal)r;   rJ   rg   r’   r`   s        r   Ú%test_merge_different_column_key_namesz/TestMerge.test_merge_different_column_key_nameså   s2  € Ü�|‰|Ú1ºLÑIó
ˆô —‘Ú1ºLÑIó
ˆð —‘Ø˜6¨F¸Àdð ó 
ˆô �i‰i˜  u¨e°U¸EÄ2Ç6Á6ÐJÐQWÔXˆÜ
×Ñ˜v f™~¨sÔ3ä�i‰i˜¤§¡¨¨u°e¸UÀEÐJÐQWÔXˆÜ
×Ñ˜v f™~¨sÔ3ä�i‰i˜˜A˜q ! Q¨¬2¯6©6Ð2¸ÔCˆÜ
×Ñ˜v iÑ0°#Ô6ä�i‰i˜œBŸF™F A q¨!¨Q°Ð2¸ÔCˆÜ
×Ñ˜v iÑ0°#Õ6r   c                 ó"  — t        j                  dddœt        d«      ¬«      }t        j                  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#   r>   ro   r–   r—   ©rC   rD   TrO   rœ   r"   ÚpeekaboorD   )r+   r,   r   r   Úall)r;   rJ   rg   r’   s       r   Útest_merge_copyzTestMerge.test_merge_copyý   s‹   € Ü�|‰| !¨!Ñ,´E¸"³IÔ>ˆÜ—‘ 5¨uÑ5¼UÀ2»YÔGˆä�t˜U¨tÀÔFˆàˆˆs‰Ø�S‘	˜Q‘×#Ñ#Ô%Ð%Ð%à ˆˆs‰Ø�c‘
˜eÑ#×(Ñ(Ô*Ð*Ñ*r   c                 ó|  — t        j                  dddœt        d«      ¬«      }t        j                  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©   r>   ro   r–   r—   rª   TrO   r"   rD   )r+   r,   r   r   r   Úshares_memoryÚ_values)r;   Úusing_infer_stringrJ   rg   r’   s        r   Útest_merge_nocopyzTestMerge.test_merge_nocopy	  s    € Ü�|‰| !¨!Ñ,´E¸"³IÔ>ˆÜ—‘ 5¨uÑ5¼UÀ2»YÔGˆä�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        j                  g d¢t        t        d«      «      dœddg¬«      }t        j                  g d¢t        t        d«      «      d	œ«      }t	        ||dd
¬«      }t        j                  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   r'   r)   ©rH   r?   r?   rH   ©ru   ©r!   r!   r   r'   r(   r)   rœ   )rH   ÚrvaluerŸ   ©r]   rq   ©	r!   r!   r!   r!   r   r   r'   r(   r)   r   r!   r   r'   r(   )	r   r!   r   r!   r   r   r'   r(   r)   )rH   r?   r¸   )r?   rH   r¸   )
r+   r,   r   r   r   r   Úarrayr¥   rT   rU   )r;   rJ   rg   r_   rY   s        r   Ú"test_intelligently_handle_join_keyz,TestMerge.test_intelligently_handle_join_key  s¯   € ô �|‰|Ú#¬d´5¸³8«nÑ=ÈÐQVÐGWô
ˆô —‘Ò%7Ä4ÌÈaËÃ>ÑRÓSˆä�t˜U u°'Ô:ˆÜ—<‘<â2ÜŸ™ 1 a¨¨A¨q°!°Q¼¿¹ÄÇÁÐ"GÓHÚ5ñò
 /ô
ˆô 	×Ñ˜f hÕ/r   c                 óŠ  — t        j                  dgdgdœ«      }t        j                  dgdgdœ«      }t        ||d¬«      }|d   j                  d	k(  sJ ‚t        j                  d
gdgdœ«      }t        j                  dgdgdœ«      }t        ||d¬«      }|d   j                  dk(  sJ ‚t        j                  ddgi«      }t        j                  ddgi«      }t	        j
                  dg«      }t	        j
                  dg«      }t        ||||d¬«      }|d   j                  t	        j                  t        «      k(  sJ ‚y )Nr!   r>   rG   r   é   rŸ   ©rq   rH   rL   TFr   ÚboolÚval©rp   rs   rq   Úkey_0)r+   r,   r   rN   r   r»   Úint)r;   r.   r/   r<   rš   rž   s         r   Útest_merge_join_key_dtype_castz(TestMerge.test_merge_join_key_dtype_cast&  s"  € ô �l‰l A 3¨r¨dÑ3Ó4ˆÜ�l‰l A 3¨r¨dÑ3Ó4ˆÜ�3˜ Ô)ˆØ�%‰y�‰ 'Ò)Ð)Ð)ä�l‰l D 6°!°Ñ5Ó6ˆÜ�l‰l E 7°1°#Ñ6Ó7ˆÜ�3˜ Ô)ˆð �%‰y�‰ &Ò(Ð(Ð(ä�l‰l˜E A 3˜<Ó(ˆÜ�l‰l˜E A 3˜<Ó(ˆÜ�x‰x˜˜‹}ˆÜ�x‰x˜˜‹}ˆÜ�3˜ T°D¸gÔFˆØ�'‰{× Ñ ¤B§H¡H¬S£MÒ1Ð1Ñ1r   c                 ó   — t        j                  g d¢t        j                  d«      dœddgd¬«      }t        j                  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        j                  dt        j                  d«      idg¬«      }t        j                  dt        j                  d	«      i«      }t        j                  g d¢«      }t        j                  g d¢«      }t        ||||d¬«      }t        j                  g d¢t        d¬«      }t        j                  |d   |«       t        j                  dt        j                  d«      i«      }t        j                  dt        j                  d	«      i«      }t        j                  g d¢t        j                  ¬
«      }t        ||d|d¬«      }t        j                  |d   t        j                  |d¬«      «       y )Nr´   r)   rµ   r?   rH   rL   ©ru   rN   r¸   rœ   rR   r·   rŸ   rÂ   r¶   rº   rÃ   ©rN   r¡   r'   )r   r!   r!   r   r   r'   T©rP   rs   rq   r    )r+   r,   r   Úaranger»   r   rT   r¦   Únotnar¬   r¤   rÄ   rL   )	r;   rJ   rg   rH   r’   rw   rš   rž   rY   s	            r   Útest_handle_join_key_pass_arrayz)TestMerge.test_handle_join_key_pass_array=  sá  € Ü�|‰|Ú#¬b¯i©i¸«lÑ;Ø˜eÐ$Øô
ˆô
 —‘˜h¬¯	©	°!«Ð5¸WÔEˆÜ�h‰hÒ)°Ô9ˆä�t˜U¨E¸CÀWÔMˆÜ˜˜t¨S¸5ÀgÔNˆä
×Ñ˜v e™}¨g°e©nÔ=Ø�e‰}×"Ñ"Ó$×(Ñ(Ô*Ð*Ð*Ø�u‰~×#Ñ#Ó%×)Ñ)Ô+Ð+Ð+ä�|‰|˜W¤b§i¡i°£lÐ3¸g¸YÔGˆÜ—‘˜h¬¯	©	°!«Ð5Ó6ˆÜ�x‰xšÓ(ˆÜ�x‰xÒ*Ó+ˆä�t˜U¨D¸4ÀWÔMˆÜ—9‘9Ò8ÄÈ'ÔRˆÜ
×Ñ˜v g™°Ô9ä�|‰|˜W¤b§i¡i°£lÐ3Ó4ˆÜ—‘˜h¬¯	©	°!«Ð5Ó6ˆä�h‰hÒ)´·±Ô:ˆÜ�t˜U¨t¸cÀwÔOˆÜ
×Ñ˜v g™´·	±	¸#ÀGÔ0LÕMr   c                 ó"  — t        ddd«      }t        j                  ddgi|g¬«      }t        j                  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éÛ  r!   Úxr"   ro   Úyr#   rC   z>No common columns to perform merge on. Merge options: left_on=z, right_on=z, left_index=Fz, right_index=r€   )r   r+   r,   rƒ   r„   r   r   )r;   Údtr.   r/   r‡   s        r   Ú&test_no_overlap_more_informative_errorz0TestMerge.test_no_overlap_more_informative_error]  s�   € Ü�d˜A˜qÓ!ˆÜ�l‰l˜C # ˜<°¨tÔ4ˆä�l‰l˜C # s Ð,°R¸°HÔ=ˆð&Ø&* V¨;°t°fð =Ø˜ ¨u¨gð7ð 	ô �]‰]œ:¨SÔ1ñ 	Ü�#�sŒO÷	÷ 	ñ 	ús   Á/BÂBc           	      ó  — t        ddd«      }t        ddd«      }t        ddd«      }t        ddd«      }t        j                  ddgi|g¬	«      }t        j                  d
ddgi||g¬	«      }t        ||«       t        j                  dg d¢i|||g¬	«      }t        j                  d
g d¢i||||||g¬	«      }t        ||«       t        j                  dddgi||g¬	«      }t        j                  d
ddgi||g¬	«      }t        ||«       y )NéÜ  r)   r!   r   r'   r(   rÏ   r"   ro   rÐ   r#   rC   )r"   r#   Úq)rC   rD   rE   ÚfÚgÚhrD   ©r   r+   r,   Ú_check_merge)r;   rÑ   Údt2Údt3Údt4r.   r/   s          r   Útest_merge_non_unique_indexesz'TestMerge.test_merge_non_unique_indexesl  s  € Ü�d˜A˜qÓ!ˆÜ�t˜Q Ó"ˆÜ�t˜Q Ó"ˆÜ�t˜Q Ó"ˆä�l‰l˜C # ˜<°¨tÔ4ˆÜ�l‰l˜C # s Ð,°R¸°HÔ=ˆÜ�S˜#Ôô �l‰l˜C¢Ð1¸#¸rÀ3¸ÔHˆÜ�l‰lØÒ0Ð1¸#¸sÀCÈÈbÐRTÐ9Uô
ˆô 	�S˜#Ôä�l‰l˜C # s Ð,°R¸°HÔ=ˆÜ�l‰l˜C # s Ð,°R¸°HÔ=ˆÜ�S˜#Õr   c                 óè   — t        ddd«      }t        ddd«      }t        ddd«      }t        j                  dg d¢i||||g¬«      }t        j                  d	g d
¢i|||||g¬«      }t        ||«       y )NrÔ   r)   r!   r   r'   rÏ   ©r"   r#   rC   rD   ro   rÐ   )rE   rÖ   r×   z hÚirÙ   )r;   rÑ   rÛ   rÜ   r.   r/   s         r   Ú(test_merge_non_unique_index_many_to_manyz2TestMerge.test_merge_non_unique_index_many_to_many�  s{   € Ü�d˜A˜qÓ!ˆÜ�t˜Q Ó"ˆÜ�t˜Q Ó"ˆÜ�l‰l˜CÒ!5Ð6¸sÀCÈÈRÐ>PÔQˆÜ�l‰lØÒ,Ð-°c¸3ÀÀRÈÐ5Lô
ˆô 	�S˜#Õr   c                 óú   — t        j                  dgdgdœ«      }t        j                  dg i«      }t        ||dd¬«      }t        j                  ||«       t        ||dd¬«      }t        j                  ||«       y )Nr!   r   rµ   rH   rJ   r¹   rg   rS   )r;   rJ   rg   rX   s       r   Útest_left_merge_empty_dataframez)TestMerge.test_left_merge_empty_dataframe‹  sk   € Ü�|‰| Q C°1°#Ñ6Ó7ˆÜ—‘˜e R˜[Ó)ˆä�t˜U u°&Ô9ˆÜ
×Ñ˜f dÔ+ä�u˜d u°'Ô:ˆÜ
×Ñ˜f dÕ+r   c                 óª   — t        j                  g |d d ¬«      }|j                  «       }|j                  ||¬«      }t	        j
                  ||«       y )Nr   ro   r¿   )r+   r,   Úcopyr|   rT   rU   )r;   rM   Ú	join_typerJ   rg   rX   s         r   Útest_merge_empty_dataframez$TestMerge.test_merge_empty_dataframe•  sE   € ä�|‰|˜B e¨B¨Q iÔ0ˆØ—	‘	“ˆà—‘˜5 i�Ó0ˆÜ
×Ñ˜f dÕ+r   ÚkwargTrO   rÏ   ©rP   rs   r"   ©rp   rQ   r‚   c                 óè   — t        j                  g d¢¬«      }t        j                  g d¢¬«      }t        j                  g d¢t        ¬«      }t        ||fd|i|¤Ž}t	        j
                  ||«       y )N©r"   r#   rC   r¶   ©rÏ   rÐ   Úz©r"   r#   rC   rÏ   rÐ   rï   rÇ   rq   )r+   r,   Úobjectr   rT   rU   )r;   rç   ré   rJ   rg   Úexp_inrX   s          r   Ú!test_merge_left_empty_right_emptyz+TestMerge.test_merge_left_empty_right_empty�  sW   € ô �|‰|¢OÔ4ˆÜ—‘¢_Ô5ˆä—‘Ò&DÌFÔSˆä�t˜UÑ;¨	Ð;°UÑ;ˆÜ
×Ñ˜f fÕ-r   c           	      óø  ‡‡— t        j                  g d¢¬«      Št        j                  g d¢g d¢g d¢gg d¢¬«      Št        j                  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   r'   ©r(   r)   rœ   ©rF   r�   é	   rî   r'   rR   ©r!   r(   rF   ©r   r)   r�   ©r'   rœ   rø   rð   r   c                 óš   •— t        ‰‰fddi|¤Ž}t        j                  || «       t        ‰‰fddi|¤Ž}t        j                  || «       y )Nrq   rz   rJ   r^   ©r`   ré   rX   rJ   rg   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 )Nrq   rg   rŸ   r^   rý   s      €€r   Úcheck2z>TestMerge.test_merge_left_empty_right_notempty.<locals>.check2È  óO   ø€ Ü˜4 Ñ=¨GÐ=°uÑ=ˆFÜ×!Ñ! &¨#Ô.Ü˜4 Ñ=¨GÐ=°uÑ=ˆFÜ×!Ñ! &¨#Õ.r   TrO   rÏ   rê   r"   rë   ©r   r!   r   r‚   )r+   r,   r   r»   r¥   rñ   )r;   Úexp_outrò   rþ   r   ré   rJ   rg   s         @@r   Ú$test_merge_left_empty_right_notemptyz.TestMerge.test_merge_left_empty_right_notempty°  sF  ù€ ä�|‰|¢OÔ4ˆÜ—‘šiª²IÐ>ÊÔXˆä—,‘,ä—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                 óD  ‡‡‡‡‡‡— t        j                  g d¢g d¢g d¢gg d¢¬«      Št        j                  g d¢¬«      Št        j                  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û   r'   rR   rð   r   c                 óš   •— t        ‰‰fddi|¤Ž}t        j                  || «       t        ‰‰fddi|¤Ž}t        j                  || «       y )Nrq   rz   rg   r^   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 )Nrq   rJ   rŸ   TrO   rÏ   rê   r"   rë   r‚   r^   )	r`   ré   rX   rþ   r   rò   r  rJ   rg   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¥   rñ   rM   rd   )r;   rþ   r   rò   r  rJ   rg   s    @@@@@@r   Ú$test_merge_left_notempty_right_emptyz.TestMerge.test_merge_left_notempty_right_emptyß  sÃ   ý€ ä�|‰|šYª	²9Ð=ÂÔWˆÜ—‘¢_Ô5ˆä—,‘,âÚÚÜ—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!   rL   rR   ÚInt64g®Gáz®ó?r–   ú
2018-01-01ú
US/Eastern©ÚtzÚseries_of_dtype2c                 ó˜  — t        j                  ||dœddg¬«      }|d d }t        j                  t        j                  |j                  d   ¬«      t        j                  |j                  d   ¬«      t        j                  |j                  d   ¬«      dœg d¢¬«      }|j	                  |d¬«      }t        j                  ||«       y )	Nrµ   rH   r?   r¶   r   rR   ©rH   r¢   r£   r\   )r+   r,   r¤   Údtypesr   rT   rU   )r;   r	  r  r<   rV   rY   Úactuals          r   Útest_merge_empty_framez TestMerge.test_merge_empty_frame	  s«   € ô4 �\‰\Ø#Ð.>Ñ?Ø˜GÐ$ô
ˆð �b�q�6ˆÜ—<‘<ä—y‘y r§y¡y°Ñ'7Ô8ÜŸ9™9¨2¯9©9°WÑ+=Ô>ÜŸ9™9¨2¯9©9°WÑ+=Ô>ñò
 2ô
ˆð —‘  u�Ó-ˆÜ
×Ñ˜f hÕ/r   Úseries_of_dtype_all_nare   rñ   c                 ó   — t        j                  ||dœddg¬«      }t        j                  ||dœddg¬«      }t        j                  |||dœg d¢¬«      }|j                  |d¬«      }t        j                  ||«       y )Nrµ   rH   r?   r¶   r  r\   rS   )r;   r	  r  Údf_leftÚdf_rightrY   r  s          r   Útest_merge_all_na_columnz"TestMerge.test_merge_all_na_column3  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                  j                  «       }t        j                  |«      }t
        j                  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   r>   ©ÚsizerÔ   r!   é   rÎ   r(   iÚ  r'   iØ  r)   )Úvar1Úvar2Úvar3rF   )r   Úvar8r   F©r]   rr   )r   r   r   Úintegersr   r+   r,   Ú	from_dictr   Úuniquerr   r   rT   rU   r¬   )r;   rD   r<   r   ÚnewrX   r`   s          r   Útest_merge_nosortzTestMerge.test_merge_nosort]  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 !Ó$ðñ
ˆô  �\‰\×#Ñ# AÓ&ˆØ�w‰w�~‰~ÓˆÜ�w‰w�t‹}ˆÜ�l‰l×$Ñ$Ø¤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   )rr   ÚvaluesF)r!   r!   r   r!   r!   )r   r!   r!   r!   r!   rq   rJ   rg   c                 ó¼   — t        j                  dg d¢i«      }|j                  |d||¬«      }t        j                  |dg¬«      }t        j                  ||«       y )Nr"   )r!   r   r!   ©r]   rq   rr   r¶   rS   )r;   rr   r(  rq   r<   rX   rY   s          r   Ú test_merge_same_order_left_rightz*TestMerge.test_merge_same_order_left_right}  sO   € ô �\‰\˜3¢	Ð*Ó+ˆà—‘˜" ¨#°D�Ó9ˆÜ—<‘< °°Ô6ˆÜ
×Ñ˜f hÕ/r   c           	      ó  — t        j                  ddgddgdœ«      }t        j                  dgdgdœ«      }|j                  |dd¬«      }t        j                  ddd	œddd	œdt        j                  d	œdt        j                  d	œddd	œd
œt        j
                  g d
¢t        ¬«      ¬«      j                  d «      j                  «       g d¢   }|j                  j                  d«      |_	        t        j                  ||d¬«       y )Nr   r!   ©Úi1Úi2©r.  Úi3r.  ©Ú Ú_©r]   Úsuffixesç        ©r   r!   )r.  r/  Úi1_r1  NrR   r¶   ©r.  r/  r9  r1  rñ   F©Úcheck_dtype)r+   r,   r|   r   r¥   ÚIndexrñ   rj   Úreset_indexru   rd   rT   rU   ©r;   r.   r/   rX   rY   s        r   Útest_merge_nan_rightzTestMerge.test_merge_nan_right‰  sà   € Ü�l‰l 1 a &°°A°Ñ7Ó8ˆÜ�l‰l 1 #¨a¨SÑ1Ó2ˆØ—‘˜# $°�Ó;ˆä�L‰Là! a™.Ø A™,Ø ¤R§V¡VÑ,Ø!¤b§f¡fÑ-Ø A™,ñô Ÿ™Ò!@ÌÔOô	÷ ‰Y�t‹_ß‰[‹]Ò4ñ6ð 	ð  Ÿ™×.Ñ.¨xÓ8ˆŒÜ
×Ñ˜f h¸EÖBr   c                 óR  — t        j                  ddgddgdœ«      }t        j                  dgdgdœ«      }|j                  |dd	¬
«      }t        j                  dddœdt        j                  dœdddœdt        j                  dœdœ«      g d¢   }t        j                  ||«       y )Nr   r!   g      à?ç      ø?r-  gffffffæ?r0  r2  r.  )r6  r]   r8  r7  )r.  r9  r/  r1  r:  )r+   r,   r|   r   r¥   rT   rU   r?  s        r   Útest_merge_nan_right2zTestMerge.test_merge_nan_right2ž  sž   € Ü�l‰l 1 a &°°c°
Ñ;Ó<ˆÜ�l‰l 1 #¨c¨UÑ3Ó4ˆØ—‘˜#¨	°d�Ó;ˆÜ—<‘<à ‘lØ¤2§6¡6Ñ*Ø #Ñ&Ø-´"·&±&Ñ9ñ	ó
ò $ñ%ˆô 	×Ñ˜f hÕ/r   c                 óŽ   ‡—  G ˆfd„dt         j                  «      Š ‰|«      }|j                  |d¬«      }t        |‰«      sJ ‚y )Nc                   ó"   •— e Zd Zeˆ fd„«       Zy)ú0TestMerge.test_merge_type.<locals>.NotADataFramec                 ó   •— ‰S ©N© )r;   ÚNotADataFrames    €r   Ú_constructorz=TestMerge.test_merge_type.<locals>.NotADataFrame._constructor®  s	   ø€ à$Ð$r   N)Ú__name__Ú
__module__Ú__qualname__ÚpropertyrK  )rJ  s   €r   rJ  rF  ­  s   ø„ Øó%ó ñ%r   rJ  r5   r\   )r+   r,   r   Ú
isinstance)r;   r<   r/   ÚnadrX   rJ  s        @r   Útest_merge_typezTestMerge.test_merge_type¬  sA   ø€ ö	%œBŸL™Lô 	%ñ
 ˜BÓˆØ—‘˜3 6�Ó*ˆä˜& -Ô0Ð0Ñ0r   c           
      óÀ  — t         j                  j                  t        ddddd«      gt	        dd«      gdœ«      }t        j                  t        d«      ¬	«      }t        ||gd
¬«      }t        ||gd
¬«      }t        j                  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Ý  é   r)   é8   r   iäW  )rD   ÚtrÑ   r¶   T©Úignore_indexrR   )
r+   r,   r$  r   r   r   r   rñ   rT   rU   )r;   rD   r<   rX   rY   s        r   Útest_join_append_timedeltasz%TestMerge.test_join_append_timedeltas·  sÐ   € ô �L‰L×"Ñ"Ü˜D " a¨¨BÓ/Ð0¼	À!ÀUÓ8KÐ7LÑMó
ˆô �\‰\¤$ t£*Ô-ˆÜ�R˜�G¨$Ô/ˆÜ˜˜Q˜¨dÔ3ˆÜ—<‘<ä˜t R¨¨A¨rÓ2´H¸TÀ2ÀqÈ!ÈRÓ4PÐQÜ  5Ó)¬9°Q¸Ó+>Ð?ñô ô
ˆô 	×Ñ˜f hÕ/r   c           	      ó  — t        j                  dd«      }t        j                  t        j                  ||gddg¬«      «      }t        j                  t        j                  |gdg¬«      «      }|j                  |dd¬«      }t        j                  t        j                  ||gt        d	«      ¬«      t        j                  |t        j                  gt        d	«      ¬«      d
œ«      }t        j                  ||«       y )Ni £áÚnsÚAÚBro   )r3  ÚrrJ   )r6  rq   ÚAB)Ú0Ú0r)
r   Útimedelta64r+   r,   r¤   r|   r   ÚNaTrT   rU   )r;   ÚtdÚlhsÚrhsrX   rY   s         r   Útest_join_append_timedeltas2z&TestMerge.test_join_append_timedeltas2Ê  s»   € ô �^‰^˜I tÓ,ˆÜ�l‰lœ2Ÿ9™9 b¨" X°c¸3°ZÔ@ÓAˆÜ�l‰lœ2Ÿ9™9 b T°#°Ô7Ó8ˆà—‘˜#¨	°v�Ó>ˆÜ—<‘<ä—Y‘Y  B˜x¬t°D«zÔ:Ü—i‘i ¤R§V¡V ´D¸³JÔ?ñó
ˆô 	×Ñ˜f hÕ/r   Úunit)ÚDrØ   ÚmÚsÚmsÚusr[  c                 ó\  — t        j                  dddgi«      }t        j                  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        j                  ddg|dœddg¬«      }	|	d   j
                  |k(  sJ ‚t        j                  ||	«       y )NÚ	entity_idée   éf   Údays©rM   r¡   zdatetime64[ú]©ri  rØ   rj  zdatetime64[s]Trë   ÚnatrR   ©ro  rr  r¶   )r+   r,   r¤   rd   Úto_framerN   r   r   r»   ÚcoreÚarraysÚDatetimeArrayÚ_simple_newrT   rU   )
r;   rh  r.   ÚserrN   Ú	exp_dtyper/   rX   rr  r`   s
             r   Útest_other_datetime_unitz"TestMerge.test_other_datetime_unitÚ  s&  € ô �l‰l˜K¨#¨s¨Ð4Ó5ˆÜ�i‰i˜˜t˜¨S°#¨J¸VÔDˆà˜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ˆÜ�l‰là! 3˜ZØñð ! &Ð)ô
ˆð �6‰{× Ñ  IÒ-Ð-Ð-Ü
×Ñ˜f cÕ*r   c                 óp  — t        j                  dddgi«      }t        j                  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        j                  ddgt        j                  ddg|¬«      dœddg¬«      }t        j                  ||«       y # 1 sw Y   Œ¾xY w)Nro  rp  rq  rr  rs  zm8[rt  ru  z;Supported timedelta64 resolutions are 's', 'ms', 'us', 'ns'r€   zm8[s]Trë   rv  rR   rw  r¶   )r+   r,   r¤   rƒ   r„   r†   rd   rx  rN   r   r   r»   rT   rU   )	r;   rh  r.   r}  rN   r‡   r/   rX   r`   s	            r   Útest_other_timedelta_unitz#TestMerge.test_other_timedelta_unitø  s!  € ô �l‰l˜K¨#¨s¨Ð4Ó5ˆÜ�i‰i˜˜t˜¨S°#¨J¸VÔDˆà�d�V˜1�ˆØ�?Ñ"àOˆCÜ—‘œz°Ô5ñ "Ø—
‘
˜5Ô!÷"ð —*‘*˜WÓ%×.Ñ.¨vÓ6‰Cà—*‘*˜UÓ#×,Ñ,¨VÓ4ˆCØ�v‘;×$Ñ$¨Ò-Ð-Ð-à—‘˜3¨À�ÓFˆä�l‰lØ ˜*¬b¯h©h¸¸u°~ÈUÔ.SÑTØ  &Ð)ô
ˆô 	×Ñ˜f cÕ*÷"ð "ús   ÁD,Ä,D5c                 óÎ  — t        j                  g d¢g d¢g d¢dœ«      }t        j                  g d¢g d¢g d¢dœ«      }g d¢|_        g d¢|_        t        j                  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÷   ©rH   rI   rm   )rH   r–   r–   )rH   r—   r—   )rH   rI   rm   Úv3Úv4)rH   r–   r–   r—   r—   )r5   r–   r–   zAData columns not unique: Index\(\['foo'\], dtype='(object|str)'\)r€   )	r+   r,   ru   rT   rU   r   rƒ   r„   r   )r;   r<   r/   rY   r‡   s        r   Ú&test_overlapping_columns_error_messagez0TestMerge.test_overlapping_columns_error_message  s¶   € Ü�\‰\¢)²9ÂIÑNÓOˆÜ�l‰l¢9²IÂYÑOÓPˆâ*ˆŒ
Ú+ˆŒÜ—<‘<â ÚÚÚÚñó
ˆò ?ˆÔÜ
×Ñœe B¨›n¨hÔ7ò -ˆŒØRˆÜ�]‰]œ:¨SÔ1ñ 	Ü�"�cŒN÷	÷ 	ñ 	ús   ÃCÃC$c                 óÐ  — t        j                  t        j                  ddd¬«      ddgdœ«      }t        j                  t        j                  ddd¬«      g d	¢dœ«      }t        j                  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µ   Ú20151011r'   rõ   r(   r  rH   rŸ   r¹   )r+   r,   Ú
date_ranger   r¥   r   rT   rU   rf   s        r   Útest_merge_on_datetime64tzz$TestMerge.test_merge_on_datetime64tz*  s¿   € ä�|‰|ä—}‘} Z¸¸|ÔLØ˜Q˜ñó
ˆô —‘ä—}‘} Z¸¸|ÔLÚ"ñó
ˆô —<‘<ä—}‘} Z¸¸|ÔLØ˜q¤"§&¡&¬"¯&©&Ð1ÜŸF™F A q¨!Ð,ñó
ˆô �t˜U u°'Ô:ˆÜ
×Ñ˜f hÕ/r   c                 ó^  — t        j                  ddgt        j                  dddd¬«      dœ«      }t        j                  ddgt        j                  d	ddd¬«      dœ«      }t        j                  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  rh  rµ   r'   r‹  rõ   r  rH   rŸ   r¹   r¢   zdatetime64[ns, US/Eastern]r£   )	r+   r,   rŒ  r   rc  r   rT   rU   rN   rf   s        r   Útest_merge_datetime64tz_valuesz(TestMerge.test_merge_datetime64tz_valuesC  s1  € Ü�|‰|à˜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           	      ó6  — t        j                  d¬«      }t        j                  t        j                  dg|¬«      dgt        j                  dg|¬«      dœg d¢¬«      }|d d	 }|j	                  |d
¬«      }t        j                  t        j
                  |¬«      t        j
                  t        ¬«      t        j
                  |¬«      t        j
                  t        ¬«      t        j
                  |¬«      dœg d¢¬«      }t        j                  ||«       y )NÚUTCr  Ú2018rR   ç      @Ú2019)r   r?   Údate2r¶   r   r   r\   )r   r¢   Údate2_xr£   Údate2_y)	r+   ÚDatetimeTZDtyper,   ÚDatetimeIndexr   r¤   re   rT   rU   )r;   Údtzrg   rJ   rX   rY   s         r   Ú test_merge_on_datetime64tz_emptyz*TestMerge.test_merge_on_datetime64tz_emptyj  sÙ   € ä× Ñ  EÔ*ˆÜ—‘ä×(Ñ(¨&¨¸Ô=Ø˜Ü×)Ñ)¨6¨(¸#Ô>ñò
 /ô
ˆð �R�aˆyˆØ—‘˜E f�Ó-ˆÜ—<‘<äŸ	™	¨Ô,ÜŸ9™9¬5Ô1ÜŸ9™9¨3Ô/ÜŸ9™9¬5Ô1ÜŸ9™9¨3Ô/ñò Iô	
ˆô 	×Ñ˜f hÕ/r   c                 óH  — t        j                  t        j                  dddd¬«      dg¬«      }d|d	<   t        j                  t        j                  g d
¢«      ddœ«      }|d   j                  j                  d«      j                  j                  d«      |d<   t        ||dd¬«      }t        j                  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:00r(   rØ   zEurope/Madrid)rŠ  Úfreqr  r   r¶   r!   r?   )z2017-10-29 03:00:00z2017-10-29 04:00:00z2017-10-29 05:00:00r   )r   r?   r‘  rŸ   ©rq   r]   rF   r'   )r   r¢   r£   )r+   r,   rŒ  Úto_datetimerÑ   Útz_localizeÚ
tz_convertr   r   r¥   rT   rU   r?  s        r   Ú+test_merge_datetime64tz_with_dst_transitionz5TestMerge.test_merge_datetime64tz_with_dst_transitionƒ  s  € ä�l‰lÜ�M‰MÐ,°a¸cÀoÔVØ�Hô
ˆð ˆˆG‰Ü�l‰läŸ™òóð ñ	ó
ˆð ˜&‘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        j                  t        t	        t        |«      «      «      |dg¬«      }t        ||g«      }|j                  |ddd¬	«      }t        j                  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©rM   ru   Trz   ©rP   rQ   rq   rR   r   éÿÿÿÿr!   Úpnum_xÚpnum_y©ru   rM   )r+   Úperiod_ranger,   r   r   r   r   r   r   r   rÊ   rL   ÚrepeatÚreshapeÚ
sort_indexrM   rT   rU   )r;   rM   r<   r/   rX   rY   s         r   Ú"test_merge_non_unique_period_indexz,TestMerge.test_merge_non_unique_period_index£  sÇ   € ä—‘ °b¸sÔCˆÜ�\‰\œ$œu¤S¨£ZÓ0Ó1¸ÈÈÔQˆÜ�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        j                  t        j                  ddd¬«      ddgdœ«      }t        j                  t        j                  ddd¬«      g d	¢dœ«      }t        j                  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   ri  r¦  r!   rµ   r‹  r'   rõ   r(   r  rH   rŸ   r¹   )r+   r,   r®  r   r¥   r   rT   rU   rf   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        j                  ddgt        j                  ddd¬«      dœ«      }t        j                  ddgt        j                  ddd¬«      dœ«      }t        j                  ddd¬«      }t        j                  ddd¬«      }t        j                  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ˆ  ri  r¦  rµ   r'   r‹  rõ   r  rH   rŸ   r¹   r¢   z	Period[D]r£   )	r+   r,   r®  r   rc  r   rT   rU   rN   )r;   rJ   rg   Úexp_xÚexp_yrY   rX   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        j                  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        j
                  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   r'   r(   r)   r!   r   r"   r#   r'   r(   r)   )r$   Úcol_conflict_xr&   Úcol_conflict_yr*   )Ú	left_onlyÚbothÚ
right_onlyr¿  r¿  r¿  ©r½  r¿  r¾  ©Ú
categoriesÚ_merge)r$   r»  r&   r¼  r*   rÃ  r$   rŸ   T©r]   rq   Ú	indicatorÚcustom_namer¶   )
ræ   r+   r,   r   r¥   ÚCategoricalr   rT   rU   Úrename)
r;   r0   r.   r/   Ú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“:ˆä—L‘Lâ*Ø#$ 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ñó
ˆ	ô !Ÿn™nòò ;ô

ˆ	�(Ñð òñ	
ˆ	ô �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Ÿ   r)   rÄ  r‹   )r;   r0   r.   r/   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$   rJ   TrÄ  r¿  rg   r½  rz   r¾  )r   rÃ  r¬   )r;   r0   r.   r/   Ú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        j                  dddg|ddgi«      }dj                  d|› �dg«      }t        j                  t
        |¬«      5  t        ||dd	d
¬«       d d d «       t        j                  t
        |¬«      5  |j                  |dd	d
¬«       d d d «       Œ¤ t        j                  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   �ŒGx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_namerÛ  )r+   r,   r|   rƒ   r„   r†   r   )r;   r0   r.   r4  rá   Údf_badcolumnr‡   s          r   Útest_merge_indicator_invalidz&TestMerge.test_merge_indicator_invalid7  s~  € à"‰ˆˆQàBò 	PˆAÜŸ<™<¨°!°Q°¸¸QÀ¸FÐ(CÓDˆLà—(‘(ð(Ø() sð,ð QðóˆCô —‘œz°Ô5ñ QÜ�c˜<¨F¸È4ÕP÷Qä—‘œz°Ô5ñ PØ—	‘	˜,¨6°wÈ$�	ÔO÷Pð Pð	Pô$ —|‘|¨a°¨VÈAÈqÈ6Ñ$RÓSˆàJˆÜ�]‰]œ:¨SÔ1ñ 	ÜØØØØØ.õ÷	ô �]‰]œ:¨SÔ1ñ 	Ø�I‰IØ ¨WÐ@Tð ô ÷	ð 	÷#Qð Qú÷Pñ Pú÷	ð 	ú÷	ð 	ús0   ÁD9ÂEÃ&EÄEÄ9E	ÅE	ÅEÅE'c                 ó’  — t        j                  ddgddgdœ«      }t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d	¢dœ«      }t        j                  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!   r'   )r#   rÏ   rÐ   )r   r!   r!   r'   ©r"   r#   rÏ   rÐ   )r½  r¾  r¿  r¿  rÀ  rÁ  rÃ  r$   rà  rŸ   TrÄ  ©r+   r,   rÇ  r   rT   rU   )r;   Údf3Údf4Úhand_coded_resultÚtest5s        r   Ú%test_merge_indicator_multiple_columnsz/TestMerge.test_merge_indicator_multiple_columns]  sº   € ä�l‰l Q¨ F°S¸#°JÑ?Ó@ˆä�l‰l¢I²ÑGÓHˆäŸL™LÚ!Ò+?Ñ@ó
Ðô ')§n¡nÚ=Ú:ô'
Ð˜(Ñ#ô
 �c˜3 F¨FÐ#3¸ÈDÔQˆÜ
×Ñ˜eÐ%6Ô7Ø—	‘	˜# 6¨6Ð"2¸È4�	ÓPˆÜ
×Ñ˜eÐ%6Õ7r   c                 óz
  — t        j                  g d¢g d¢dœt        d«      ¬«      }t        j                  g d¢g d¢dœt        d	«      ¬«      }|j                  «       }|j                  «       }t	        ||d
d
d¬«      }t        j                  ||«       t        j                  ||«       t        j                  g d¢g d¢g d¢g d¢dœt        d«      g d¢¬«      }t	        ||d
d
d¬«      }t        j                  ||«       t        j                  g d¢g d¢g d¢dœt        d«      ¬«      }t	        ||dd¬«      }t        j                  ||«       t        j                  ||«       t        j                  ||«       t	        ||dd¬«      }t        j                  ||«       t        j                  g d¢g d¢g d¢dœg d¢t        d«      ¬«      }|j                  d«      }	t	        |	|d
dd¬«      }t        j                  ||«       t        |t        j                  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        j                  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        j                  g d&¢g d'¢g d¢dœt        d«      ¬«      }t        j                  g d(¢g d)¢g d*¢d+œt        d«      ¬«      }t        j                  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   �ŒmxY w# 1 sw Y   �ŒGx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   �Œ^xY w# 1 sw Y   �Œ6xY w# 1 sw Y   ŒŒxY w)/Nrà   )ÚcatÚdogÚweaselÚhorser©   r(   ro   ©r"   r#   rC   rD   rE   )ÚmeowÚbarkúum... weasel noise?ÚnayÚchirp©r"   rC   r)   Tú1:1)rP   rQ   Úvalidate)rî  rï  rð  rñ  )Úa_xr#   Úa_yrC   r¨  Ú
one_to_onerí   r"   )r]   rõ  ©r#   r"   rC   r­  )rP   rs   rõ  rE   ÚmooÚone_to_manyzBMerge keys are not unique in right dataset; not a one-to-one merger€   Úcowr'   )rr   Ú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#   rD   )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   rT   rU   rj   r   rƒ   r„   r   r†   )r;   rJ   rg   Ú	left_copyÚ
right_copyrX   rY   Ú
expected_2Ú
expected_3Úleft_index_resetÚright_w_dupsr‡   Úleft_w_dupsÚexpected_multis                 r   Útest_validationzTestMerge.test_validationp  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ô Ø”B—L‘L¨ u°E°7Ñ!;ÀAÀ3ÔGÐHó
ˆô 	ØØØØØ"õ	
ð SˆÜ�]‰]œ:¨SÔ1ñ 	ÜØØØØ Ø%õ÷	ô �]‰]œ:¨SÔ1ñ 	EÜ�$˜¨°|ÕD÷	Eô Ø”2—<‘< s e°5°'Ñ :À1À#ÔFÐGÈdô
ˆô 	ØØØØØ"õ	
ð 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`   ÉSÊS#Ë=S0Ì1S=Í5T
Î+TÏ T$ÒT1ÓS Ó#S-Ó0S:Ó=TÔ
TÔT!Ô$T.Ô1T:c                 ó„  — t        j                  dg d¢i«      }t        j                  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        j                  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)NrH   )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   r   )r;   rJ   rg   s      r   Ú!test_merge_validate_error_messagez+TestMerge.test_merge_validate_error_message7  sb  € ä�|‰|˜U¢IÐ.Ó/ˆÜ—‘˜e¢YÐ/Ó0ˆä�]‰]œ:Ð-UÔVñ 	/Ü�$˜¨Õ.÷	/ä�]‰]œ:Ð-SÔTñ 	/Ü�$˜¨Õ.÷	/ä�]‰]œ:Ð-TÔUñ 	/Ü�$˜¨Õ.÷	/ä�]‰]œ:Ð-TÔUñ 	/Ü�$˜¨Õ.÷	/ô —‘˜e¢YÐ/Ó0ˆÜ�]‰]œ:Ð-SÔTñ 	/Ü�$˜¨Õ.÷	/ä�]‰]œ:Ð-TÔUñ 	/Ü�%˜¨Õ.÷	/ð 	/÷	/ñ 	/ú÷	/ð 	/ú÷	/ð 	/ú÷	/ð 	/ú÷	/ð 	/ú÷	/ð 	/úsH   ÁE9Â FÂ2FÃ$FÄ/F*Å!F6Å9FÆFÆFÆF'Æ*F3Æ6F?c                 ó¨   — t        j                  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©   r\   )r+   r,   r   Úerrstater   )r;   r"   s     r   Ú)test_merge_two_empty_df_no_division_errorz3TestMerge.test_merge_two_empty_df_no_division_errorK  sD   € ä�L‰L˜r¨°Ñ4Ó5ˆÜ�[‰[ Ô(ñ 	'Ü�!�Q˜:Õ&÷	'÷ 	'ñ 	'ús   °AÁArŸ   zindex,expected_index©r!   r   r(   )r!   r   r(   NNN)ú
2001-01-01ú
2002-02-02ú
2003-03-03zM8[ns]r  r  r  rõ   )r!   r   r'   NNN)©r!   r   ©r   r'   ©r'   r(   r  r  r  )r  ú
2001-01-02ú
2001-01-03ri  )r�  r  r  )Ú1DÚ2DÚ3Dr  r  r  c           
      óø  — |j                   dk(  r |j                   dk(  r|j                  d«      }t        j                  g d¢g d¢dœ|¬«      }t        j                  dg d¢i«      }|j	                  |dd	|¬
«      }t        j                  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                  |«      }t        j                  ||«       y )NÚfloat32Úfloat64r  ©r"   rH   ro   r#   rº  rH   Tr{   )r   r   r   ©r!   r!   r!   ©r   r   r   r'   r(   r)   ©r"   rH   r#   r¶   )
rN   rd   r+   r,   r   r   r¥   rj   rT   rU   )r;   rq   rM   Úexpected_indexr.   r/   rX   rY   s           r   Ú$test_merge_on_index_with_more_valuesz.TestMerge.test_merge_on_index_with_more_valuesQ  s×   € ð^ �;‰;˜)Ò#¨×(<Ñ(<À	Ò(Ià+×2Ñ2°9Ó=ˆNÜ�l‰l¢²9Ñ=ÀUÔKˆÜ�l‰l˜CÒ!3Ð4Ó5ˆØ—‘˜3¨¸4ÀS�ÓIˆÜ—<‘<âÚÚÜ—‘˜˜A�Ü—‘˜˜A�Ü—‘˜˜A�ðò &ô

ˆð ×%Ñ% nÓ5ˆÜ
×Ñ˜f hÕ/r   c                 ó0  — t        j                  g d¢g d¢dœ«      }t        j                  dg d¢i«      }t        j                  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   r'   N)r   r!   r!   r   )r!   r   r   r'   r$  r   r!   r   r­  rH   Trg   r{   ©r+   r,   r   r¥   r   rT   rU   rf   s        r   Útest_merge_right_index_rightz&TestMerge.test_merge_right_index_right”  s}   € ô �|‰|¢)²IÑ>Ó?ˆÜ—‘˜c¢9Ð-Ó.ˆä—<‘<Ú!ª,º\ÑJÚ%Ø�a˜œBŸF™FÐ#ô
ˆð
 —‘˜E¨5¸dÈ�ÓPˆÜ
×Ñ˜f hÕ/r   c                 óH  — t        j                  ddgddgdœ«      }t        j                  ddgddgdœ«      }|j                  |dd	g|¬
«      }|dk(  rt        j                  ddgddgdœ«      }nt        j                  ddgddgdœ«      }t        j                  ||«       y )Nrê  Úpigé(   rT  )ÚanimalÚ	max_speedÚquetzaléP   r.  r/  r¹   rg   rS   )r;   rq   Úleft_dfÚright_dfrX   rY   s         r   Útest_merge_preserves_row_orderz(TestMerge.test_merge_preserves_row_order£  s©   € ô —,‘,¨5°%¨.ÈÈBÀxÑPÓQˆÜ—<‘<¨I°uÐ+=ÈRÐQSÈHÑ UÓVˆØ—‘˜x¨X°{Ð,CÈ�ÓMˆØ�'Š>Ü—|‘|Ø% uÐ-¸RÀ¸HÑEó‰Hô —|‘|°°u¨~ÈRÐQSÈHÑ$UÓVˆHÜ
×Ñ˜f hÕ/r   c           	      óâ  — t        j                  g d¢t        j                  g d¢t        d«      ¬«      dœ«      }t        j                  dg d¢it        j                  g d¢«      ¬«      }|j                  |d	d
d¬«      }t        j                  g d¢t        j                  g d¢«      g d¢dœdddt        j                  g¬«      }|j                  g d¢¬«      }t        j                  ||«       y )Nrõ   r   ÚabcrÁ  r!  r#   rí   ro   rH   Trg   r{   r(  )r"   r"   r#   rC   )r!   r!   r   r'   r$  r   r!   r   r¶   )r+   r,   rÇ  r   ÚCategoricalIndexr   r   r¥   ÚreindexrT   rU   r}   s        r   Ú8test_merge_take_missing_values_from_index_of_other_dtypezBTestMerge.test_merge_take_missing_values_from_index_of_other_dtype±  sÅ   € ä�|‰|âÜ—~‘~¢oÄ$ÀuÃ+ÔNñó
ˆô —‘Ø’)Ð¤B×$7Ñ$7ºÓ$Hô
ˆð —‘˜E¨5¸dÈ�ÓPˆÜ—<‘<â$Ü—~‘~Ò&:Ó;Ú!ñð
 �a˜œBŸF™FÐ#ô
ˆð ×#Ñ#Ò,=Ð#Ó>ˆÜ
×Ñ˜f hÕ/r   c                 óŠ  — t        j                  t        j                  d«      j	                  d«      dz   g d¢¬«      }t        j                  t        j                  d«      j	                  d«      dz   g d¢¬«      }|j
                  j                  D ]  }d|j                  j                  _	        Œ |j                  |«       y )	Nr¾   ©r(   r)   r!   rí  r¶   ©r)   r(   rá  F)r+   r,   r   rÊ   r°  Ú_mgrÚblocksr(  ÚflagsÚ	writeabler   )r;   r7   r8   Ú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        j                  t        j                  d«      j	                  d«      dz   g d¢¬«      }t        j                  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„   r†   ÚreÚescaper   )r;   r7   r8   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   Â-C
Ã
CN)SrL  rM  rN  rƒ   Úfixturer<   r/   rJ   rZ   ra   rh   rk   rx   r~   rˆ   rŒ   r”   r§   r­   r²   r¼   rÅ   rÌ   rÒ   rÞ   râ   rä   rè   ÚmarkÚparametrizeró   r  r  r+   r¤   Ú	Timestampr  ÚNAr   r¥   rc  r  r'  r+  r@  rC  rR  rY  rg  r  r�  r†  r�  r�  r›  r¢  r²  r´  r¸  rÏ  rÑ  rÖ  rÝ  rç  r	  r  r  r7  r™  rT   ÚALL_REAL_NUMPY_DTYPESr=  r   ÚIntervalIndexÚfrom_tuplesÚPeriodIndexÚTimedeltaIndexr&  r*  r4  r9  rB  rG  )Ú.0Údtypr+   r   s   0000r   r2   r2   5   sö  „ Ø‡^�^ñó ðð ‡^�^ñ
ó ð
ð ‡^�^ñ
ó ð
ò0ò+ò

0ò0òHò8Gò*Hò.ò8 ò7ò0
+òMò0ò&2ò.Nò@òò*ò,ò,ð ‡[�[×ÑØà°Ñ5Ø¨SÑ1Ø¨DÑ1Ø¨Ñ-ð		
óñ.óð.ò-ò^('ðT ‡[�[×ÑØàˆB�I‰I�q�c Ô)ØˆB�I‰I�q�c Ô)ØˆB�I‰I�t�fÓØˆB�I‰I�u�gÓØˆB�I‰I�t�fÓØˆB�I‰I�|�r—|‘| LÓ1Ð2Ó3ØˆB�I‰I�|�r—|‘| L°\ÔBÐCÓDð	
óð ‡[�[×ÑØàˆB�I‰I�q�c Ô)ØˆB�I‰I�q�c Ô)ØˆB�I‰I�t�fÓØˆB�I‰I�u�gÓØˆB�I‰I�t�fÓØˆB�I‰I�|�r—|‘| LÓ1Ð2Ó3ØˆB�I‰I�|�r—|‘| L°\ÔBÐCÓDð	
óñ0óóð00ð$ ‡[�[×ÑØàˆB�I‰I�q�c Ô)ØˆB�I‰I�q�c Ô)ØˆB�I‰I�t�fÓØˆB�I‰I�u�gÓØˆB�I‰I�t�fÓØˆB�I‰I�|�r—|‘| LÓ1Ð2Ó3ØˆB�I‰I�|�r—|‘| L°\ÔBÐCÓDð	
óð ‡[�[×ÑØ àˆB�I‰I�r—u‘u�g WÔ-ØˆB�I‰I�r—v‘v�h gÔ.ØˆB�I‰I�r—v‘v�h hÔ/ØˆB�I‰I�r—v‘v�hÓð		
óñ0óóð*0ò*@ð@ ‡[�[×ÑØ˜e¢_Ð5¸ºoÐ7NÐOóð ‡[�[×Ñ˜U V¨WÐ$5Ó6ñ0ó 7óð0òCò*0ò	1ò0ò&0ð  ‡[�[×Ñ˜VÒ%KÓLñ+ó Mð+ð: ‡[�[×Ñ˜VÒ%KÓLñ+ó Mð+ò2ò00ò2%GòN0ò20ò@0ò0ò*6ò,=Gò~@ò.ò&$òL8ò&E6òN/ò('ð ‡[�[×Ñ˜U W¨gÐ$6Ó7Ø‡[�[×ÑØð $�×#Ñ#¢IÓ.Ø#�×#Ñ#Ò$?Ó@ðð
 !�× Ñ Ú>Àhôð !�× Ñ Ø! <°¸r¿v¹vÀrÇvÁvÈrÏvÉvÐVØ"ôð	ð&	
ð& ×4Ñ4÷ñ ð
 ô —H‘HšY¨dÔ3Ü—H‘HÒ8ÄÇ
Á
ÔKòõð&	
ð, × Ñ ×,Ñ,Ò-EÓFØ× Ñ ×,Ñ,Ø˜V V¨R¯V©V°R·V±V¸R¿V¹VÐDóðð+&	
ð8 �—‘ÒIÐPSÔTØ�—‘Ø! <°¸r¿v¹vÀrÇvÁvÈrÏvÉvÐVØôðð7&	
ðF "�×!Ñ!Ò"4Ó5Ø!�×!Ñ! 4¨¨t°R·V±V¸R¿V¹VÀRÇVÁVÐ"LÓMððE&	
ó)ñT0óU)ó 8ðV0ò00ð ‡[�[×Ñ˜U V¨WÐ$5Ó6ñ0ó 7ð0ò0ò.ó+ùõks   Ô#AZ$r2   c                 óð   — dD ]q  }dD ]j  }| j                  |||¬«      }t        | j                  «       |j                  «       ||¬«      }|j                  d«      }t	        j
                  ||d¬«       Œl Œs y )N)rz   rJ   rŸ   )TF©rq   rr   rM   F)Úcheck_names)r|   r   r>  rj   rT   rU   )rÏ   rÐ   rq   rr   rX   rY   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j(                  g d¢«      j+                  d«      fg d¢ ej(                  g d¢«      j+                  d«      fddg ej(                  ddge¬«      fddg ej(                  ddge¬«      fg«      d„ «       Zej                  j                  d ej(                  ddgd¬«      g d¢f ej(                  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ÚTestMergeDtypesrN   Úcategoryc                 óê  — t        j                  ddgt        j                  ddg«      j                  d«      ddgddgt        j                  ddgd¬	«      t        j                  ddgd
¬	«      dœ«      }t        j                  ddg|¬	«      }t        j                  d|i«      }t	        ||d¬«      }t        |j                  j                  «      s"t        |j                  j                  «      sJ ‚y y )Nr–   r—   rY  r!   r   ç      ð?ç       @Úuint64rR   Úint32)r\  r]  ÚCri  ÚEÚFr\  r\   )	r+   r,   r¤   rd   r   r   r\  rN   r	   )r;   rN   rJ   Ú
right_valsrg   rX   s         r   Útest_differentzTestMergeDtypes.test_differentô  sÍ   € ä�|‰|à˜U�^Ü—Y‘Y  u˜~Ó.×5Ñ5°jÓAØ˜�VØ˜3�ZÜ—Y‘Y  1˜v¨XÔ6Ü—Y‘Y  1˜v¨WÔ5ñó	
ˆô —Y‘Y  u˜~°UÔ;ˆ
Ü—‘˜c :Ð.Ó/ˆô
 �t˜U sÔ+ˆÜ˜vŸx™xŸ~™~Ô.´/À&Ç(Á(Ç.Á.Ô2QÐQÐQÐ2QÐ.r   Úd2c           	      ó  — t        j                  |«      }t        j                  |«      }t        j                  t        j                  g d¢dz  |¬«      ddgdz  t        j                  t        j
                  d«      t         j                  ¬«      dœ«      }t        j                  j                  d	d
g«      }t        j                  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¬«      }	t!        j"                  ||	«       y )Nr  r�   rR   r–   r—   r  é   )Úk1Úk2Úv)r   r—   )r!   r–   rm   r)   rF   ro   rg  rh  r\   rá   r   r   r!   Tr"  Ú	mergesort)Úkind)r   rN   r+   r,   r»   rÊ   rL   Ú
MultiIndexrO  r|   ræ   rk  r¥   rt   rg  rh  rT   rU   Úsort_values)
r;   Úany_int_numpy_dtyperd  Údtype1Údtype2rJ   rM   rg   rX   rY   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Ô<ñó
ˆô —‘×)Ñ)¨:°zÐ*BÓCˆÜ—‘˜d¤B§H¡H¨a°¨V¸6Ô$BÐCÈ5ÔQˆà—‘˜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 \¸�Ó=ˆØ×'Ñ'¨¨t¨¸;Ð'ÓGˆÜ
×Ñ˜f hÕ/r   zint_vals, float_vals, exp_valsrõ   ©r[  r\  ç      @©ÚXÚYr[  rs  r!   r'   r   r\  c                 ó<  — t        j                  d|i«      }t        j                  d|i«      }t        j                  |«      }|j                  |dd¬«      }t        j                  ||«       |j                  |dd¬«      }t        j                  ||ddg   «       y )Nru  rv  r‚   rS   )r;   Úint_valsÚ
float_valsÚexp_valsr\  r]  rY   rX   s           r   Útest_merge_on_ints_floatsz)TestMergeDtypes.test_merge_on_ints_floats)  sˆ   € ô �L‰L˜#˜x˜Ó)ˆÜ�L‰L˜#˜zÐ*Ó+ˆÜ—<‘< Ó)ˆà—‘˜ C°#�Ó6ˆÜ
×Ñ˜f hÔ/à—‘˜ C°#�Ó6ˆÜ
×Ñ˜f h°°S¨zÑ&:Õ;r   c                 ó6  — t        j                  ddgddgdœddg¬«      }t        j                  d	gd
gdœddg¬«      }|j                  |dd¬«      }t        j                  ddgddgt        j                  dgdœg d¢¬«      }t        j                  ||«       y )Nr[  r\  r>   r¾   rG   rH   rI   r¶   r   éÈ   )rH   rm   rm   rJ   r¹   g      i@rƒ  )r+   r,   r   r   r¥   rT   rU   r?  s        r   Útest_merge_key_dtype_castz)TestMergeDtypes.test_merge_key_dtype_cast?  s’   € ä�l‰l C¨ :°b¸"°XÑ>ÈÐPTÈÔVˆÜ�l‰l A 3¨s¨eÑ4¸uÀd¸mÔLˆØ—‘˜3 5¨f�Ó5ˆÜ—<‘<Ø˜#�J r¨2 h´r·v±v¸u°oÑFÚ'ô
ˆô 	×Ñ˜f hÕ/r   c                 ó0  — t        j                  dg d¢i«      }t        j                  dg d¢i«      }t        j                  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        j                  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)Nru  rõ   rv  )çš™™™™™ñ?g      @rs  r'   rs  rt  z:the float values are not equal to their int representationr€   r‚   )	r+   r,   rT   Úassert_produces_warningÚUserWarningr   rU   r   r¥   )r;   r\  r]  rY   r‡   rX   s         r   Ú!test_merge_on_ints_floats_warningz1TestMergeDtypes.test_merge_on_ints_floats_warningJ  se  € ô
 �L‰L˜#šyÐ)Ó*ˆÜ�L‰L˜#šÐ/Ó0ˆÜ—<‘< q c°°Ñ 6Ó7ˆàJˆÜ×'Ñ'¬¸3Ô?ñ 	4Ø—W‘W˜Q¨°c�WÓ:ˆFÜ×!Ñ! &¨(Ô3÷	4ô ×'Ñ'¬¸3Ô?ñ 	@Ø—W‘W˜Q¨°c�WÓ:ˆFÜ×!Ñ! &¨(°C¸°:Ñ*>Ô?÷	@ô
 �L‰L˜#¤§¡¬¯©°Ð4Ð5Ó6ˆä×'Ñ'¨Ó-ñ 	@Ø—W‘W˜Q¨°c�WÓ:ˆFÜ×!Ñ! &¨(°C¸°:Ñ*>Ô?÷	@ð 	@÷	4ð 	4ú÷	@ð 	@ú÷	@ð 	@ús$   Á*+E4Â80F Ä;0FÅ4E=Æ F	ÆFc                 óh  — t        j                  dt        j                  ddgt        ¬«      i«      }t        j                  dddgi«      }t        j                  dddgit        ¬«      }t	        ||d¬«      }t        j                  ||«       t	        ||d¬«      }t        j                  ||«       y ©NrH   TFrR   r\   )r+   r,   r¤   rñ   r   rT   rU   ©r;   r.   r/   rY   rX   s        r   Ú(test_merge_incompat_infer_boolean_objectz8TestMergeDtypes.test_merge_incompat_infer_boolean_objectc  s�   € ä�l‰l˜E¤2§9¡9¨d°E¨]Ä&Ô#IÐJÓKˆÜ�l‰l˜E D¨% =Ð1Ó2ˆä—<‘< ¨¨u¨Ð 6¼fÔEˆÜ�s˜C EÔ*ˆÜ
×Ñ˜f hÔ/Ü�s˜C EÔ*ˆÜ
×Ñ˜f hÕ/r   c                 ó†  — t        j                  dt        j                  ddt        j                  gt
        ¬«      i«      }t        j                  dddgi«      }t        j                  dddgit
        ¬«      }t        ||d¬«      }t        j                  ||«       t        ||d¬«      }t        j                  ||«       y r…  )	r+   r,   r¤   r   r¥   rñ   r   rT   rU   r†  s        r   Ú5test_merge_incompat_infer_boolean_object_with_missingzETestMergeDtypes.test_merge_incompat_infer_boolean_object_with_missingn  s™   € ô �l‰l˜E¤2§9¡9¨d°E¼2¿6¹6Ð-BÌ&Ô#QÐRÓSˆÜ�l‰l˜E D¨% =Ð1Ó2ˆä—<‘< ¨¨u¨Ð 6¼fÔEˆÜ�s˜C EÔ*ˆÜ
×Ñ˜f hÔ/Ü�s˜C EÔ*ˆÜ
×Ñ˜f hÕ/r   zdf1_vals, df2_valsr  )r"   r#   r"   )r7  r[  r\  r   FTrR   c                 ó`  — t        j                  d|i«      }t        j                  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\  r\   )r+   r,   r   r   r\  rN   r	   )r;   Údf1_valsÚdf2_valsr.   r/   rX   s         r   Ú!test_merge_incompat_dtypes_are_okz1TestMergeDtypes.test_merge_incompat_dtypes_are_okz  s‰   € ô  �l‰l˜C ˜?Ó+ˆÜ�l‰l˜C ˜?Ó+ˆä�s˜C S EÔ*ˆÜ˜vŸx™xŸ~™~Ô.Ð.Ð.Ü�s˜C S EÔ*ˆÜ˜vŸx™xŸ~™~Ô.´/À&Ç(Á(Ç.Á.Ô2QÐQÐQÐ2QÐ.r   r]  rí   r^  )r`  Ú1Ú2z1/1/2011ri  r¦  z
2011-01-01z
2011-01-02r7  Ú20130101)rŠ  r  r‰  c                 ó®  — t        j                  d|i«      }t        j                  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        j                  |||dœ«      }t        j                  |||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   �Œ7x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€   r\   ©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+   r,   rN   rE  rF  rƒ   r„   r†   r   r   )r;   r‹  rŒ  r.   r/   r‡   rã  rä  s           r   Ú test_merge_incompat_dtypes_errorz0TestMergeDtypes.test_merge_incompat_dtypes_error’  s9  € ô2 �l‰l˜C ˜?Ó+ˆÜ�l‰l˜C ˜?Ó+ˆð *¨#¨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Ó)ô —,‘, X°HÀ8ÑLÓMˆCÜ—,‘, X°HÀ8ÑLÓMˆ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   ÂH%Ã-H2Æ"H?È
IÈ%H/È2H<È?IÉIzexpected_data, howrŸ   rz   rg   rJ   c                 ó$  — t        j                  dgdg|¬«      }t        j                  dgdg|¬«      }t        |||¬«      }t        j                  t	        |«      «      }t        j                  ||dg|¬«      }t        j                  ||«       y )N)r!   ÚidrÇ   )r   r¿   ©rM   ru   rN   ©r+   r,   r   Ú
RangeIndexr   rT   rU   )	r;   Úany_numeric_ea_dtyperq   Úexpected_dataÚd1rd  rX   Ú	exp_indexrY   s	            r   Útest_merge_EA_dtypez#TestMergeDtypes.test_merge_EA_dtypeÛ  s   € ô �\‰\˜4˜&¨4¨&Ð8LÔMˆÜ�\‰\˜4˜&¨4¨&Ð8LÔMˆÜ�r˜2 3Ô'ˆÜ—M‘M¤# mÓ"4Ó5ˆ	Ü—<‘<Ø °T°FÐBVô
ˆô 	×Ñ˜f hÕ/r   r"   r#   c                 ó$  — t        j                  dgdg|¬«      }t        j                  dgdg|¬«      }t        |||¬«      }t        j                  t	        |«      «      }t        j                  ||dg|¬«      }t        j                  ||«       y )N)r"   r—  rÇ   )r#   r¿   r˜  r™  )	r;   rq   rœ  Úany_string_dtyper�  rd  rX   Úexp_idxrY   s	            r   Útest_merge_string_dtypez'TestMergeDtypes.test_merge_string_dtypeï  s   € ô �\‰\˜6˜(¨T¨FÐ:JÔKˆÜ�\‰\˜6˜(¨T¨FÐ:JÔKˆÜ�r˜2 3Ô'ˆÜ—-‘-¤ MÓ 2Ó3ˆÜ—<‘<Ø °4°&Ð@Pô
ˆô 	×Ñ˜f hÕ/r   zhow, expected_data)Tr!   r(   )Fr)   r'   c                 óî   — t        j                  ddgddgdœ«      }t        j                  ddgddgdœ«      }t        |||¬	«      }t        j                  |g d
¢¬«      }t        j                  ||«       y )NTFr!   r)   ©r\  r]  r'   r(   ©r\  r_  r¿   r”  r¶   rS   )r;   rq   rœ  r.   r/   rX   rY   s          r   Útest_merge_bool_dtypez%TestMergeDtypes.test_merge_bool_dtype  sh   € ô �l‰l $¨ °a¸°VÑ<Ó=ˆÜ�l‰l %¨ °a¸°VÑ<Ó=ˆÜ�s˜C SÔ)ˆÜ—<‘< ²ÔGˆÜ
×Ñ˜f hÕ/r   c                 ó¾  — t        j                  g d¢g d¢dœt        j                  «       ¬«      }|j                  «       }t        j                  dddt         j                  dgd	d
dt         j                  dgdœ|¬«      }|j                  «       }t        ||dg|¬«      }t        j                  ||«       t        j                  ||«       t        j                  t        j                  d«      t        j                  «       t        j                  d«      gt         j                  j                  g d¢«      ¬«      }t        j                  |j                  |«       y )N)rŽ  r�  Ú3Ú4N)rª  Ú5Ú6Ú7Ú8)©Úlvl0zlvl1-a©r°  zlvl1-b)ÚdatarN   rŽ  r�  r©  r«  r­  r®  Ú9Ú11)r¯  ©r°  zlvl1-cr¯  )rJ   rg   r]   rq   ÚO)r¯  r±  rµ  ro   )r+   r,   ÚStringDtyperæ   rL  r   rT   rU   r¤   r   rN   rl  rO  r¦   r  )	r;   rç   Ústring_dtyper.   rÉ  r/   rÊ  r’   rY   s	            r   Útest_merge_ea_with_stringz)TestMergeDtypes.test_merge_ea_with_string  s  € ä�l‰lâ$>Ú$=ñô —.‘.Ó"ô
ˆð —8‘8“:ˆÜ�l‰là%(¨#¨s´B·E±E¸3Ð$?Ø%(¨#¨s´B·E±E¸4Ð$@ñð ô
ˆð —8‘8“:ˆÜ˜C sÐ0BÐ/CÈÔSˆô 	×Ñ˜c 8Ô,Ü
×Ñ˜c 8Ô,ô —9‘9Ü�X‰X�c‹]œBŸN™NÓ,¬b¯h©h°s«mÐ<Ü—-‘-×+Ñ+ÚLóô
ˆô 	×Ñ˜vŸ}™}¨hÕ7r   zleft_empty, how, exp)
)FrJ   rJ   )Frg   Úempty)Frz   rº  )FrŸ   rJ   )FÚcrossÚempty_cross)TrJ   rº  )Trg   rg   )Trz   rº  )TrŸ   rg   )Tr»  r¼  c                 óœ  — t        j                  ddgddgdœ«      }t        j                  dgdgdœd¬	«      }|r|j                  d
«      }n|j                  d
«      }|j                  ||¬«      }|dk(  r<t        j                  ddgddgt        j
                  t        j
                  gdœ«      }nm|dk(  r+t        j                  dgt        j
                  gdgdœ«      }n=|dk(  rt        j                  g d¢d¬«      }n|dk(  rt        j                  g d¢d¬«      }|dk(  rj                  dd¬«      }t        j                  |«       y )Nr   r!   r'   r(   r¥  r)   r¦  rL   rR   r   r¿   rJ   r”  rg   rº  rÇ   r¼  )ÚA_xr]  ÚA_yr_  rŸ   r\  TrW  )	r+   r,   Úheadr   r   r¥   rm  rT   rU   )r;   Ú
left_emptyrq   r`   rJ   rg   rX   rY   s           r   Útest_merge_emptyz TestMergeDtypes.test_merge_empty5  s  € ô  �|‰| 1 a &°°1¨vÑ6Ó7ˆÜ—‘ A 3¨a¨SÑ1¸ÔAˆáØ—9‘9˜Q“<‰Dà—J‘J˜q“MˆEà—‘˜E s�Ó+ˆà�&Š=Ü—|‘|¨1¨a¨&¸¸1°vÄRÇVÁVÌRÏVÉVÐDTÑ$UÓV‰HØ�GŠ^Ü—|‘|¨1¨#´R·V±V°HÀAÀ3Ñ$GÓH‰HØ�GŠ^Ü—|‘|ªOÀ7ÔK‰HØ�MÒ!Ü—|‘|Ò,DÈGÔTˆHà�'Š>Ø×+Ñ+¨C¸dÐ+ÓCˆHä
×Ñ˜f hÕ/r   c                 óð  — t        j                  ddgt        j                  ddgt        j                  ¬«      dœ«      }t        j                  ddgt        j                  dd	gt        j                  ¬«      dœ«      }|j                  |d
¬«      }t        j                  g d¢t        j                  g d¢t        j                  ¬«      dœ«      }t        j                  |j                  d¬«      |«       y ©Nr–   r—   r!   r   rR   r©   r˜   r'   r(   rŸ   r¿   )r—   r˜   r–   r–   )r   r(   r!   r'   T©Údrop)	r+   r,   r   r»   Úuintcr   rT   rU   r>  r?  s        r   Útest_merge_with_uintc_columnsz-TestMergeDtypes.test_merge_with_uintc_columns]  s°   € Ü�l‰l %¨ ´b·h±hÀÀ1¸vÌRÏXÉXÔ6VÑWÓXˆÜ�l‰l %¨ ´b·h±hÀÀ1¸vÌRÏXÉXÔ6VÑWÓXˆØ—‘˜3 G�Ó,ˆÜ—<‘<â1Ü—X‘Xšl´"·(±(Ô;ñó
ˆô 	×Ñ˜f×0Ñ0°dÐ0Ó;¸XÕFr   c                 óð  — t        j                  ddgt        j                  ddgt        j                  ¬«      dœ«      }t        j                  ddgt        j                  dd	gt        j                  ¬«      dœ«      }|j                  |d
¬«      }t        j                  g d¢t        j                  g d¢t        j                  ¬«      dœ«      }t        j                  |j                  d¬«      |«       y rÄ  )	r+   r,   r   r»   Úintcr   rT   rU   r>  r?  s        r   Útest_merge_with_intc_columnsz,TestMergeDtypes.test_merge_with_intc_columnsi  s°   € Ü�l‰l %¨ ´b·h±hÀÀ1¸vÌRÏWÉWÔ6UÑVÓWˆÜ�l‰l %¨ ´b·h±hÀÀ1¸vÌRÏWÉWÔ6UÑVÓWˆØ—‘˜3 G�Ó,ˆÜ—<‘<â1Ü—X‘Xšl´"·'±'Ô:ñó
ˆô 	×Ñ˜f×0Ñ0°dÐ0Ó;¸XÕFr   c                 óì  — t        j                  dt        j                  g d¢t        j                  ¬«      i«      }t        j                  t        j                  g d¢t        j                  ¬«      g d¢dœ«      }|j                  |dd¬«      }t        j                  t        j                  g d¢t        j                  ¬«      g d	¢dœ«      }t        j                  |j                  d
¬«      |«       y )NÚjoin_key)r   r   r!   rR   r  rí   )rÍ  r?   rJ   r¹   )r"   rC   r#   TrÅ  )
r+   r,   r¤   r   rÊ  r   r»   rT   rU   r>  )r;   r<   Ú
df_detailsr’   rY   s        r   Útest_merge_intc_non_monotonicz-TestMergeDtypes.test_merge_intc_non_monotonicu  s¤   € Ü�\‰\˜:¤r§y¡y²Ä"Ç'Á'Ô'JÐKÓLˆÜ—\‘\ÜŸ™¢9´B·G±GÔ<ÂÑWó
ˆ
ð —‘˜*¨¸�Ó@ˆÜ—<‘<ÜŸ™¢)´2·7±7Ô;ÂoÑVó
ˆô 	×Ñ˜f×0Ñ0°dÐ0Ó;¸XÕFr   N)"rL  rM  rN  rƒ   rI  rJ  rñ   rc  r   rL   r   r  Úfloat16rq  r{  r~  rƒ  r‡  r‰  r+   r¤   rd   rÀ   r�  rŒ  r•  rŸ  r£  r§  r¹  rÂ  rÈ  rË  rÏ  rI  r   r   rX  rX  ó  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ð ‡[�[×ÑØò ˜	˜Ÿ	™	¢/Ó2×9Ñ9¸*ÓEÐFÚ˜i˜bŸi™iªÓ8×?Ñ?À
ÓKÐLà�ˆV�Y�R—Y‘Y  t˜}°FÔ;Ð<Ø�ˆV�Y�R—Y‘Y  t˜}°DÔ9Ð:ð	
ó
ñRó
ðRð ‡[�[×ÑØð ˆR�Y‰Y˜˜1�v XÔ.²Ð@ØˆR�Y‰Y˜˜1�v WÔ-ªÐ?ÚšÐ(Úš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   rX  c                  óL  — t        j                  t        j                  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—   )r>   r  )ÚoneÚtwoÚthreert  )	r+   r,   r¤   r   r   r   Úchoicerd   r
   rI  r   r   rJ   rJ   �  s�   € ä�<‰<ä—‘Ü—	‘	×%Ñ% aÓ(×/Ñ/°¸°ÀUÐ/ÓKóç‰fÔ% u¨e nÓ5Ó6Ü—‘×&Ñ& qÓ)×0Ñ0Ò1HÈuÐ0ÓUñ		
óð r   c                  ó”   — t        j                  t        j                  ddg«      j                  t	        ddg«      «      ddgdœ«      S )Nr–   r—   r!   r   )ru  ÚZ)r+   r,   r¤   rd   r
   rI  r   r   rg   rg   �  sD   € ä�<‰<ä—‘˜E 5˜>Ó*×1Ñ1Ô2BÀEÈ5À>Ó2RÓSØ�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        j                  t        ddg¬«      ||gg d¢¬	«      }t        j                  ||«       y )
Nru  r\   r¶  Ústrr–   r—   rÁ  )ru  ÚY_xÚY_yro   ©
r   r  r±  r   rN   r+   r¤   r
   rT   r¦   )r;   rJ   r±   r’   rX   rN   rY   s          r   Útest_identicalz#TestMergeCategorical.test_identical˜  si   € ä�t˜T cÔ*ˆØ—‘×)Ñ)Ó+ˆÙ%7”—‘˜”¸UˆÜ—9‘9Ü¨%°¨Ô8¸%ÀÐGÚ%ô
ˆô 	×Ñ˜v xÕ0r   c                 ó(  — t        ||d¬«      }|j                  j                  «       }|st        j                  d«      nd}t        j                  t        ddg¬«      |t        j                  d«      gg d	¢¬
«      }t        j                  ||«       y )Nru  r\   r¶  rÛ  r–   r—   rÁ  rL   ©ru  rv  r×  ro   rÞ  ©r;   rJ   rg   r±   r’   rX   rN   rY   s           r   Ú
test_basiczTestMergeCategorical.test_basic£  sz   € ô �t˜U sÔ+ˆØ—‘×)Ñ)Ó+ˆÙ%7”—‘˜”¸UˆÜ—9‘9ä ¨U°E¨NÔ;ØÜ—‘˜Ó!ðò
 "ô
ˆô 	×Ñ˜v xÕ0r   c           	      ó2  — t        j                  ddddddœddddddœdœ«      }t        j                  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#   rC   rD   rE   )r   r!   r   r'   r(   Únullrª   rÖ   r×   r©   rJ   )rq   rp   rs   rY  )r+   r,   r   ræ   rd   r
   rT   rU   )r;   rg   rJ   r<   rY   ÚcrightrX   Ú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        j                  t        j                  g d¢g d¢¬«      g d¢dœ«      }t        j                  t        j                  g d¢g d¢¬«      g d¢dœ«      }t        ||dg¬	«      }t        j                  t        j                  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í  r\   )rñ  rð  rï  )rí  rî  rò  râ  r?  s        r   Ú'tests_merge_categorical_unordered_equalz<TestMergeCategorical.tests_merge_categorical_unordered_equalÞ  s•   € ä�l‰lä—~‘~¢oÂ/ÔRÚ*ñó
ˆô �l‰lä—~‘~¢oÂ/ÔRÚ+ñó
ˆô �s˜C U GÔ,ˆÜ—<‘<ä—~‘~¢oÓ6Ú*Ú+ñó
ˆô 	×Ñ˜f hÕ/r   ÚorderedTFc                 ó0  — t        ddg|¬«      }t        j                  g d¢t        j                  g d¢|¬«      g d¢dœ«      j	                  d	d
g«      }t        j                  g d¢t        j                  g d¢|¬«      g d¢dœ«      j	                  d	d
g«      }t        ||ddd¬«      }t        j                  g d¢t        j                  g d¢|¬«      g d¢ddt        j                  gdœ«      j	                  d	d
g«      }t        j                  ||«       y )NÚP2ÚP1©rÂ  rô  )r_  r_  ri  )rö  r÷  rö  rR   r  )r—  Úpr"   r—  rù  )r\  r_  r_  )rö  rö  r÷  ©r>   rT  r  )r—  rù  r�  rJ   TrŠ   g      &@g      (@)r—  rù  r"   r�  )
r
   r+   r,   rÇ  rj   r   r   r¥   rT   rU   )r;   rô  Úpcatr.   r/   rX   rY   s          r   Ú5test_multiindex_merge_with_unordered_categoricalindexzJTestMergeCategorical.test_multiindex_merge_with_unordered_categoricalindex÷  sû   € ô  ¨D°$¨<ÀÔIˆÜ�l‰lâ%Ü—^‘^Ò$6¸dÔCÚñó
÷ ‰)�T˜3�KÓ
 ð 	ô �l‰lâ%Ü—^‘^Ò$6¸dÔCÚ"ñó
÷ ‰)�T˜3�KÓ
 ð 	ô �s˜C V¸È$ÔOˆÜ—<‘<â%Ü—^‘^Ò$6¸dÔCÚØ˜T¤2§6¡6Ð*ñ	ó
÷ ‰)�T˜3�KÓ
 ð 	ô 	×Ñ˜f hÕ/r   c                 ó\  — |j                  |j                  j                  d«      ¬«      }t        ||d¬«      }|j                  j                  «       }|st        j                  d«      nd}t        j                  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 )NrY  )r×  ru  r\   r¶  rÛ  r–   r—   rÁ  r!   r   rá  ro   )Úassignr×  rd   r   r  r±  r   rN   r+   r¤   r
   rT   r¦   ru  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ˆÜ—9‘9ä ¨U°E¨NÔ;ØÜ ¨Q°¨FÔ3ðò
 "ô
ˆô 	×Ñ˜v xÔ0ð �v‰v�}‰}×@Ñ@ÀÇÁÇÁÔQÐQÐQØ�w‰w�~‰~×AÑAÀ&Ç(Á(Ç/Á/ÔRÐRÑRr   Úchangec                 ó   — | S rH  rI  ©rÏ   s    r   ú<lambda>zTestMergeCategorical.<lambda>,  s   € �a€ r   c                 ó:   — | j                  t        g d¢«      «      S )N)r–   r—   Úbah©rd   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        j                  |	|	t        j
                  d«      gg d¢¬	«      }
t        j                  ||
«       y )
Nrñ   )ru  ru  r¹   r¶  rÛ  rL   rá  ro   )ru  rd   rþ  rP  r(  rN   r
   r   r  r±  r   r+   r¤   rT   r¦   )r;   r  rç   rJ   rg   r±   ru  r’   rX   rN   rY   s              r   Útest_dtype_on_merged_differentz3TestMergeCategorical.test_dtype_on_merged_different)  s¯   € ñ �5—7‘7—>‘> (Ó+Ó,ˆØ—‘˜q�Ó!ˆÜ˜$Ÿ&™&Ÿ-™-×-Ñ-Ô/?Ô@Ð@Ð@ô �t˜U s°	Ô:ˆà—‘×)Ñ)Ó+ˆÙ%7”—‘˜”¸UˆÜ—9‘9˜e U¬B¯H©H°WÓ,=Ð>ÂoÔVˆÜ
×Ñ˜v xÕ0r   c                 ór  — d}t        j                  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 )
Nr)   )
r"   r#   rC   rD   rE   rÖ   r×   rØ   rá   Új)rV  ÚwrÏ   rÐ   rï   r   )rj  r   Úurù  Úo)
ÚaaÚbbÚccÚddÚeeÚffÚggÚhhÚiiÚjjrà   c                 ó$   — | j                  d«      S )NrY  )rd   r  s    r   r  zITestMergeCategorical.test_self_join_multiple_categories.<locals>.<lambda>d  s   €  §¡¨Ó 4€ r   r\   )r+   r,   Úapplyr   r   ru   rT   rU   )r;   rj  ÚeachÚletterr<   rX   s         r   Ú"test_self_join_multiple_categoriesz7TestMergeCategorical.test_self_join_multiple_categoriesC  sá   € ð ˆÜ�\‰\âGÈ!ÑKÚ.°Ñ2°QÑ6ð !:÷àØ#' &¨1¡*¨q¡.òð ò ðØóð!÷àð $( &¨1¡*òð ò ðØóñó
ˆð: �X‰XÑ4Ó5ˆô �r˜2¤$ r§z¡zÓ"2Ô3ˆä
×Ñ˜f bÕ)ùó=ùó
s   ¦B-ÁB3c                 ó�  — t        j                  t        ddd«      dgt        ddd«      dggddg¬«      }|d   j                  d	«      |d<   t        j                  t        ddd«      dgt        ddd
«      dggddg¬«      }|d   j                  d	«      |d<   t        j                  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        j                  t        j                  d«      j                  «       ddggg d¢¬«      }t        ||ddg¬«      }t        j                  ||«       y )NiÑ  r!   r€  r   çÍÌÌÌÌÌô?r   Únum2r¶   rY  r'   çffffffö?Únum4r  r  r  )r   r"  r$  rŸ   rž  rz   )
r+   r,   r   rd   rK  r   r¥   r   rT   rU   )r;   r<   r/   Úexpected_outerÚresult_outerÚexpected_innerÚresult_inners          r   Útest_dtype_on_categorical_datesz4TestMergeCategorical.test_dtype_on_categorical_datesk  s˜  € ô �\‰\Ü�4˜˜AÓ Ð$¤t¨D°!°QÓ'7¸Ð&=Ð>ÈÐQWÐHXô
ˆð ˜‘Z×&Ñ& zÓ2ˆˆ6‰
ä�l‰lÜ�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                 ó€  — t        j                  g d¢|dœ«      }|d   j                  t        ||¬«      «      |d<   t        j                  ddgddgd	œ«      }|j	                  |«      }t        j                  ddg|ddgd
œ«      }|d   j                  t        ||¬«      «      |d<   t        j                  ||«       y )Nr™   )r—  ré  ré  r	  r   r(   r!   rø   )r—  Únum)r—  ré  r-  )r+   r,   rd   r
   r   rT   rU   )	r;   Úcategory_columnrÂ  Úexpected_categoriesrô  r.   r/   rX   rY   s	            r   Ú/test_merging_with_bool_or_int_cateorical_columnzDTestMergeCategorical.test_merging_with_bool_or_int_cateorical_column‹  s¶   € ô �l‰l¢,°ÑGÓHˆØ˜‘Z×&Ñ&Ô'7¸
ÈGÔ'TÓUˆˆE‰
Ü�l‰l 1 a &°!°Q°Ñ8Ó9ˆØ—‘˜3“ˆÜ—<‘<Ø�q�6Ð"5¸qÀ!¸fÑEó
ˆð # 5™/×0Ñ0Ü˜Z°Ô9ó
ˆ�‰ô 	×Ñ˜h¨Õ/r   c                 óF  — t        j                  t        j                  ddt         j                  gd¬«      ddœ«      }t	        ||d¬«      }t        j                  t        j                  ddt         j                  gd¬«      dddœ«      }t        j                  ||«       y )	Nr!   r   r
  rR   r¥  r\  r\   )r\  ÚB_xÚB_y)r+   r,   r¤   rL  r   rT   rU   )r;   r<   rX   rY   s       r   Útest_merge_on_int_arrayz,TestMergeCategorical.test_merge_on_int_array¥  sw   € ä�\‰\¤§	¡	¨1¨a´·±¨-¸wÔ GÈaÑPÓQˆÜ�r˜2 #Ô&ˆÜ—<‘<Ü—)‘)˜Q ¤2§5¡5˜M°Ô9À!ÈAÑNó
ˆô 	×Ñ˜f hÕ/r   c                 ó*  — t        j                  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        j                  t        t        dd«      «      t        t        dd«      «      z   |¬«      }t        j                  t        t        dd«      «      t        t        dd«      «      z   |¬«      }t        j                  t        j                  gdz  t        t        dd«      «      z   |¬«      }	t         j                  j                  |||	gg d¢¬«      }
t        j                  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!   r>   )rÏ   rÐ   rï   rD   rY  rî   r(   rï   rÏ   T)ÚobservedrD   r‘   rF   )rï   rÏ   rÐ   rŸ   r©  r)   r�   rÁ  ©Únamesr   )Úd_xÚd_yro   )r+   r,   r   r   rd   ÚilocÚgroupbyÚaggr   rÇ  r   r¥   rl  Úfrom_arraysÚmapre   rT   rU   )r;   r.   r/   rã  rä  rX   Úcatsrï   rÏ   rÐ   ÚidxrY   s               r   Ú.test_merge_category_index_levels_stay_categoryzCTestMergeCategorical.test_merge_category_index_levels_stay_category®  s  € ä�l‰läœ%  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Ó!ˆÜ�N‰Nœ4¤ a¨£Ó,¬t´E¸!¸R³LÓ/AÑAÈdÔSˆÜ�N‰Nœ4¤ a¨£Ó,¬t´E¸!¸R³LÓ/AÑAÈdÔSˆÜ�N‰NœBŸF™F˜8 a™<¬$¬u°Q¸«|Ó*<Ñ<ÈÔNˆÜ�m‰m×'Ñ'¨¨A¨q¨	ºÐ'ÓIˆÜ—<‘<äœC¤¤u¨Q°£{Ó3Ó4¼¿¹°xÀ!±|ÑCÜŸ™�x !‘|¤d¬3¬u´e¸A¸r³lÓ+CÓ&DÑDñð ô
ˆô 	×Ñ˜f hÕ/r   N)rL  rM  rN  rß  rã  rè  ró  rƒ   rI  rJ  rü  r   r  r  r)  r0  r4  rB  rI  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                   óø  — e Zd Zej                  j                  ddd ej                  ddgddgdœd	d
g¬«      fdd ej                  ddgddgdœd
d	g¬«      fdd ej                  g d¢ddej                  gdœg d¢¬«      fdd ej                  g d¢ej                  ddgdœg d¢¬«      fdd ej                  ej                  ddgg d¢dœg d¢¬«      fdd ej                  ddej                  gg d¢dœg d¢¬«      fdd ej                  dddej                  gej                  dddgdœg d¢¬«      fdd ej                  dddej                  gej                  dddgdœg d¢¬«      fg«      d„ «       Z
y)ÚTestMergeOnIndexeszhow, sort, expectedrz   Fr¾   r>   r}  éd   r©   r   r!   ro   TrJ   ©r¾   r>   r   ©r   r!   r   )r   r>   r¾   r  rg   ©é,  rE  r}  ©r'   r!   r   ©rE  r}  rI  rõ   rŸ   r   rI  rc   c                 óÆ   — t        j                  dg d¢ig d¢¬«      }t        j                  dg d¢ig d¢¬«      }t        ||dd||¬	«      }t        j                  ||«       y )
Nr"   rF  rG  ro   r#   rH  rJ  T)rP   rQ   rq   rr   rS   )r;   rq   rr   rY   r2  r3  rX   s          r   Útest_merge_on_indexesz(TestMergeOnIndexes.test_merge_on_indexesÏ  sY   € ôx —,‘, ¢[Ð1ºÔCˆÜ—<‘< ¢oÐ 6ºiÔHˆÜØ�X¨$¸DÀcÐPTô
ˆô 	×Ñ˜f hÕ/r   N)rL  rM  rN  rƒ   rI  rJ  r+   r,   r   r¥   rM  rI  r   r   rD  rD  Î  sË  „ Ø‡[�[×ÑØð ØØ�—‘ B¨ 8°3¸°*Ñ=ÀaÈÀVÔLðð ØØ�—‘ B¨ 8°3¸°*Ñ=ÀaÈÀVÔLðð ØØ�—‘Ú%¨S°#°r·v±vÐ,>Ñ?Âyôðð ØØ�—‘Ú%¨R¯V©V°S¸#Ð,>Ñ?Âyôðð ØØ�—‘ØŸ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Ú&ôðð_7	
ó:ñv0ów:ñv0r   rD  rM   r  Ú	index_colrÈ   r”  )rÂ  r¡   r'   )ÚstartÚstopr¡   )r  z
2018-01-02z
2018-01-03r    c                 óL   — t        | «      j                  › d| j                  › d�S )Nú[rt  )ÚtyperL  rN   r  s    r   r  r   	  s"   € ”T˜!“W×%Ñ%Ð& a¨¯© y°Ð2€ r   )Úidsc                 ó   — t        j                  dg d¢i| ¬«      }t        j                  dg d¢i| ¬«      }|j                  |dg¬«      }t        j                  g d¢g d¢dœ| ¬«      }t        j                  ||«       y )	NÚ	left_datarõ   ro   Ú
right_datarr  rN  r\   )rV  rW  rS   )rM   rJ   rg   rX   rY   s        r   Útest_merge_index_typesrX  	  sl   € ô$ �<‰<˜¢iÐ0¸Ô>€DÜ�L‰L˜,ªÐ8ÀÔF€Eà�Z‰Z˜ ; -ˆZÓ0€Fä�|‰|ÚªÑ?Àuô€Hô ×Ñ˜& (Õ+r   z-on,left_on,right_on,left_index,right_index,nmrŸ   rz   Fr]  )NNNTTr]  T)NNNTTNc           
      óp  — t        j                  dg d¢it         j                  j                  ddgddggddg¬	«      ¬
«      }t        j                  g d¢t         j                  j                  ddgddggddg¬	«      |¬«      }t        j                  ddgddgdœt         j                  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Ÿ   rz   r7  ro   r   rs  r(   r'   r¥  )r]   rp   rs   rP   rQ   z$Cannot merge a Series without a namer€   )r+   r,   rl  Úfrom_productr¤   r   rT   rU   rƒ   r„   r†   )r]   rp   rs   rP   rQ   Únmr"   r#   rY   rX   r‡   s              r   Útest_merge_seriesr\  0	  sT  € ô 	�‰Ø	ŠlÐÜ�m‰m×(Ñ(Ø�3ˆZ˜!˜Q˜Ð ¨°'Ð(:ð )ó 
ô	€Aô 	�	‰	ÚÜ�m‰m×(Ñ(Ø�3ˆZ˜!˜Q˜Ð ¨°'Ð(:ð )ó 
ð ô	€Aô �|‰|Ø�!ˆf˜A˜q˜6Ñ"Ü�m‰m×(Ñ(¨3°¨*°q°cÐ):À7ÈGÐBTÐ(ÓUô€Hð 
€~ÜØØØØØØ!Ø#ô
ˆô 	×Ñ˜f hÕ/à4ˆÜ�]‰]œ:¨SÔ1ñ 		ÜØØØØØ!Ø%Ø'ôˆF÷		÷ 		ñ 		ús   ÄD,Ä,D5c                  óŠ  — t        j                  dg d¢it         j                  j                  ddgddggddg¬	«      ¬
«      } t        j                  g d¢t         j                  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Ÿ   rz   r7  ro   r   )r]  r_  rs  z-Not allowed to merge between different levelsr€   r\   )	r+   r,   rl  rZ  r¤   rƒ   r„   r   r   r©   s     r   Útest_merge_series_multilevelr^  i	  sÊ   € ô 	�‰Ø	ŠlÐÜ�m‰m×(Ñ(Ø�3ˆZ˜!˜Q˜Ð ¨°'Ð(:ð )ó 
ô	€Aô 	�	‰	ÚÜ�m‰m×(Ñ(Ø�3ˆZ˜!˜Q˜Ð ¨°'Ð(:ð )ó 
ð ô	€Aô 
�‰ÜÐIô
ñ +ô 	ˆa�˜ Ð)Õ*÷+÷ +ñ +ús   ÂB9Â9Cz!col1, col2, kwargs, expected_colsr6  )r3  Ú_dupr`  Ú0_dup)Nr_  )Ú_xÚ_yÚ0_xÚ0_yra  rb  r"   )Nrb  r7  )ra  Nz0.0_xr#   Úb_yrö  )Nra  )Ú_aNÚ0_ar÷  c                 óL  — t        j                  | g d¢i«      }t        j                  |g d¢i«      }t        j                  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!   r(   r   r)   r'   rœ   r¶   TrO   rS   )r$   rà  ÚkwargsÚexpected_colsr"   r#   rY   rX   s           r   Útest_merge_suffixrk  	  s¡   € ô( 	�‰�dšIÐ&Ó'€AÜ
�‰�dšIÐ&Ó'€Aä�|‰|˜a ˜V a¨ V¨a°¨VÐ4¸mÔL€HàˆQ�W‰W�QÐD 4°TÑD¸VÑD€FÜ×Ñ˜& (Ô+ä�1�aÐE D°dÑE¸fÑE€FÜ×Ñ˜& (Õ+r   zhow,expectedrg   rK  é<   éF   ©éX  é¼  é   )r\  rð  ÚB2)r!   rE  r}  rI  r1  ro  rp  rq  c                 óü   — t        j                  g d¢g d¢dœ«      }t        j                  g d¢g d¢dœ«      }t        ||d| d¬«      }t        j                  |«      }g d	¢|_        t	        j
                  ||«       y )
N)rE  r}  r!   )rl  rm  r1  r¥  rK  rn  r\  )ra  ra  )r]   rq   r6  )r\  r2  r2  )r+   r,   r   ru   rT   rU   )rq   rY   r2  r3  rX   s        r   Útest_merge_duplicate_suffixrt  Ÿ	  sb   € ô$ �l‰l¢²\ÑBÓC€GÜ�|‰|¢/ºÑHÓI€HÜ�7˜H¨°#ÀÔM€FÜ�|‰|˜HÓ%€HÚ*€HÔä×Ñ˜& (Õ+r   zcol1, col2, suffixes))r"   r"   )NN)r"   r"   )r3  N)r   r   )Nr3  c                 óì   — t        j                  | g d¢i«      }t        j                  |g d¢i«      }d}t        j                  t        |¬«      5  t        ||dd|¬«       d d d «       y # 1 sw Y   y xY w)Nrõ   ©r'   r(   r)   z'columns overlap but no suffix specifiedr€   T©rP   rQ   r6  ©r+   r,   rƒ   r„   r†   r   )r$   rà  r6  r"   r#   r‡   s         r   Útest_merge_suffix_errorry  º	  sh   € ô 	�‰�dšIÐ&Ó'€AÜ
�‰�dšIÐ&Ó'€Að 4€CÜ	�‰”z¨Ô	-ñ JÜˆa�˜t°ÀÕI÷J÷ Jñ Jús   ÁA*Á*A3rJ   ©rJ   rg   c                 óè   — t        j                  dg d¢i«      }t        j                  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#   rv  zPassing 'suffixes' as ar€   Trw  )r+   r,   rƒ   r„   Ú	TypeErrorr   )r6  r"   r#   s      r   Útest_merge_suffix_raisesr}  É	  s`   € ä
�‰�cš9Ð%Ó&€AÜ
�‰�cš9Ð%Ó&€Aä	�‰”yÐ(AÔ	Bñ JÜˆa�˜t°ÀÕI÷J÷ Jñ Júó   ÁA(Á(A1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        j                  | g d¢i«      }t        j                  |g d¢i«      }t        j                  t        |¬«      5  t        ||dd|¬«       d d d «       y # 1 sw Y   y xY w)Nrõ   rv  r€   Trw  rx  )r$   rà  r6  r‡   r"   r#   s         r   Útest_merge_suffix_length_errorr€  Õ	  sa   € ô 	�‰�dšIÐ&Ó'€AÜ
�‰�dšIÐ&Ó'€Aä	�‰”z¨Ô	-ñ JÜˆa�˜t°ÀÕI÷J÷ Jñ Júr~  Ú	cat_dtyperÒ  rÓ  Úreversec                 óÈ  — t        g d¢d¬«      t        g d¢d¬«      dœ}t        j                  t        j                  g d¢«      j	                  |d   «      g d¢dœ«      j                  d«      }g d¢}g d¢}|r |j                  «        |j                  «        t        j                  t        j                  |«      j	                  ||    «      |d	œ«      j                  d«      }|j                  |d
d
¬«      }t        j                  g d¢g d¢t        j                  g d¢«      j	                  |d   «      dœ«      j                  d«      }t        j                  ||«       y )Nrí   Frø  )rÒ  rÓ  rÒ  rõ   ©r–   rJ   r–   ©r–   rg   TrO   ©rJ   rg   r–   )
r
   r+   r,   r¤   rd   rj   r‚  r   rT   rU   )	r�  r‚  Ú
cat_dtypesr.   Údata_fooÚ
data_rightr/   rX   rY   s	            r   Útest_merge_equal_cat_dtypesrŠ  é	  s,  € ô
  ª?ÀEÔJÜª?ÀEÔJñ€Jô
 �,‰,Ü—	‘	š/Ó*×1Ñ1°*¸UÑ2CÓDÊiÑXóç�i�Óð ò €HÚ€JáØ×ÑÔØ×ÑÔä
�,‰,Ü—	‘	˜(Ó#×*Ñ*¨:°iÑ+@ÓAÈJÑWóç�i�Óð ð �Y‰Y�s t¸ˆYÓ>€Fä�|‰|âÚÜ—9‘9š_Ó-×4Ñ4°ZÀÑ5FÓGñ	
ó÷ �i�Óð ô ×Ñ˜& (Õ+r   c                  óJ  — t        g d¢d¬«      } t        j                  t        j                  ddg«      j	                  | «      ddgdœ«      j                  d	«      }t        j                  t        j                  g d¢«      j	                  | «      g d
¢dœ«      j                  d	«      }|j                  |dd¬«      }t        j                  ddgddgt        j                  ddg«      j	                  | «      dœ«      j                  d	«      }t        j                  ||«       y )Nrí   Frø  r"   r#   r!   r   r„  r–   )r'   r   r!   r…  TrO   r'   r†  )	r
   r+   r,   r¤   rd   rj   r   rT   rU   )r�  r.   r/   rX   rY   s        r   Útest_merge_equal_cat_dtypes2rŒ  
  sû   € ä ªOÀUÔK€Iô �,‰,Ü—	‘	˜3 ˜*Ó%×,Ñ,¨YÓ7À!ÀQÀÑHóç�i�Óð ô �,‰,Ü—	‘	š/Ó*×1Ñ1°)Ó<ÂyÑQóç�i�Óð ð �Y‰Y�s t¸ˆYÓ>€Fä�|‰|à˜�FØ˜�VÜ—9‘9˜c 3˜ZÓ(×/Ñ/°	Ó:ñ	
ó÷ �i�Óð ô ×Ñ˜& (Õ+r   c            
      óh  — t        j                  dt        j                  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   ÚintervalrR   rY  rz   rž  )	r+   r,   r¤   ÚIntervalræ   rd   r   rT   rU   )rg   rJ   rX   rY   s       r   Útest_merge_on_cat_and_ext_arrayr�  (
  sŽ   € ä�L‰LØ	Œb�i‰iœŸ™ Q¨Ó*¬B¯K©K¸¸1Ó,=Ð>ÀjÔQÐRó€Eð �:‰:‹<€DØ�S‘	× Ñ  Ó,€Dˆ�Iä�4˜ G°Ô4€FØ�z‰z‹|€Hä×Ñ˜& (Õ+r   c                  ó  — g d¢} g d¢}t         j                  j                  | |fddg¬«      }t        j                  |¬«      }t        j                  |¬«      }d}t	        j
                  t        |¬«      5  d	|d
<   d d d «       t	        j
                  t        |¬«      5  d	|d
<   d 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                  j                  |ddg¬«      }t        j                  |¬«      }t	        j                  ||d¬«       y # 1 sw Y   ŒâxY w# 1 sw Y   ŒÅxY wc c}
}	w c c}
}	w )Nrà   ©rŽ  r�  r©  rŸ   rz   r7  r¶   zSetting a new columnr€   r3  r—  ra  rb  r5  )r—  r3  Fr;  )
r+   rl  rZ  r,   rT   r�  r   r   rO  rU   )ÚlettersÚnumbersrM   Úframe_xÚframe_yr‡   Úl_sufÚr_sufrX   r  r-  Útuplesr%  rY   s                 r   Útest_merge_multiindex_columnsrš  6
  sz  € ò #€GÚ€GÜ�M‰M×&Ñ&¨°Ð'9À'È7ÐASÐ&ÓT€Eä�l‰l 5Ô)€GÜ�l‰l 5Ô)€GØ
 €CÜ	×	#Ñ	#¤N¸#Ô	>ñ Øˆ�‰÷ä	×	#Ñ	#¤N¸#Ô	>ñ Øˆ�‰÷ð €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ä—]‘]×.Ñ.¨v¸gÀwÐ=OÐ.ÓP€NÜ�|‰| NÔ3€Hä×Ñ˜& (¸Ö>÷#ð ú÷ð üó NùãNs$   Á7EÂ E*ÃE6Ã1E<ÅE'Å*E3c                  óH  — t        j                  g d¢g d¢dœ«      } t        j                  g d¢t        j                  g d¢«      dœ«      }t        | |dd¬	«      }t        j                  g d¢g d¢t        j                  g d
¢«      dœ«      }t	        j
                  ||«       y )Nrí   )rŽ  r�  rª  )rÏ   rÐ   r’  )Ú2000Ú2001Ú2002)rÐ   rï   rJ   rÐ   rž  )rœ  r�  rc  rî   )r+   r,   rŸ  r   rT   rU   ©r.   r/   rX   rY   s       r   Ú test_merge_datetime_upcast_dtyper   W
  s   € ä
�,‰,š_²?ÑCÓ
D€CÜ
�,‰,Ú¤B§N¡NÒ3KÓ$LÑMó€Cô �3˜ ¨CÔ0€FÜ�|‰|â Ú Ü—‘Ò 7Ó8ñ	
ó€Hô ×Ñ˜& (Õ+r   Ún_categoriesr)   é€   c                 ó  — t        j                  dgt        t        | «      «      ¢«      }t        j                  t        | dz   «      dg|¬«      }t        j                  dggdgt        j                  dgt        t        | «      «      ¬«      ¬«      }t        ||ddd¬	«      }t        j                  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!   r?   r­  rœ   rÁ  rJ   TrŠ   r   g      @r¢   r£   )
r+   r7  r   r   r,   r   r   r¥   rT   rU   )r¡  rP   r.   r/   rX   rá   rY   s          r   Ú%test_categorical_non_unique_monotonicr¤  h
  sî   € ô
 ×$Ñ$ aÐ%D¬$¬u°\Ó/BÓ*CÐ%DÓE€JÜ
�,‰,”u˜\¨AÑ-Ó.¸¸	ÈÔ
T€CÜ
�,‰,Ø
ˆˆØ�	Ü×!Ñ! 1 #´$´u¸\Ó7JÓ2KÔLô€Cô �3˜ °DÀdÔK€FÜ�|‰|Ü5:¸<È!Ñ;KÓ5LÖM°�Q˜’Uˆ!ˆS‰ ¤B§F¡F Ñ	+ÒMØ˜IÐ&Øô€Hô
 ×Ñ˜( FÕ+ùò	 	Ns   Ã"Dc                  ó�  — t        j                  g d¢g d¢«      g d¢dœ} t        j                  | «      } t        j                  g d¢g d¢«      g d¢g d¢dœ}t        j                  |«      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        j                  g d¢g d¢d¬«      g d¢dœ} t        j                  | «      } t        j                  g d¢g d¢d¬«      g d¢g d¢dœ}t        j                  |«      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"   rC   r"   r#   rí   )r   r!   r   r!   r   r   )ÚCat1ÚInt1)r"   r#   rC   r"   r#   rC   )r   r   r   r!   r!   r!   )r€  g333333ó?r!  r#  rB  gš™™™™™ù?)ÚCatÚIntÚFactorr¨  r©  rª  r¦  r§  rJ   rÂ   r!   )Úaxisr\   rù  Tr	  )
r+   rÇ  r,   rj   r   r>  rÆ  r|   rT   rU   )r"   r#   rY   rX   s       r   Ú&test_merge_join_categorical_multiindexr¬  ~
  s²  € ô —‘Ò=ºÓOÚ"ñ	€Aô 	�‰�Q‹€Aô �~‰~Ò<ºoÓNÚ!Ú0ñ	€Aô
 	�‰�Q‹×!Ñ! 5¨% .Ó1°(Ñ;€AäØ	Ø	�‰‹Ø˜Ð Ø˜�Øô€Hð �}‰}˜e U˜^°!ˆ}Ó4€HØ�V‰V�A˜6 6Ð*ˆVÓ+€FÜ×Ñ˜( FÔ+ô —‘Ú*ªOÀTô
ò #ñ		€Aô 	�‰�Q‹€Aô �~‰~Ú*ªOÀTô
ò "Ú0ñ	€Aô 	�‰�Q‹×!Ñ! 5¨% .Ó1°(Ñ;€AäØ	Ø	�‰‹Ø˜Ð Ø˜�Øô€Hð �}‰}˜e U˜^°!ˆ}Ó4€HØ�V‰V�A˜6 6Ð*ˆVÓ+€FÜ×Ñ˜( FÕ+r   Úfuncr   Ú
merge_asof)ri  Úerr_msg)rp   rP   rp   rP   )rs   rQ   rs   rQ   c                 ó"  — t        j                  ddgddgdœ«      }t        j                  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   r'   r(   r©   r)   rœ   ró  zCan only pass argument "r   ú" OR "z" not both\.r€   ©r+   r,   rƒ   r„   r   Úgetattr©r­  ri  r¯  rJ   rg   r‡   s         r   Ú/test_merge_join_cols_error_reporting_duplicatesrµ  ¶
  s‘   € ô �<‰<˜q !˜f¨A¨q¨6Ñ2Ó3€DÜ�L‰L  1˜v¨Q°¨FÑ3Ó4€EØ% g¨a¡j \°¸À¹
°|À<Ð
P€CÜ	�‰”z¨Ô	-ñ 1ØŒ”�DÓ˜$ Ñ0¨Ò0÷1÷ 1ñ 1úó   Á#BÂBc                 ó"  — t        j                  ddgddgdœ«      }t        j                  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   r'   r(   r©   r)   rœ   ró  zMust pass "r   r±  z"\.r€   r²  r´  s         r   Ú,test_merge_join_cols_error_reporting_missingr¸  Ç
  s‘   € ô �<‰<˜q !˜f¨A¨q¨6Ñ2Ó3€DÜ�L‰L  1˜v¨Q°¨FÑ3Ó4€EØ˜ ™˜ F¨7°1©:¨,°cÐ
:€CÜ	�‰”z¨Ô	-ñ 1ØŒ”�DÓ˜$ Ñ0¨Ò0÷1÷ 1ñ 1úr¶  ri  c                 ó  — t        j                  ddgddgdœ«      }t        j                  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   r'   r(   r©   r)   rœ   ró  zZCan only pass argument "on" OR "left_index" and "right_index", not a combination of both\.r€   r]   r"   r²  )r­  ri  rJ   rg   r‡   s        r   Ú1test_merge_join_cols_error_reporting_on_and_indexrº  Ø
  s†   € ô �<‰<˜q !˜f¨A¨q¨6Ñ2Ó3€DÜ�L‰L  1˜v¨Q°¨FÑ3Ó4€Eð	:ð ô 
�‰”z¨Ô	-ñ 9ØŒ”�DÓ˜$ Ñ8¨#Ð8°Ò8÷9÷ 9ñ 9ús   ÁA:Á:Bc                  ó
  — t        j                  ddgddgdœ«      } t        j                  ddgddgdœ«      }t        | |ddd¬«      }t        j                  ddgddgddgddgddgdœ«      }t        j                  ||«       y )	Nr!   r–   )rÏ   rï   rg   TrÏ   )rq   rP   rs   )rÏ   Úx_xÚz_xÚx_yÚz_yrS   ©rJ   rg   rX   rY   s       r   Útest_merge_right_left_indexrÁ  ì
  s’   € ä�<‰<˜q !˜f¨E°5¨>Ñ:Ó;€DÜ�L‰L  1˜v¨U°E¨NÑ;Ó<€EÜ�4˜ G¸ÀsÔK€FÜ�|‰|à�Q�Ø�q�6Ø˜5�>Ø�q�6Ø˜5�>ñ	
ó€Hô ×Ñ˜& (Õ+r   c                  ó´  — t        j                  dgdgdœ«      j                  ddg«      } t        j                  ddgi«      j                  dg«      }t        j                  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#   rR   Trë   rê   )r+   r,   rj   r   rL   r   rT   rU   ©r.   r/   rY   rX   s       r   Ú$test_merge_result_empty_index_and_onrÄ  ý
  s¶   € ä
�,‰,˜a˜S¨ sÑ+Ó
,×
6Ñ
6¸¸S°zÓ
B€CÜ
�,‰,˜˜a˜S�zÓ
"×
,Ñ
,¨c¨UÓ
3€CÜ�|‰| "¨2Ñ.´b·h±hÔ?×IÑIÈ3ÐPSÈ*ÓU€HÜ�3˜ c U¸Ô=€FÜ×Ñ˜& (Ô+ä�3˜¨¸°uÔ=€FÜ×Ñ˜& (Õ+r   c                  óh  — t        j                  g d¢dddœ«      } t        j                  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"   r\   )rb  ra  r5  r  rz  s     r   Ú.test_merge_suffixes_produce_dup_columns_raisesrÈ  	  s“   € ä�<‰<ši¨a¸Ñ:Ó;€DÜ�L‰Lšy¨qÑ1Ó2€Eä	�‰”zÐ)SÔ	Tñ #Üˆd�E˜cÕ"÷#ô 
�‰”zÐ)SÔ	Tñ :Üˆe�T˜c¨LÕ9÷:ð :÷#ð #ú÷:ð :ús   ÁBÂB(ÂB%Â(B1c                  óö   — t        j                  g d¢g d¢gg d¢¬«      } t        j                  ddgddœ«      }t        | |d	¬
«      }t        j                  g d¢gg d¢¬«      }t        j                  ||«       y )Nr"  r#  )r"   r#   r#   r¶   r!   r'   r   r©   r"   r\   )r!   r!   r!   r   )r"   rÆ  rÆ  re  rS   rÀ  s       r   Ú3test_merge_duplicate_columns_with_suffix_no_warningrÊ    sa   € ô �<‰<š¢IÐ.ºÔH€DÜ�L‰L  1˜v¨AÑ.Ó/€EÜ�4˜ 3Ô'€FÜ�|‰|š\˜NÒ4NÔO€HÜ×Ñ˜& (Õ+r   c                  óò   — t        j                  g d¢g d¢gg d¢¬«      } t        j                  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!   r'   r   r©   rÇ  r€   r"   r\   r  rz  s     r   ÚItest_merge_duplicate_columns_with_suffix_causing_another_duplicate_raisesrÎ    sa   € ô �<‰<š¢|Ð4Ò>TÔU€DÜ�L‰L  1˜v¨AÑ.Ó/€EÜ	�‰”zÐ)SÔ	Tñ #Üˆd�E˜cÕ"÷#÷ #ñ #ús   ÁA-Á-A6c                  óV  — t        j                  ddgddggt        j                  ddg«      ¬«      } t        j                  dd	gd
dggddg¬«      }t        || ddd¬«      }t        j                  g d¢g d¢gt        j                  g d¢«      ¬«      }t	        j
                  ||«       y )Nr!   r   r'   r(   r"   ç     €\@r¶   rø   r>   rT  r  rÏ   rÐ   rz   TrŠ   )rø   r>   r!   r   )rT  r  r'   r(   )rÏ   rÐ   r"   rÐ  ©r+   r,   r=  r   rT   rU   rŸ  s       r   Ú%test_merge_string_float_column_resultrÒ  (  s“   € ä
�,‰,˜˜A˜  A Ð'´·±¸3À¸,Ó1GÔ
H€CÜ
�,‰,˜˜B˜ " b Ð*°S¸#°JÔ
?€CÜ�3˜ °TÀtÔL€FÜ�|‰|Ú	šÐ'´·±Ò:PÓ1Qô€Hô ×Ñ˜& (Õ+r   c                  óð   — t        j                  dgdgdg¬«      } t        j                  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)
Nru  r_  é   )r²  ru   rM   iç  zCan only pass argumentr€   T)r]   rP   r  )Údf_1Údf_2s     r   Ú/test_mergeerror_on_left_index_mismatched_dtypesr×  3  sf   € ä�<‰<˜c˜U¨S¨E¸"¸Ô>€DÜ�<‰<˜c˜U¨S¨E¸#¸Ô?€DÜ	�‰”zÐ)AÔ	Bñ 5Üˆd�D˜c˜U¨tÕ4÷5÷ 5ñ 5ús   ÁA,Á,A5c                  ó@  — t        j                  t        d«      «      } t        j                  | t        d«      dœ«      }t        j                  dt        dd«      i«      }t	        ||| d¬«      }t	        ||| j
                  d¬«      }t        j                  ||«       y )Nr'   r¥  r_  rœ   r\  r‚   )r+   r7  r   r,   r   Ú_datarT   rU   )Úcirg   rJ   ÚresrY   s        r   Ú#test_merge_on_left_categoricalindexrÜ  ;  sz   € ä	×	Ñ	œU 1›XÓ	&€Bä�L‰L˜r¬¨a«Ñ1Ó2€EÜ�<‰<˜œe A q›kÐ*Ó+€Dä
��e R°#Ô
6€CÜ�T˜5¨"¯(©(¸SÔA€HÜ×Ñ˜#˜xÕ(r   rN   r
  c                 óð  — | €t         j                  nt        j                  }t        j                  ddgddgdœ| ¬«      }t        j                  ||gddgdœ| ¬«      }t        ||dd	¬
«      }t        j                  dd||gdd||g||ddgdœ| ¬«      }t        j                  ||«       t        ||dd	¬
«      }t        j                  dd||g||ddgdd||gdœ| ¬«      }t        j                  ||«       y )Nr!   r   )rH   r$   rR   r'   r(   )rH   rà  rH   rŸ   r¹   )rH   r$   rà  )rH   rà  r$   )r   r¥   r+   rL  r,   r   rT   rU   )rN   ÚitemrJ   rg   rX   rY   s         r   Útest_merge_outer_with_NaNrß  G  s  € ð �]Œ2�6Š6¬¯©€DÜ�<‰<  A °°A°Ñ7¸uÔE€DÜ�L‰L $¨ ¸¸1°vÑ>ÀeÔL€EÜ�4˜ 5¨gÔ6€FÜ�|‰|à�q˜$ Ð%Ø˜˜4 Ð&Ø˜4  AÐ&ñ	
ð
 ô€Hô ×Ñ˜& (Ô+ô �5˜$ 5¨gÔ6€FÜ�|‰|à�q˜$ Ð%Ø˜4  AÐ&Ø˜˜4 Ð&ñ	
ð
 ô€Hô ×Ñ˜& (Õ+r   c                  ó@  — t        j                  ddgit        j                  dgd¬«      ¬«      } t        j                  ddgit        j                  dgd¬«      ¬«      }t        | |dd¬«      }t        j                  dgddœ«      }t	        j
                  ||«       y )	Nr"   r!   rC   r    ro   rD   r‚   )rö  r÷  rÑ  rÀ  s       r   Ú test_merge_different_index_namesrá  e  s}   € ä�<‰<˜˜q˜c˜
¬"¯(©(°A°3¸SÔ*AÔB€DÜ�L‰L˜# ˜s˜¬2¯8©8°Q°C¸cÔ+BÔC€EÜ�4˜¨°cÔ:€FÜ�|‰| Q C°Ñ2Ó3€HÜ×Ñ˜& (Õ+r   c                 ó   — t        j                  g d¢ddœ| ¬«      }t        j                  g d¢ddœ| ¬«      }|j                  ||¬«      }t        j                  g d¢dddœ| ¬«      }t        j                  ||«       y )	Nrõ   r!   r©   rR   r   ró  r¿   rí   rS   ©r›  rç   rJ   rg   rX   rY   s         r   Útest_merge_earä  n  sm   € ä�<‰<ši¨aÑ0Ð8LÔM€DÜ�L‰Lšy¨qÑ1Ð9MÔN€EØ�Z‰Z˜ 9ˆZÓ-€FÜ�|‰|Ú˜a aÑ(Ð0Dô€Hô ×Ñ˜& (Õ+r   c           	      óº  — t        j                  g d¢ddœ| ¬«      }t        j                  g d¢ddœ| j                  «       ¬«      }|j                  ||¬«      }t        j                  t        j                  g d¢| ¬«      t        j                  g d¢| ¬«      t        j                  g d	¢| j                  «       ¬«      d
œ«      }t        j                  ||«       y )Nrõ   r!   r©   rR   r   ró  r¿   r"  r#  rí   )r+   r,   Úlowerr   r¤   rT   rU   rã  s         r   Útest_merge_ea_and_non_earç  y  s¤   € ä�<‰<ši¨aÑ0Ð8LÔM€DÜ�L‰Lšy¨qÑ1Ð9M×9SÑ9SÓ9UÔV€EØ�Z‰Z˜ 9ˆZÓ-€FÜ�|‰|ä—‘š9Ð,@ÔAÜ—‘š9Ð,@ÔAÜ—‘š9Ð,@×,FÑ,FÓ,HÔIñ	
ó€Hô ×Ñ˜& (Õ+r   rL   úint64[pyarrow]c                 óv  — t        j                  d«       t        j                  dddgi| ¬«      }t        j                  dddgid¬«      }|j	                  |«      }|j                  «       }t        j                  ||«       |j	                  |«      }|j                  «       }t        j                  ||«       y )NÚpyarrowr"   r!   r   rR   rè  )rƒ   Úimportorskipr+   r,   r   ræ   rT   rU   )rN   r<   r/   rX   rY   s        r   Ú!test_merge_arrow_and_numpy_dtypesrì  ˆ  s“   € ô ×Ñ˜	Ô"Ü	�‰�s˜Q ˜F�m¨5Ô	1€BÜ
�,‰,˜˜a ˜V�}Ð,<Ô
=€CØ�X‰X�c‹]€FØ�w‰w‹y€HÜ×Ñ˜& (Ô+à�Y‰Y�r‹]€FØ�x‰x‹z€HÜ×Ñ˜& (Õ+r   r  zAmerica/Chicagoz$left_unit, right_unit, expected_unit)r[  rk  r[  )rm  r[  r[  c                 ób  — t        j                  ddd| ¬«      t        j                  ddd| ¬«      t        j                  ddd| ¬«      g}t        j                  |d d dd	gd
œ«      }|d   j                  j	                  |«      |d<   t        j                  |dd  dd	gdœ«      }|d   j                  j	                  |«      |d<   t        j                  |dd	t
        j                  gt
        j                  dd	gdœ«      }|d   j                  j	                  |«      |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ç  r)   r  r  é   é   r   r[  r\  ©rV  r"   rV  r!   ©rV  r#   ©rV  r"   r#   rz   TrÅ  rJ   r   rg   r¹   )r+   rK  r,   rÑ   Úas_unitr   r¥   r;  r>  r   rT   rU   )
r  rç   Ú	left_unitÚ
right_unitÚexpected_unitÚvalsr.   r/   rY   rX   s
             r   Ú(test_merge_datetime_different_resolutionrø  —  s�  € ô 	�‰�T˜1˜b RÔ(Ü
�‰�T˜1˜b RÔ(Ü
�‰�T˜1˜b RÔ(ð€Dô
 �,‰,˜T " 1˜X¨S°#¨JÑ7Ó
8€CØ�3‰x�{‰{×"Ñ" 9Ó-€Cˆ�HÜ
�,‰,˜T ! "˜X¨S°#¨JÑ7Ó
8€CØ�3‰x�{‰{×"Ñ" :Ó.€Cˆ�Hä�|‰|Ø˜#˜s¤B§F¡FÐ+´2·6±6¸3ÀÐ2DÑEó€Hð ˜S‘M×$Ñ$×,Ñ,¨]Ó;€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        j                  dd¬«      }t        j                  dd¬«      }t        j                  dd¬«      }t        j                  ||gddgdœ«      }|d	   j                  j	                  d
«      |d	<   t        j                  ||gddgdœ«      }|d	   j                  j	                  d«      |d	<   |j                  |d	| ¬«      }|g||g|||g||gdœ}dgddgg d¢dd gdœ}dgdd gg d¢ddgdœ}	t        j                  t        j                  ||    «      j	                  d
«      j                  d«      ||    |	|    dœ«      }
|d	   j                  |d	   j                  k(  sJ ‚t        j                  ||
«       y )Nz2023-05-12 12:00r‘  r  z2023-05-12 13:00z2023-05-12 14:00r[  r\  rð  rV  r  rs  r“  rñ  z
US/Pacificr¹   )rz   rJ   rŸ   rg   )r[  r\  N)rs  Nr“  rm  rò  )r+   rK  r,   rÑ   r¡  r   r™  ró  rN   rT   rU   )rç   Úi0r.  r/  rJ   rg   rX   ÚkeysÚavalsÚbvalsrY   s              r   Ú0test_merge_datetime_different_tz_preserves_dtyperþ  ½  s�  € ô 
�‰Ð(¨UÔ	3€BÜ	�‰Ð(¨UÔ	3€BÜ	�‰Ð(¨UÔ	3€Bä�<‰<˜r 2˜h¨c°3¨ZÑ8Ó9€DØ�S‘	—‘×'Ñ'¨Ó5€Dˆ�IÜ�L‰L  B˜x¨s°C¨jÑ9Ó:€EØ�s‘—‘×)Ñ)¨,Ó7€Eˆ#�Jà�Z‰Z˜ #¨9ˆZÓ5€Fà�T B¨ 8°r¸2¸r°lÈbÐRTÈXÑV€Dà�Ø�c�
Ú!Ø�t�ñ	€Eð �Ø�d�Ú!Ø�s�ñ	€Eô �|‰|ä×!Ñ! $ y¡/Ó2ß‰Z˜Ó%ß‰W�T‹]Ø�yÑ!Ø�yÑ!ñ	
ó€Hð �#‰;×Ñ  S¡	§¡Ò/Ð/Ð/Ü×Ñ˜& (Õ+r   c                 óô  — t        j                  d«      t        j                  d«      t        j                  d«      g}t        j                  dddgit        j                  |d d «      j	                  d«      ¬	«      }t        j                  |d
d  ddgdœ«      }|d   j
                  j	                  d«      |d<   |j                  |dd| ¬«      }|d   j                  t        j                  d«      k(  sJ ‚y )Nz
2023-05-12z
2023-05-13z
2023-05-14r"   r[  r\  r   r[  ro   r!   rs  r“  )Úrkr#   r   rm  TrÉ   údatetime64[ns])	r+   rK  r,   r™  ró  rÑ   r   rN   r   )rç   r÷  rJ   rg   rX   s        r   Ú1test_merge_datetime_different_resolution_right_onr  æ  sÜ   € ô
 	�‰�\Ó"Ü
�‰�\Ó"Ü
�‰�\Ó"ð€Dô
 �<‰<Ø	ˆs�CˆjÐ¤×!1Ñ!1°$°r¸°(Ó!;×!CÑ!CÀDÓ!Iô€Dô �L‰L  Q R °°S¨zÑ:Ó;€EØ˜‘+—.‘.×(Ñ(¨Ó.€Eˆ$�Kà�Z‰Z˜¨$¸À9ˆZÓM€FØ�$‰<×Ñ¤§¡Ð*:Ó!;Ò;Ð;Ñ;r   c                  óZ  — t        j                  dddgi«      } t        j                  ddgit         j                  j                  ddgdg¬«      ¬	«      }t        j                  ddgdt        j
                  gd
œ«      }| j                  |dgdd¬«      }t        j                  ||«       y )NÚcolr\  r]  r#   rE  )r\  )r_  r7  )r²  rM   )r  r#   TrJ   r{   )	r+   r,   rl  rO  r   r¥   r   rT   rU   )r<   r/   rY   rX   s       r   Ú"test_merge_multiindex_single_levelr  ù  s—   € ä	�‰�u˜s C˜jÐ)Ó	*€BÜ
�,‰,Ø�C�5ˆ\Ü�m‰m×'Ñ'¨°Ð(8ÀÀÐ'ÓHô€Cô �|‰| S¨# J°c¼2¿6¹6°]ÑCÓD€Hà�X‰X�c E 7¸À&ˆXÓI€FÜ×Ñ˜& (Õ+r   c                  óz  — t        j                  ddgddgdœt         j                  j                  ddgddggddg¬«      ¬	«      } t        j                  ddgt        j                  ddgd¬
«      t         j                  j                  dgdgg«      ¬«      }d}t        j                  t         j                  j                  |¬«      5  | j                  «       j                  |j                  «       d¬«      }d d d «       t        j                  g d¢g d¢g d¢g d¢g d¢dœ«      }t         j                  j                  |j                  «      |_        t        j                  |«       | j                  «       j                  |j                  «       dg¬«      }t        j                  ||«       y # 1 sw Y   Œ¹xY w)Nr!   r   )©Úcolumn_1r3  ©Úcolumn_2r3  Ú
metadata_1Ú
metadata_2rM   Úmetadatar7  ro   r    Únew_datar3  )r²  rM   ru   zAdropping on a non-lexsorted multi-index without a level parameterr€   r\   rÌ  )r  r  r  r  rÍ  )©rM   r3  )r  r3  r  r	  )r  r3  r  )r+   r,   rl  r>  r=  rZ  rT   r�  r…   ÚPerformanceWarningr>  r   rO  ru   rU   )r<   r/   r‡   rX   rY   Úresult2s         r   Ú'test_merge_multiindex_reset_index_mixedr    sy  € ä	�‰Ø˜q˜6°a¸°VÑ<Ü�m‰m×'Ñ'Ø�ˆV�l LÐ1Ð2¸7ÀJÐ:Oð (ó 
ô
€Bô �,‰,Ø�ˆVÜ�h‰h˜˜1�v GÔ,Ü—‘×*Ñ*¨Z¨L¸2¸$Ð+?Ó@ô€Cð N€CÜ	×	#Ñ	#¤B§I¡I×$@Ñ$@ÈÔ	Lñ GØ—‘Ó!×'Ñ'¨¯©Ó(9¸gÐ'ÓFˆ÷Gô �|‰|â'ÚVÚ*Ú*Ú*ñ	
ó€Hô —}‘}×0Ñ0°×1AÑ1AÓB€HÔä×Ñ˜& (Ô+à�n‰nÓ×$Ñ$ S§_¡_Ó%6¸M¸?Ð$ÓK€GÜ×Ñ˜' 8Õ,÷#Gð Gús   Ã	0F1Æ1F:Ú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        j                  d|i«      }t        j                  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«      }|�s5|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        j                  d|i«      }|j                  d«      }|rj                  d«      }nj                  d¬«      }t)        j*                  ||«       y )Nr   r'   r(   r!   rH   TrO   r]   rU  )rJ   rg   rz   )rJ   rz   rz   )Ú
fill_valuerŸ   rÅ  )Úappendr+   r,   rj   r   r>  Úsetr(  ÚintersectionÚisinrm  r�   r8  rd   r   Úintpr¯  rx  ÚmulrM   rT   rU   )rç   rr   r  r  r  r  r  rq   rJ   rg   Ú	on_kwargsrX   rY   Ú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ä�<‰<˜ ˜Ó&€DÜ�L‰L˜% ˜Ó(€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ˆÜ—<‘< ¨Ð 1Ó2ˆØ×'Ñ'¨Ó.ˆáØ×%Ñ% eÓ,‰à×'Ñ'¨TÐ'Ó2ˆä×Ñ˜& (Õ+r   c                  óh  — t        j                  dt         j                  gt        j                  «       ¬«      } t        j                  dg«      }t        j                  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        j                  dg«      }t        j                  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)Nr[  rR   rB  r   r
  rÇ   zYou are mergingr€   r   r!   )
r+   r,   rL  Ú
Int64DtyperT   r�  r‚  r   rU   rd   rÃ  s       r   Ú!test_merge_ea_int_and_float_numpyr-  x  s:  € ä
�,‰,˜œRŸU™U�|¬2¯=©=«?Ô
;€CÜ
�,‰,˜�uÓ
€CÜ�|‰| Q C¨wÔ7€Hä	×	#Ñ	#¤KÐ7HÔ	Iñ  Ø—‘˜3“ˆ÷ ä×Ñ˜& (Ô+ä	×	#Ñ	#¤KÐ7HÔ	Iñ  Ø—‘˜3“ˆ÷ ä×Ñ˜& (§/¡/°)Ó"<Ô=ä
�,‰,˜�uÓ
€CÜ�|‰|˜Q˜C¨!¨°GÔ<€HØ�Y‰Y�s‹^€FÜ×Ñ˜& (Ô+à�Y‰Y�s‹^€FÜ×Ñ˜& (§/¡/°)Ó"<Õ=÷ ñ  ú÷ ð  ús   ÂFÃF(ÆF%Æ(F1c                 ó˜  — t        j                  d«       t        j                  dddgi| ¬«      }t        j                  ddit        j                  ddg| ¬«      ¬«      }|j                  |ddd	¬
«      }t        j                  t        j                  ddg| ¬«      dt        j                  gdœ«      }t        j                  ||«       y )Nrê  r"   r#   rR   r!   rC   ro   TrJ   r{   r©   )rƒ   rë  r+   r,   r=  r   r¤   r   r¥   rT   rU   )r¡  rJ   rg   rX   rY   s        r   Útest_merge_arrow_string_indexr/  �  s¤   € ä
×Ñ˜	Ô"Ü�<‰<˜˜s C˜jÐ)Ð1AÔB€DÜ�L‰L˜#˜q˜¬¯©°3¸°*ÐDTÔ)UÔV€EØ�Z‰Z˜ s¸À&ˆZÓI€FÜ�|‰|Ü�i‰i˜˜c˜
Ð*:Ô;À1ÄbÇfÁfÀ+ÑNó€Hô ×Ñ˜& (Õ+r   rÁ  Úright_emptyc                 óÈ  — t        j                  ddgddg¬«      }t        j                  ddgg d¢¬«      }| r|j                  d d }|r|j                  d d }t        ||dgd¬«      }t        j                  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_  ri  rŸ   r¹   )r\  r]  r_  ri  r_  ri  )	r+   r,   r;  r   r   r   r¥   rT   rU   )rÁ  r0  r.   r/   rX   rY   s         r   Ú$test_merge_empty_frames_column_orderr2  ›  sÇ   € ô �,‰,�q  ¨c°3¨ZÔ
8€CÜ
�,‰,�q  ª_Ô
=€CáØ�h‰h�r˜ˆlˆÙØ�h‰h�r˜ˆlˆä�3˜  ¨7Ô3€FÜ�|‰|˜A¤U¨1£XÒ7KÔL€HÙ‘kØ—=‘=  !Ð$‰Ù	ÜŸ™ˆ�ŠÙ	Ü!Ÿv™vˆ�#�s�ÑÜ×Ñ˜& (Õ+r   rq   )rJ   rg   rz   rŸ   c                 ó¢  — t        j                  dt        j                  dd gd¬«      i«      }t        j                  dt        j                  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)NrH   r!   r  rR   ztimedelta64[ns]r’  r“  zG columns for key 'key'. If you wish to proceed you should use pd.concatr€   r¹   )
r+   r,   r¤   rN   rƒ   r„   r†   rE  rF  r   )rq   rJ   rg   r‡   s       r   Ú!test_merge_datetime_and_timedeltar4  ²  s7  € ä�<‰<˜¤§	¡	¨1¨d¨)Ð;KÔ LÐMÓN€DÜ�L‰L˜%¤§¡¨A¨3Ð6GÔ!HÐIÓJ€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   Â-D9ÄEÄ9EÅEc                  ó  — t        j                  g d¢t        j                  t        j                  t        j                  gg d¢dœ«      } t        j                  g d¢t        j                  t        j                  t        j                  gg d¢dœ«      }| j	                  |ddgd¬«      }t        j                  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ï   r6  r)  rÀ  s       r   Útest_merge_on_all_nan_columnr7  Æ  s®   € ä�<‰<ši¬r¯v©v´r·v±v¼r¿v¹vÐ.FÊYÑWÓX€DÜ�L‰LÚœrŸv™v¤r§v¡v¬r¯v©vÐ6ºiÑHó€Eð �Z‰Z˜ 3¨ *°'ˆZÓ:€Fä�|‰|ÚœrŸv™v¤r§v¡v¬r¯v©vÐ6ºYÊiÑXó€Hô ×Ñ˜& (Õ+r   )r_  r3  c                 óî   — t        j                  dgdgdœ«      }t        j                  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ß  r'   )r$   rà  Úcol2_dupzduplicate columnsr€   r$   r5  r  )r6  r.   r/   s      r   Ú test_merge_for_suffix_collisionsr:  Ô  sh   € ô �,‰,  ¨a¨SÑ1Ó
2€CÜ
�,‰,  ¨a¨S¸q¸cÑBÓ
C€CÜ	�‰”zÐ)<Ô	=ñ 6Üˆc�3˜6¨HÕ5÷6÷ 6ñ 6ús   ÁA+Á+A4c                  ó   — t        t        j                  g d¢d¬«      ¬«      } t        t        j                  g d¢d¬«      ¬«      }t        j                  dt        j
                  ddg| ¬«      i«      }t        j                  dt        j
                  dd	g|¬«      i«      }|j                  |dd
¬«      }|j                  d«      j                  |j                  d«      dd
¬«      }t        j                  ||«       y )Nrõ   rL   rR   rÁ  r   rH   r!   r   r'   rŸ   r¹   )
r
   r   r   r+   r,   r¤   r   rd   rT   rU   )ÚltÚrtrJ   rg   rX   rY   s         r   Ú$test_merge_categorical_key_recursionr>  Ý  sÄ   € ä	¤R§Z¡Z²	ÀÔ%IÔ	J€BÜ	¤R§Z¡Z²	ÀÔ%KÔ	L€BÜ�<‰<˜¤§	¡	¨1¨a¨&¸Ô ;Ð<Ó=€DÜ�L‰L˜%¤§¡¨A¨q¨6¸Ô!<Ð=Ó>€Eà�Z‰Z˜ %¨WˆZÓ5€FØ�{‰{˜7Ó#×)Ñ)Ø�‰�YÓ E¨wð *ó €Hô ×Ñ˜& (Õ+r   c                  óò  — t        j                  d«       t        j                  ddd¬«      } t        j                  | g d¢dœ«      }|j                  d¬«      }t        j                  | j                  d	«      g d
¢dœ«      }|j                  d¬«      }t        ||dd¬«      }t        j                  | j                  d	«      g d¢g d
¢dœ«      }|j                  d¬«      }t        j                  ||«       y )Nrê  z
2025-07-06r'   rØ   r¦  rõ   )ÚtimeÚval1)Údtype_backendr   )r>   r¾   é   r-  r4   rl  )r@  Úval2r@  rJ   r¹   )r!   r!   r   r   r'   r'   )r@  rA  rD  )
rƒ   rë  r+   rŒ  r,   Úconvert_dtypesr¯  r   rT   rU   )rV  r.   r/   rX   rY   s        r   Ú&test_merge_pyarrow_datetime_duplicatesrF  ë  sÐ   € ä
×Ñ˜	Ô"ä
�‰�l¨A°CÔ8€AÜ
�,‰, ª9Ñ5Ó
6€CØ
×
Ñ
¨9Ð
Ó
5€Cä
�,‰, §¡¨£Ò5MÑNÓ
O€CØ
×
Ñ
¨9Ð
Ó
5€Cä�3˜ ¨FÔ3€Fä�|‰|à—H‘H˜Q“KÚ&Ú,ñ	
ó€Hð ×&Ñ&°YÐ&Ó?€HÜ×Ñ˜& (Õ+r   c                  ó  — t        j                  dg d¢i«      } t        j                  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   r'   r(   T)rp   rs   rQ   )r+   r,   rƒ   r„   r…   r   r   r-   s     r   Ú#test_merge_right_on_and_right_indexrH    sk   € Ü
�,‰,˜šyÐ)Ó
*€CÜ
�,‰,˜šyÐ)Ó
*€Cä	�‰”r—y‘y×+Ñ+Ó	,ñ HØ�	‰	�#˜u¨uÀ$ˆ	ÔG÷H÷ Hñ Hús   Á A?Á?Bzstart, step)r   r   )r)   r'   c                 óz  — t        j                  ||dz  z   |||dz  z   ||dz  z   g| ¬«      }t        j                  |g d¢dœ«      j                  g d¢   j                  d¬	«      }t        j                  |||d
z  z   || ¬«      }t        j                  |t        j                  t        |«      t         j                  ¬«      dœ«      }|j                  |ddd¬«      }|j                  «       }|j                  d«      d   j                  |d   «      j                  «       |d<   t        j                  ||«       y )Nr'   r!   r>   rR   )r>   rT  r  rî  ©Úkri  )r   r   r'   r!   TrÅ  rœ   ©rK  r  rK  rJ   Fr*  r  )r   r»   r+   r,   r;  r>  rÊ   r   rL   r   ræ   rj   r8  Úto_numpyrT   rU   ©	rN   rO  ÚstepÚleft_krJ   Úright_krg   rX   rY   s	            r   Ú+test_merge_left_sort_false_range_like_rightrR    s  € ô �X‰XØ	�˜‘Ñ	˜5 %¨$°©(Ñ"2°E¸DÀ2¹IÑ4EÐFØô€Fô
 	�‰˜6Ò(8Ñ9Ó:ß	‰Šlñ	ç	‰˜$ˆÓ	ð 	ô
 �i‰i˜˜u t¨a¡xÑ/°¸UÔC€GÜ�L‰LØœBŸI™I¤c¨'£l¼"¿(¹(ÔCÑDó€Eð �Z‰Z˜ #¨6¸ˆZÓ>€Fà�y‰y‹{€HØ—O‘O CÓ(¨Ñ-×5Ñ5°d¸3±iÓ@×IÑIÓK€HˆS�Mä×Ñ˜& (Õ+r   c                 óˆ  — t        j                  |||dz  z   || ¬«      }t        j                  |t        j                  t	        |«      t         j
                  ¬«      dœ«      }t        j                  ||dz  z   |||dz  z   ||dz  z   g| ¬«      }t        j                  |g d¢dœ«      j                  g d	¢   j                  d
¬«      }|j                  |ddd¬«      }|j                  «       }|j                  d«      d   j                  |d   «      j                  «       |d<   |g d¢   }t        j                  ||«       y )Nrœ   rR   rJ  r   r>   r!   r™   rL  )r!   r'   r   r   TrÅ  rK  rg   Fr*  ri  ©rK  ri  r  )r   rÊ   r+   r,   r   rL   r»   r;  r>  r   ræ   rj   r8  rM  rT   rU   rN  s	            r   Ú+test_merge_right_sort_false_range_like_leftrU  $  s   € ô �Y‰Y�u˜e d¨Q¡hÑ.°¸EÔB€FÜ�<‰<Øœ2Ÿ9™9¤S¨£[¼¿¹ÔAÑBó€Dô �h‰hØ	�˜‘Ñ	˜5 %¨$°©)Ñ"3°U¸TÀA¹XÑ5EÐFØô€Gô
 	�‰˜7ªÑ6Ó7ß	‰Šlñ	ç	‰˜$ˆÓ	ð 
ð �Z‰Z˜ #¨7¸ˆZÓ?€Fà�z‰z‹|€HØ—N‘N 3Ó'¨Ñ,×4Ñ4°X¸c±]ÓC×LÑLÓN€HˆS�MØšÑ(€Hä×Ñ˜& (Õ+r   zrange_k, other_k)ì            l           ì           rR   )rW  rV  l           rú  rT  r>   c                 óÊ  — | dk(  r||}}n||}}t        j                  |t        j                  t	        |«      t        j
                  ¬«      dœ«      }t        j                  |t        j                  t	        |«      t        j
                  ¬«      dœ«      }|j                  |d| d¬«      }| dk(  rH|j                  «       }|j                  d«      d   j                  |d   «      j                  «       |d<   nU|j                  «       }|j                  d	d
|j                  d«      d
   j                  |d   «      j                  «       «       t        j                  ||«       y )NrJ   rR   rJ  rL  rK  Fr*  r  r!   ri  )r+   r,   r   rÊ   r   rL   r   ræ   rj   r8  rM  ÚinsertrT   rU   ©	rq   Úrange_kÚother_krP  rQ  rJ   rg   rX   rY   s	            r   Ú1test_merge_sort_false_range_like_extreme_int_keysr]  ?  s  € ð8 ˆf‚}Ø! 7�‰à! 7�ˆÜ�<‰<˜f¬2¯9©9´S¸³[ÌÏÉÔ+QÑRÓS€DÜ�L‰L˜w¬R¯Y©Y´s¸7³|Ì2Ï8É8Ô-TÑUÓV€Eà�Z‰Z˜ #¨3°UˆZÓ;€Fð ˆf‚}Ø—9‘9“;ˆØŸ™¨Ó,¨SÑ1×9Ñ9¸$¸s¹)ÓD×MÑMÓOˆ�Šà—:‘:“<ˆØ�‰˜˜3 §¡¨sÓ 3°CÑ 8× @Ñ @ÀÀsÁÓ L× UÑ UÓ WÔXä×Ñ˜& (Õ+r   c                 óÞ  — t        j                  g d¢t         j                  ¬«      }t        j                  g d¢t         j                  ¬«      }| dk(  r||}}n||}}t        j                  |t        j
                  t        |«      t         j                  ¬«      dœ«      }t        j                  |t        j
                  t        |«      t         j                  ¬«      dœ«      }|j                  |d| d¬	«      }| dk(  r-t        j                  |g d
¢dt         j                  dgdœ«      }n,t        j                  |dt         j                  dgg d
¢dœ«      }t        j                  ||«       y )N)lûÿÿÿ        rª  ì   ÿÿÿÿ rR   )r_  r)   rª  rJ   rJ  rL  rK  Fr*  r  r\  r[  rT  )r   r»   rL   r+   r,   rÊ   r   r   r¥   rT   rU   rZ  s	            r   Ú7test_merge_sort_false_range_like_span_exceeds_int64_maxr`  o  s  € ô �h‰hÒ4¼B¿H¹HÔE€GÜ�h‰hÒ)´·±Ô:€GØ
ˆf‚}Ø! 7�‰à! 7�ˆÜ�<‰<˜f¬2¯9©9´S¸³[ÌÏÉÔ+QÑRÓS€DÜ�L‰L˜w¬R¯Y©Y´s¸7³|Ì2Ï8É8Ô-TÑUÓV€Eà�Z‰Z˜ #¨3°UˆZÓ;€Fà
ˆf‚}Ü—<‘< g²IÀSÌ"Ï&É&ÐRUÐDVÑ WÓX‰ä—<‘< g°S¼"¿&¹&À#Ð4FÊYÑ WÓXˆÜ×Ñ˜& (Õ+r   )r�   r4   )fr   r   r   rE  Únumpyr   rƒ   Úpandas.compatr   Úpandas.errorsr   Úpandas.core.dtypes.commonr   r	   Úpandas.core.dtypes.dtypesr
   Úpandasr+   Úpandas._testingÚ_testingrT   Úpandas.core.reshape.concatr   Úpandas.core.reshape.merger   r   r   rH  r0   r2   rÚ   rX  rJ   rg   rÙ  rD  rI  rJ  rM  r=  r7  rš  r™  rX  r\  r^  rk  r¥   rt  ry  r}  ÚTWO_GOT_THREEÚtupler€  rŠ  rŒ  r�  rš  r   r¤  r¬  rµ  r¸  rº  rÁ  rÄ  rÈ  rÊ  rÎ  rÒ  r×  rÜ  rß  rá  rä  rç  rì  rø  rþ  r  r  r  r*  r-  r/  r2  r4  r7  r:  r>  rF  rH  rL   r]  rR  rU  r»   ÚiinfoÚminÚmaxr]  r`  )rS  s   0r   ú<module>rp     sÇ
  ð÷ñ ó
 
ã Û å Ý (÷õ 7ã Ý Ý -÷óð ‡�ñ	ó ð	÷o+ñ o+òd-	G÷KGñ KGð\ ‡�ñó ðð ‡�ñó ð÷t0ñ t0÷n	B0ñ B0ðJ ‡�×ÑØð ×,Ñ,öàð 	ˆ�‰’ $¨[Ö9òð
 	ˆ×ÑÚª¸kô	
ð 	ˆ�‰˜A A¨KÔ8Øˆ×ÑÒCÈ+ÔVðñ	
ñ 	3ð ó ñ,óð,ð ‡�×ÑØ3à
�7Ð	˜T 4¨°°sÐ;Ø+Ø	�˜Ð! 4¨°°cÐ:Ø	ˆt�g˜wÐ'¨¨u°cÐ:Ø
�7Ð	˜T 4¨°°tÐ<Ø,Ø	�˜Ð! 4¨°°dÐ;Ø	ˆt�g˜wÐ'¨¨u°dÐ;ð	óñ)óð)òX+ð, ‡�×ÑØ'à	
ˆ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,ò4,ò?òB,ð" ‡�×Ñ˜¨!¨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Ø‡�×ÑØ*àØðóñ,óó :ð,ò<&,òR<ò&
,ò!-ðH ‡�×Ñ˜ 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ð ‡�×Ñ˜ 2§8¡8¨R¯Y©YÐ"7Ó8Ø‡�×Ñ˜¨°Ð(8Ó9ñ,ó :ó 9ð,ð. ‡�×Ñ˜ 2§8¡8¨R¯Y©YÐ"7Ó8Ø‡�×Ñ˜¨°Ð(8Ó9ñ,ó :ó 9ð,ð2 ‡�×Ñ˜ ¨Ð 1Ó2Ø‡�×ÑØð ˆB�H‰HÒ2¸"¿)¹)ÔDØˆB�H‰HÒ2¸"¿)¹)ÔDð	
ð ˆB�H‰H’\¨¯©Ô2ØˆB�H‰H�b˜(˜"Ÿ(™( 2§8¡8Ó,×0Ñ0°"Ð5¸R¿X¹XÔFð	
ð ˆB�H‰H�h�b—h‘h˜rŸx™xÓ(×,Ñ,¨h¨b¯h©h°r·x±xÓ.@×.DÑ.DÐEÈRÏXÉXÔVØˆB�H‰HØ�—‘˜"Ÿ(™(Ó#×'Ñ'¨¨H¨B¯H©H°R·X±XÓ,>×,BÑ,BÐCÈ2Ï8É8ôð	
ðóñ,,ó-ó 3ð.,ð2 ‡�×Ñ˜ ¨Ð 1Ó2ñ,ó 3ñ,ùòw"s   Ãd
