Ë
    ¤eh(  ã                   óX   — d dl Zd dlZd dlZd dlmZmZmZmZm	Z	 d dl
mZ  G d„ d«      Zy)é    N)Ú	DataFrameÚ
RangeIndexÚSeriesÚconcatÚ
date_rangec                   óD  — e Zd Zd„ Zd„ Zej                  j                  dddg«      ej                  j                  dg g d¢g«      d„ «       «       Zej                  j                  d	e	j                  e	j                  e	j                  fe	j                  e	j                  e	j                  fd
e	j                  e	j                  fd
e	j                  e	j                  fde	j                  e	j                  fde	j                  e	j                  fddg«      d„ «       Zej                  j                  dg d¢«      d„ «       Zej                  j                  dg d¢«      ej                  j                  dg d¢«      d„ «       «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestEmptyConcatc                 ó$  — t        t        j                  j                  d«      j	                  d«      t        d«      ¬«      }|d d j                  «       }d|d<   |dd }||||dd  g}t        |d|¬	«      }|j                  g d
¢¬«      }|d   j                  |st        nd«      |d<   d|j                  dd…df<   t        j                  ||«       t        dt        d«      it        ddd¬«      ¬«      }t        «       }t        ||gd¬«      }	t        j                  |	|«       t        ||gd¬«      }	t        j                  |	|«       t        ||g«      }	t        j                  |	|«       t        ||g«      }	t        j                  |	|«       y )Né   )é
   é   Úabcd©Úcolumnsé   ÚbarÚfoor   )ÚaxisÚsort)ÚaÚbÚcÚdr   zstring[pyarrow_numpy]r   ÚAi'  Ú20130101Ús)ÚperiodsÚfreq©Úindexé   ©r   )r   ÚnpÚrandomÚdefault_rngÚstandard_normalÚlistÚcopyr   ÚreindexÚastypeÚobjectÚlocÚtmÚassert_frame_equalÚranger   )
Úselfr   Úusing_infer_stringÚdfÚdfcopyÚemptyÚframesÚ	concattedÚexpectedÚresults
             úd/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/reshape/concat/test_empty.pyÚtest_handle_empty_objectsz)TestEmptyConcat.test_handle_empty_objects   sz  € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=ÄtÈFÃ|ô
