Ë
    AúYjd%  ã                   ól   — d dl m Z  d dlZd dlmZ d dlmZ d dlZd dlm	Z	m
Z
mZ d dlmZ  G d„ d«      Zy)é    )ÚdatetimeN)ÚPandas4Warning)ÚCategoricalDtype)ÚCategoricalÚ	DataFrameÚSeriesc                   óT   — e 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y)ÚTestCategoricalConcatc                 óÈ  — t        t        j                  dd¬«      j                  dd«      g d¢¬«      }t        t        j                  dd¬«      j                  d	d
«      ddg¬«      }g d¢}t	        t        |«      «      |d<   t        j                  ||fdd|¬«      }t        g d¢ddd	dddt        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  gg d¢d gdz  |z   dœ«      }|d   j                  |d   j                  «      |d<   t        j                  ||«       y )Né   Úint64©Údtypeé   é   ©ÚaÚbÚc)Úcolumnsé   é   é   r   r   )Úoner   Útwor   r   r   r   Úhr   T)ÚaxisÚignore_indexÚsort)r   r   r   é	   é   é   r   r   é   r   é   é
   r!   é   r#   r%   é   é   )r   é   r$   é   r   é   r&   r   r)   r   r    r*   r'   )r   r   r   r   )r   ÚnpÚarangeÚreshaper   r   ÚpdÚconcatÚnanÚastyper   ÚtmÚassert_frame_equal)Úselfr   Údf1Údf2Ú
cat_valuesÚresÚexps          úw/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/pandas/tests/reshape/concat/test_categorical.pyÚtest_categorical_concatz-TestCategoricalConcat.test_categorical_concat   s"  € äÜ�I‰I�b Ô(×0Ñ0°°AÓ6Âô
ˆô œŸ	™	 "¨GÔ4×<Ñ<¸QÀÓBÈSÐRUÈJÔWˆâFˆ
Üœ+ jÓ1Ó2ˆˆC‰ä�i‰i˜˜c˜
¨¸ÀDÔIˆÜâ@àØØØØØÜ—F‘FÜ—F‘FÜ—F‘FÜ—F‘FÜ—F‘FÜ—F‘FÜ—F‘Fðò BØ�V˜a‘Z *Ñ,ñ%ó
ˆð, �s‘8—?‘? 3 s¡8§>¡>Ó2ˆˆC‰Ü
×Ñ˜c 3Õ'ó    c                 óê  — g d¢}t        g d¢«      }t        g d¢«      }t        g d¢«      }t        j                  t        |«      ||gd|¬«      }|j                  |st
        ndk(  }t        g d¢|¬«      }t        j                  ||«       |j                  d	k(  }t        g d
¢|¬«      }t        j                  ||«       |j                  dk(  }t        g d¢|¬«      }t        j                  ||«       y )N)ÚcatÚobjÚnumr   ©r&   r   r   r&   )r   ÚkeysÚstr)FTF©Úindexr   )FFTÚcategory)TFF)r   r   r/   r0   ÚdtypesÚobjectr3   Úassert_series_equal)	r5   Úusing_infer_stringrF   r?   r@   rA   ÚdfÚresultÚexpecteds	            r;   Útest_categorical_concat_dtypesz4TestCategoricalConcat.test_categorical_concat_dtypes8   sÈ   € â%ˆÜš/Ó*ˆÜ’_Ó%ˆÜ’YÓˆÜ�Y‰Yœ˜s› S¨#Ð.°Q¸UÔCˆà—‘Ñ-?�vÀUÑKˆÜÒ.°eÔ<ˆÜ
×Ñ˜v xÔ0à—‘˜gÑ%ˆÜÒ.°eÔ<ˆÜ
×Ñ˜v xÔ0à—‘˜jÑ(ˆÜÒ.°eÔ<ˆÜ
×Ñ˜v xÕ0r=   c                 ó^  — g d¢}t        dt        j                  ddg|¬«      ¬«      }t        dt        j                  ddg|¬«      ¬«      }t        dt        j                  ddg|¬«      ¬«      }t        j                  |||gd¬	«      }t        j                  g d
¢|¬«      }t	        ddt
        j                  t
        j                  gt
        j                  ddt
        j                  gt
        j                  t
        j                  ddgdœg d¢|¬«      }t        j                  ||«       y )N)r    r   r&   r   r   r&   r    r   ©Ú