ˆð �B�Q�—‘“ˆØˆˆu‰Ø�1�Q�ˆà˜% ¨¨1¨2¨Ð/ˆÜ˜6¨°Ô5ˆ	à—:‘:Ò&A�:ÓBˆØ" 5™/×0Ñ0Ù,�FÐ2Ió
ˆ�‰ð $)ˆ�‰�Q�q�S˜%�ZÑ ä
×Ñ˜i¨Ô2ô Ø”%˜“,Ð¤z°*ÀeÐRUÔ'Vô
ˆô “ˆÜ˜˜U˜¨!Ô,ˆÜ
×Ñ˜f bÔ)Ü˜ ˜¨!Ô,ˆÜ
×Ñ˜f bÔ)ä˜˜U˜Ó$ˆÜ
×Ñ˜f bÔ)Ü˜ ˜Ó$ˆÜ
×Ñ˜f bÕ)ó    c                 ó.  — t        g d¢d¬«      }t        dd¬«      }t        ||gd¬«      }t        g d¢t        j                  t        j                  t        j                  gd	œt        d
«      ¬«      }t        j                  ||«       t        g d¢d¬«      }t        dd¬«      }d}t        j                  t        |¬«      5  t        ||gd¬«      }d d d «       t        g d¢«      }t        j                  ||«       t        g d¢d¬«      }t        d d¬«      }t        ||gd¬«      }t        g d¢t        j                  t        j                  t        j                  gdœddgt        d
«      ¬«      }t        j                  ||«       y # 1 sw Y   Œ¹xY w)N©r!   r   é   Úx)ÚnameÚyÚfloat64)r@   Údtyper!   r"   )r?   rA   r>   r   zDThe behavior of array concatenation with empty entries is deprecated)Úmatchr   )r?   r   )r   r    )r   r   r   r#   Únanr   r-   r.   Úassert_produces_warningÚFutureWarningÚassert_series_equal)r0   Ús1Ús2ÚresÚexpÚmsgs         r9   Útest_concat_empty_seriesz(TestEmptyConcat.test_concat_empty_series4   sE  € ä’I CÔ(ˆÜ˜ IÔ.ˆÜ�b˜"�X AÔ&ˆÜÚ¤2§6¡6¬2¯6©6´2·6±6Ð":Ñ;Ü˜Q“-ô
ˆô 	×Ñ˜c 3Ô'ä’I CÔ(ˆÜ˜ IÔ.ˆØTˆÜ×'Ñ'¬¸SÔAñ 	+Ü˜"˜b˜¨Ô*ˆC÷	+ô ’YÓˆÜ
×Ñ˜s CÔ(ô ’I CÔ(ˆÜ˜ YÔ/ˆÜ�b˜"�X AÔ&ˆÜÚ¤§¡¬¯©´·±Ð 8Ñ9Ø˜!�HÜ˜Q“-ô
ˆô
 	×Ñ˜c 3Õ'÷	+ð 	+ús   ÃFÆFÚtzNÚUTCÚvaluesr=   c                 óv  — t        g d¬«      j                  j                  |«      }|rd nt        j                  }t        ||¬«      }t        t        t        j                  gt        |«      z  d¬«      j                  j                  |«      |dœ«      }t        ||gd¬«      }t        j                  ||«       y )NúM8[ns]©rC   )r   r!   r!   r"   )r   ÚdtÚtz_localizer#   rB   r   ÚpdÚNaTÚlenr   r-   r.   )r0   rO   rQ   ÚfirstrC   Úsecondr7   r8   s           r9   Ú!test_concat_empty_series_timelikez1TestEmptyConcat.test_concat_empty_series_timelikeS   s™   € ô
 �r Ô*×-Ñ-×9Ñ9¸"Ó=ˆÙ‘¤B§J¡JˆÜ˜ eÔ,ˆääœ2Ÿ6™6˜(¤S¨£[Ñ0¸ÔA×DÑD×PÑPÐQSÓTØñó
ˆô ˜ ˜¨aÔ0ˆÜ
×Ñ˜f hÕ/r;   zleft,right,expectedúm8[ns]rS   )Úcategoryr^   r^   )r^   r+   r+   c                 óh   — t        t        |¬«      t        |¬«      g«      }|j                  |k(  sJ ‚y ©NrT   )r   r   rC   )r0   ÚleftÚrightr7   r8   s        r9   Útest_concat_empty_series_dtypesz/TestEmptyConcat.test_concat_empty_series_dtypese   s/   € ô$ œ dÔ+¬V¸%Ô-@ÐAÓBˆØ�|‰|˜xÒ'Ð'Ñ'r;   rC   )rB   Úint8Úuint8Úboolr]   rS   c                 óà   — t        j                  |«      }t        t        |¬«      g«      }|j                  |k(  sJ ‚t        t        |¬«      t        |¬«      g«      }|j                  |k(  sJ ‚y r`   )r#   rC   r   r   )r0   rC   r8   s      r9   Ú0test_concat_empty_series_dtypes_match_roundtripsz@TestEmptyConcat.test_concat_empty_series_dtypes_match_roundtripsz   s`   € ô —‘˜“ˆäœ eÔ,Ð-Ó.ˆØ�|‰|˜uÒ$Ð$Ð$äœ eÔ,¬f¸5Ô.AÐBÓCˆØ�|‰|˜uÒ$Ð$Ñ$r;   )rB   rd   re   r]   rS   Údtype2c                 ó2  ‡‡— ||k(  rt        j                  d«       d„ Šd„ Šˆˆfd„}t        j                  |«      }t        j                  |«      } |||«      }t	        t        |¬«      t        |¬«      g«      j                  }|j                  |k(  sJ ‚y )Nz%same dtype is not applicable for testc                 óð   — | j                   |j                   h}t        |h d£z
  «      s| j                   dk(  s|j                   dk(  ryt        |ddhz
  «      s| j                   dk(  s|j                   dk(  ryy )N>   r   ÚiÚurl   rm   r   ©ÚkindrY   ©rC   ri   Útypss      r9   Úint_result_typezSTestEmptyConcat.test_concat_empty_series_dtypes_roundtrips.<locals>.int_result_type�   si   € Ø—J‘J §¡Ð,ˆDÜ�tšoÑ-Ô.Ø—
‘
˜cÒ! V§[¡[°CÒ%7àÜ˜  c 
Ñ*Ô+Ø—
‘
˜cÒ! V§[¡[°CÒ%7àØr;   c                 ó’   — | j                   |j                   h}t        |h d£z
  «      s| j                   dk(  s|j                   dk(  ryy )N>   Úfrl   rm   rt   rn   rp   s      r9   Úfloat_result_typezUTestEmptyConcat.test_concat_empty_series_dtypes_roundtrips.<locals>.float_result_typeœ   s>   € Ø—J‘J §¡Ð,ˆDÜ�tšoÑ-Ô.Ø—
‘
˜cÒ! V§[¡[°CÒ%7àØr;   c                 ó:   •—  ‰| |«      }|�|S  ‰| |«      }|�|S y)NÚO© )rC   ri   r8   ru   rr   s      €€r9   Úget_result_typezSTestEmptyConcat.test_concat_empty_series_dtypes_roundtrips.<locals>.get_result_type¤   s4   ø€ Ù& u¨fÓ5ˆFØÐ!Ø�Ù$ U¨FÓ3ˆFØÐ!Ø�Ør;   rT   )ÚpytestÚskipr#   rC   r   r   ro   )r0   rC   ri   ry   r7   r8   ru   rr   s         @@r9   Ú*test_concat_empty_series_dtypes_roundtripsz:TestEmptyConcat.test_concat_empty_series_dtypes_roundtrips†   s‚   ù€ ð �FŠ?Ü�K‰KÐ?Ô@ò
	ò	õ	ô —‘˜“ˆÜ—‘˜&Ó!ˆÙ" 5¨&Ó1ˆÜœ eÔ,¬f¸6Ô.BÐCÓD×JÑJˆØ�{‰{˜hÒ&Ð&Ñ&r;   c                 óÎ   — t        t        d¬«      t        t        j                  ¬«      t        t        j                  ¬«      g«      j
                  t        j                  k(  sJ ‚y )NrS   rT   )r   r   r#   Úbool_Úint64rC   Úobject_©r0   s    r9   Ú&test_concat_empty_series_dtypes_triplez6TestEmptyConcat.test_concat_empty_series_dtypes_triple³   sF   € äÜ˜hÔ'¬´b·h±hÔ)?ÄÌbÏhÉhÔAWÐXóç‰eÜ�z‰zòð	
ñr;   c                 óŒ   — t        t        t        j                  g «      d¬«      t        d¬«      g«      j                  dk(  sJ ‚y )Nr^   rT   rB   )r   r   r#   ÚarrayrC   r�   s    r9   Ú2test_concat_empty_series_dtype_category_with_arrayzBTestEmptyConcat.test_concat_empty_series_dtype_category_with_array»   s?   € ô ÜœŸ™ ›¨JÔ7¼ÀiÔ9PÐQóç‰eØòð	
ñr;   c                 ó  — t        t        d¬«      j                  d«      t        d¬«      j                  d«      g«      }|j                  dk(  sJ ‚t        t        d¬«      j                  d«      t        d¬«      g«      }t	        j
                  t        j                  «      }|j                  |k(  sJ ‚t        t        d¬«      j                  d«      t        d¬«      g«      }t	        j
                  d«      }|j                  |k(  sJ ‚y )NrB   rT   ÚSparsezSparse[float64]r+   )r   r   r*   rC   rW   ÚSparseDtyper#   rB   )r0   r8   r7   s      r9   Ú&test_concat_empty_series_dtypes_sparsez6TestEmptyConcat.test_concat_empty_series_dtypes_sparseÄ   sâ   € Üä˜YÔ'×.Ñ.¨xÓ8Ü˜YÔ'×.Ñ.¨xÓ8ðó
ˆð �|‰|Ð0Ò0Ð0Ð0äÜ˜)Ô$×+Ñ+¨HÓ5´vÀIÔ7NÐOó
ˆô —>‘>¤"§*¡*Ó-ˆØ�|‰|˜xÒ'Ð'Ð'äÜ˜)Ô$×+Ñ+¨HÓ5´vÀHÔ7MÐNó
ˆô —>‘> (Ó+ˆØ�|‰|˜xÒ'Ð'Ñ'r;   c                 óæ   — t        g d¢t        j                  g d¢dœ«      }t        |j                  ¬«      }t	        ||gd¬«      }|j                  t        «      }t        j                  ||«       y )N)r   r!   r!   r=   )ÚRowÚEmptyColÚ	NumberColr   r   r"   )	r   r#   rE   r   r   r*   r+   r-   r.   )r0   Údf_1Údf_2r8   r7   s        r9   Ú!test_concat_empty_df_object_dtypez1TestEmptyConcat.test_concat_empty_df_object_dtypeÙ   sS   € ä¢¼¿¹ÊYÑWÓXˆÜ §¡Ô.ˆÜ˜˜t˜¨1Ô-ˆØ—;‘;œvÓ&ˆÜ
×Ñ˜f hÕ/r;   c                 ó  — t        t        d«      ¬«      }|d   j                  t        j                  «      |d<   |d   j                  t        j
                  «      |d<   |d   j                  t        j                  «      |d<   t        ||g«      }|d   j                  t        j                  k(  sJ ‚|d   j                  t        j
                  k(  sJ ‚|d   j                  t        j                  k(  sJ ‚t        ||j                  t        j                  «      g«      }|d   j                  t        j                  k(  sJ ‚|d   j                  t        j                  k(  sJ ‚|d   j                  t        j                  k(  sJ ‚y )NÚabcr   r   r   r   )
r   r'   r*   r#   r~   Úint32rB   r   rC   r€   )r0   r2   r8   s      r9   Ú"test_concat_empty_dataframe_dtypesz2TestEmptyConcat.test_concat_empty_dataframe_dtypesá   s0  € Üœt E›{Ô+ˆØ�S‘'—.‘.¤§¡Ó*ˆˆ3‰Ø�S‘'—.‘.¤§¡Ó*ˆˆ3‰Ø�S‘'—.‘.¤§¡Ó,ˆˆ3‰ä˜˜R˜Ó!ˆØ�c‰{× Ñ ¤B§H¡HÒ,Ð,Ð,Ø�c‰{× Ñ ¤B§H¡HÒ,Ð,Ð,Ø�c‰{× Ñ ¤B§J¡JÒ.Ð.Ð.ä˜˜RŸY™Y¤r§z¡zÓ2Ð3Ó4ˆØ�c‰{× Ñ ¤B§J¡JÒ.Ð.Ð.Ø�c‰{× Ñ ¤B§J¡JÒ.Ð.Ð.Ø�c‰{× Ñ ¤B§J¡JÒ.Ð.Ñ.r;   c                 ó
  — t        «       }t        dddgiddgd¬«      }t        dg it        d«      d¬«      }t        ||gdd¬«      }t        j                  ||«       t        ||gdd	¬«      }t        j                  ||«       y )
Nr   r!   r   r   r   )r    rC   Úinner)r   ÚjoinÚouter)r   r   r   r-   r.   )r0   Údf_emptyÚdf_aÚdf_expectedr8   s        r9   Útest_concat_inner_join_emptyz,TestEmptyConcat.test_concat_inner_join_emptyñ   s   € ä“;ˆÜ˜#  1˜v˜¨q°!¨f¸GÔDˆÜ  b 	´¸A³ÀgÔNˆä˜˜xÐ(¨q°wÔ?ˆÜ
×Ñ˜f kÔ2ä˜˜xÐ(¨q°wÔ?ˆÜ
×Ñ˜f dÕ+r;   c                 óÊ   — t        dd gdd ggddg¬«      }t        dd gdd ggddg¬«      }t        ||g«      }|j                  }t        j                  |j                  |«       y )Nr!   r   r   r   )Údatar   r>   r   )r   r   Údtypesr-   rH   )r0   Údf1Údf2r8   r7   s        r9   Útest_empty_dtype_coercez'TestEmptyConcat.test_empty_dtype_coerceý   si   € ô ˜q $˜i¨!¨T¨Ð3¸cÀ3¸ZÔHˆÜ˜q $˜i¨!¨T¨Ð3¸cÀ3¸ZÔHˆÜ˜˜c˜
Ó#ˆØ—:‘:ˆÜ
×Ñ˜vŸ}™}¨hÕ7r;   c                 ó8  — t        ddg¬«      }t        ddg¬«      }t        |||g«      }t        g d¢¬«      }t        j                  ||«       t        ddg¬«      }t        dg¬«      }t        ||g«      }t        ddg¬«      }t        j                  ||«       y )Nr   r   r   r   ©r   r   r   )r   r   r-   r.   )r0   r    r¡   r8   r7   Údf3Údf4s          r9   Útest_concat_empty_dataframez+TestEmptyConcat.test_concat_empty_dataframe
  sŽ   € ä  c 