categoriesrE   r   r   ©r   )r    r   r&   r   ©r   r&   r   )r   rF   )	r   r/   ÚCategoricalIndexr0   r   r,   r1   r3   r4   )r5   rR   r   r   r   rM   Úexp_idxr:   s           r;   Útest_concat_categoricalindexz2TestCategoricalConcat.test_concat_categoricalindexL   së   € â$ˆ
ä�1œB×/Ñ/°°A°À:ÔNÔOˆÜ�1œB×/Ñ/°°A°À:ÔNÔOˆÜ�1œB×/Ñ/°°A°À:ÔNÔOˆä—‘˜A˜q !˜9¨1Ô-ˆä×%Ñ%¢l¸zÔJˆÜà�qœ"Ÿ&™&¤"§&¡&Ð)Ü—F‘F˜A˜q¤"§&¡&Ð)Ü—F‘FœBŸF™F A qÐ)ñò
 Øô
ˆô 	×Ñ˜f cÕ*r=   c           
      óÊ  — t        t        d«      d¬«      }t        t        d«      d¬«      }t        t        d«      «      }t        j                  ||gd¬«      }t	        j
                  ||«       t        t        d«      d¬«      }t        j                  ||gd¬«      }t	        j
                  ||«       t        t        d«      g d	¢d¬
«      }t        j                  ||g«      }t	        j
                  ||«       t        t        j                  dd¬«      «      }t        t        d«      «      }t        ||j                  t        t        d«      «      «      dœ«      }t        j                  ||g«      }t        t        j                  ||g«      t        j                  ||g«      j                  t        t        d«      «      «      dœ«      }t	        j                  ||«       y )NÚabcrG   r   ÚabdÚabcabdT©r   Úabcabc©r   r&   r   r   r&   r   ©rF   r   r   r   ÚaabbcaÚcab©ÚAÚB)r   Úlistr/   r0   r3   rJ   r,   r-   r   r2   r   r4   )r5   ÚsÚs2r:   r9   r   r   r7   s           r;   Ú test_categorical_concat_preservez6TestCategoricalConcat.test_categorical_concat_preserveb   sl  € ô ”4˜“; jÔ1ˆÜ”D˜“K zÔ2ˆä”T˜(“^Ó$ˆÜ�i‰i˜˜B˜¨dÔ3ˆÜ
×Ñ˜s CÔ(ä”T˜(“^¨:Ô6ˆÜ�i‰i˜˜A˜¨TÔ2ˆÜ
×Ñ˜s CÔ(ä”T˜(“^Ò+=ÀZÔPˆÜ�i‰i˜˜A˜ÓˆÜ
×Ñ˜s CÔ(ä”2—9‘9˜Q gÔ.Ó/ˆÜ”4˜“>Ó"ˆä˜a a§h¡hÔ/?ÄÀUÃÓ/LÓ&MÑNÓOˆÜ�i‰i˜˜c˜
Ó#ˆÜä—Y‘Y  1˜vÓ&Ü—Y‘Y  1˜vÓ&×-Ñ-Ô.>¼tÀE»{Ó.KÓLñó
ˆô 	×Ñ˜c 3Õ'r=   c           
      ó  — t        t        j                  dd¬«      «      }t        t        d«      «      }t	        ||j                  t        t        d«      «      «      dœ«      j                  d«      }t        j                  ||g«      }t	        t        j                  ||g«      t        j                  ||g«      j                  t        t        d«      «      «      dœ«      j                  d«      }t        j                  ||«       d}t        j                  t        |¬	«      5  t	        |t        |t        d
«      ¬«      dœ«      j                  d«      }d d d «       t        j                  |g«      }t        j                  |j                  |j                   j                  t"        «      d¬«      |j                  |j                   j                  t"        «      d¬«      g«      }t        j                  ||«       y # 1 sw Y   ŒªxY w)Nr   r   r   r`   ra   rb   rd   z=Constructing a Categorical with a dtype and values containing)ÚmatchÚaberQ   r   rS   )r   r,   r-   re   r   r2   r   Ú	set_indexr/   r0   r3   r4   Úassert_produces_warningr   r   Úset_axisrF   rI   )r5   r   r   r7   rM   rN   ÚmsgÚdf3s           r;   Ú test_categorical_index_preserverz6TestCategoricalConcat.test_categorical_index_preserver�   s›  € Ü”2—9‘9˜Q gÔ.Ó/ˆÜ”4˜“>Ó"ˆäØ˜!Ÿ(™(Ô#3´D¸³KÓ#@ÓAÑBó
ç
‰)�C‹.ð 	ô —‘˜C ˜:Ó&ˆÜä—Y‘Y  1˜vÓ&Ü—Y‘Y  1˜vÓ&×-Ñ-Ô.>¼tÀE»{Ó.KÓLñó
÷
 ‰)�C‹.ð 	ô 	×Ñ˜f hÔ/ð NˆÜ×'Ñ'¬¸cÔBñ 	ÜØœk¨!¼¸U»ÔDÑEóç‰i˜‹nð ÷	ô —‘˜C ˜:Ó&ˆÜ—9‘9à—‘˜SŸY™Y×-Ñ-¬fÓ5¸A�Ó>Ø—‘˜SŸY™Y×-Ñ-¬fÓ5¸A�Ó>ðó