Ô+ˆÜ  c 
Ô+ˆÜ˜˜c 3˜Ó(ˆÜ¢_Ô5ˆÜ
×Ñ˜f hÔ/ä  c 
Ô+ˆÜ  Ô&ˆÜ˜˜c˜
Ó#ˆÜ c¨3 ZÔ0ˆÜ
×Ñ˜f hÕ/r;   c                 óú   — t        g d¢g d¢dœ«      }t        dg d¢i«      }t        |d d |d d g«      }|d   j                  t        j                  k(  sJ ‚|s"|d   j                  t        j
                  k(  sJ ‚y y )Nr=   r¤   )r   r   r   r   r   )r   r   rC   r#   r   r€   )r0   r1   r    r¡   r8   s        r9   Ú,test_concat_empty_dataframe_different_dtypesz<TestEmptyConcat.test_concat_empty_dataframe_different_dtypes  sz   € äšiªoÑ>Ó?ˆÜ˜šiÐ(Ó)ˆä˜˜R˜a˜ # b q 'Ð*Ó+ˆØ�c‰{× Ñ ¤B§H¡HÒ,Ð,Ð,Ù6Hˆv�c‰{× Ñ ¤B§J¡JÒ.ÐVÐVÈhÐ.r;   c                 ó>  — t        dt        j                  g t        j                  «       ¬«      i«      }t        dt        j                  g d¢t        j                  «       ¬«      i«      }|j	                  «       }t        ||g«      }t        j                  ||«       y)z<48510 `concat` to an empty EA should maintain type EA dtype.r   rT   r=   N)r   rW   r„   Ú
Int64Dtyper(   r   r-   r.   )r0   r™   Údf_newr7   r8   s        r9   Útest_concat_to_empty_eaz'TestEmptyConcat.test_concat_to_empty_ea!  sl   € ä˜c¤2§8¡8¨B´b·m±m³oÔ#FÐGÓHˆÜ˜C¤§¡ª)¼2¿=¹=»?Ô!KÐLÓMˆØ—;‘;“=ˆÜ˜ 6Ð*Ó+ˆÜ
×Ñ˜f hÕ/r;   )Ú__name__Ú
__module__Ú__qualname__r:   rN   rz   ÚmarkÚparametrizer\   r#   r~   r“   r€   Úfloat32r   rc   rh   r|   r‚   r…   r‰   r�   r”   rœ   r¢   r§   r©   r­   rx   r;   r9   r	   r	      s›  „ ò"*òH(ð> ‡[�[×Ñ˜T D¨% =Ó1Ø‡[�[×Ñ˜X¨ªI Ó7ñ0ó 8ó 2ð0ð  ‡[�[×ÑØð �X‰X�r—x‘x §¡Ð,Ø�X‰X�r—z‘z 2§:¡:Ð.à�r—x‘x §¡Ð,Ø�r—x‘x §¡Ð,Ø�r—x‘x §¡Ð,Ø�r—x‘x §¡Ð,à0Ø,ð	
óñ (ó!ð (ð
 ‡[�[×ÑØÒIóñ%óð%ð ‡[�[×Ñ˜WÒ&VÓWØ‡[�[×ÑØÚ8óñ&'ó	ó Xð
&'òP
ò
ò(ò*0ò/ò 
,ò8ò0òWó0r;   r	   )Únumpyr#   rz   ÚpandasrW   r   r   r   r   r   Úpandas._testingÚ_testingr-   r	   rx   r;   r9   ú<module>r¸      s)   ðÛ Û ã ÷õ õ ÷X0ò X0r;   