ˆô 	×Ñ˜f hÕ/÷	ð 	ús   Ä%2H È H	c                 ó4  — t        t        j                  ddd¬«      «      }t        ddgd¬«      }t        j                  ||gd	¬
«      }t        t        j                  dd¬«      t        j                  dd¬«      ddg«      }t        j                  ||«       y )Nz
2017-01-01r   z
US/Pacific)ÚperiodsÚtzr   r   rG   r   Tr\   )rt   z
2017-01-02)r   r/   Ú
date_ranger0   Ú	Timestampr3   rJ   )r5   r   r   rM   rN   s        r;   Útest_concat_categorical_tzz0TestCategoricalConcat.test_concat_categorical_tz    s€   € ä”2—=‘= °q¸\ÔJÓKˆÜ�C˜�: ZÔ0ˆÜ—‘˜A˜q˜6°Ô5ˆÜä—‘˜\¨lÔ;Ü—‘˜\¨lÔ;ØØð	ó
ˆô 	×Ñ˜v xÕ0r=   c                 óN  — t        dt        t        ddd«      dgd¬«      i«      }t        dt        t        ddd«      dgd¬«      i«      }t        j                  ||g«      }t        dt        t        ddd«      t        ddd«      g«      i«      }t        j                  ||«       y )NÚxiå  r&   r   rG   r_   r   )r   r   r   r/   r0   r3   Úassert_equal)r5   r6   r7   rM   rN   s        r;   Ú test_concat_categorical_datetimez6TestCategoricalConcat.test_concat_categorical_datetime¯   s¢   € äØ”&œ $¨¨1Ó-°a°SÀ
ÔKÐLó
ˆô Ø”&œ $¨¨1Ó-°a°SÀ
ÔKÐLó
ˆô —‘˜C ˜:Ó&ˆÜØ”&œ( 4¨¨AÓ.´¸¸qÀ!Ó0DÐEÓFÐGó
ˆô 	�‰˜ Õ)r=   c           	      óH  — t        t        g d¢dd¬«      «      }t        g d¢g d¢d¬«      }t        j                  ||gd	¬
«      }t        t        dddt        j
                  gd¬«      t        dd	t        j
                  dgd¬«      dœ«      }t        j                  ||«       y )Nr   rG   rc   )r   ÚnamerT   )r   r&   r   rd   )rF   r}   r&   rS   r   r   r   r   r   r   Úfloatrb   )r   r   r/   r0   r,   r1   r3   rz   )r5   rL   ÚserrM   rN   s        r;   Ú!test_concat_categorical_unchangedz7TestCategoricalConcat.test_concat_categorical_unchanged¿   s†   € ô ”všo°ZÀcÔJÓKˆÜ’Y¢i°cÔ:ˆÜ—‘˜B ˜9¨1Ô-ˆÜä˜S # s¬B¯F©FÐ3¸:ÔFÜ˜Q ¤2§6¡6¨1Ð-°WÔ=ñó
ˆô 	�‰˜ Õ)r=   c                 ór  — t        g d¢t        d«      dœ«      }t        |d   «      |d<   |d   j                  j	                  g d¢«       |dd }|dd  }t        j                  |d   j                  j                  |d   j                  j                  «       t        j                  |d   j                  j                  |d   j                  j                  «       t        j                  ||g«      }t        j                  |d   j                  j                  |d   j                  j                  «       y )	N)r&   r   r   r#   r)   r   Úabbaae)ÚidÚ	raw_grader„   Úgrade)Úer   r   r   r   )
r   re   r   r?   Úset_categoriesr3   Úassert_index_equalrR   r/   r0   )r5   rL   r6   r7   Údfxs        r;   Útest_categorical_concat_gh7864z4TestCategoricalConcat.test_categorical_concat_gh7864Î   sò   € ô Ò0¼tÀH»~ÑNÓOˆÜ! " [¡/Ó2ˆˆ7‰Ø
ˆ7‰�‰×&Ñ&¢Ô7à��1ˆgˆØ��ˆfˆä
×Ñ˜b ™kŸo™o×8Ñ8¸#¸g¹,×:JÑ:J×:UÑ:UÔVÜ
×Ñ˜b ™kŸo™o×8Ñ8¸#¸g¹,×:JÑ:J×:UÑ:UÔVä�i‰i˜˜c˜
Ó#ˆÜ
×Ñ˜b ™kŸo™o×8Ñ8¸#¸g¹,×:JÑ:J×:UÑ:UÕVr=   c                 óØ  — t        dddgit        ddg«      ¬«      }t        dddgit        ddg«      ¬«      }t        j                  ||g«      }t        dg d	¢ig d
¢¬«      }t	        j
                  ||«       t        ddgt        ddg«      ¬«      }t        ddgt        ddg«      ¬«      }t        j                  ||g«      }t        g d	¢g d
¢¬«      }t	        j
                  ||«       y )NÚfoor&   r   ÚbarrE   r#   r   Úbaz)r&   r   r#   r   )rŒ   r�   rŽ   r�   )r   r   r/   r0   r3   rz   r   )r5   r   r   r9   r:   s        r;   Útest_categorical_index_upcastz3TestCategoricalConcat.test_categorical_index_upcastÞ   sÏ   € ô
 �u˜q !˜f�o¬[¸%À¸Ó-HÔIˆÜ�u˜q !˜f�o¬[¸%À¸Ó-HÔIˆä�i‰i˜˜A˜ÓˆÜ˜¢Ð-Ò5QÔRˆä
�‰˜˜SÔ!ä�A�q�6¤¨e°U¨^Ó!<Ô=ˆÜ�A�q�6¤¨e°U¨^Ó!<Ô=ˆä�i‰i˜˜A˜ÓˆÜ’\Ò)EÔFˆä
�‰˜˜SÕ!r=   c                 óB  — t        dg d¢i«      }t        g d¢t        g d¢«      j                  d«      dœ«      }t        j                  ||gd¬«      }t        d	g«      }t        g d
¢t        j                  g d¢|¬«      dœg d¢¬«      }t        j                  ||«       y )NÚf1rB   )r   r   r&   )r#   r#   r#   rG   )r‘   Úf2T)r   r#   )r&   r   r   r   r   r&   )éÿÿÿÿr“   r“   r   r   r   r   r^   rE   )
r   r   r2   r/   r0   r   r   Ú
from_codesr3   r4   )r5   r6   r7   rM   r   rN   s         r;   Ú'test_categorical_missing_from_one_framez=TestCategoricalConcat.test_categorical_missing_from_one_frameó   sŠ   € ä˜šyÐ)Ó*ˆÜšy´²yÓ0A×0HÑ0HÈÓ0TÑUÓVˆÜ—‘˜C ˜:¨DÔ1ˆÜ  ! Ó%ˆÜâ(Ü!×,Ñ,Ò-BÈ%ÔPñò %ô
ˆô 	×Ñ˜f hÕ/r=   c                 ól  — t        j                  ddgddgd¬«      }t        j                  ddgddgd¬«      }t        j                  g d¢ddgd¬«      }t        dddgi|¬	«      }t        dd
dgi|¬	«      }t        j                  ||f«      }t        dg d¢i|¬	«      }t	        j
                  ||«       y )Nr   r   F)rR   Úordered)r   r   r   r   rc   r&   r   rE   r   r#   )r&   r   r   r#   )r/   rU   r   r0   r3   r4   )r5   Úc1Úc2Úc3r6   r7   rM   rN   s           r;   Ú7test_concat_categorical_same_categories_different_orderzMTestCategoricalConcat.test_concat_categorical_same_categories_different_order  s´   € ô × Ñ  # s ¸¸c¸
ÈEÔRˆÜ× Ñ  # s ¸¸c¸
ÈEÔRˆÜ× Ñ Ú ¨c°3¨ZÀô
ˆô ˜˜q !˜f˜¨RÔ0ˆÜ˜˜q !˜f˜¨RÔ0ˆä—‘˜C ˜:Ó&ˆÜ˜c¢<Ð0¸Ô;ˆÜ
×Ñ˜f hÕ/r=   N)Ú__name__Ú
__module__Ú__qualname__r<   rO   rW   rh   rq   rw   r{   r€   rŠ   r�   r•   r›   © r=   r;   r
   r
      s@   „ ò#(òJ1ò(+ò,(ò>0ò>1ò*ò *òWò "ò*0ó0r=   r
   )r   Únumpyr,   Úpandas.errorsr   Úpandas.core.dtypes.dtypesr   Úpandasr/   r   r   r   Úpandas._testingÚ_testingr3   r
   rŸ   r=   r;   ú<module>r¦      s/   ðÝ ã å (å 6ã ÷ñ õ
 ÷~0ò ~0r=   