+
    xȇid%                     n    ^ RI H t  ^ RIt^ RIHt ^ RIHt ^ RIt^ RIH	t	H
t
Ht ^ RIHt  ! R R4      tR# )    )datetimeN)Pandas4Warning)CategoricalDtype)Categorical	DataFrameSeriesc                   h   a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tRtV tR# )TestCategoricalConcatc                   \        \        P                  ! ^RR7      P                  ^^4      . ROR7      p\        \        P                  ! ^RR7      P                  ^^4      RR.R7      p. ROp\	        \        V4      4      VR&   \        P                  ! W#3^ RVR	7      p\        R. ROR^^^^
^^\        P                  \        P                  \        P                  \        P                  \        P                  \        P                  \        P                  .R. RORR
.^,          V,           /4      pVR,          P                  VR,          P                  4      VR&   \        P                  ! WV4       R
# )   int64dtypeabc)columnshT)axisignore_indexsortNr   r   r   )oner   twor   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   &&     |/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/reshape/concat/test_categorical.pytest_categorical_concat-TestCategoricalConcat.test_categorical_concat   s(   IIb(00A6
 		"G4<<QBSRUJWF
+j12Cii
DI@FFFFFFFFFFFFFF AdVaZ*,%
, s8??3s8>>2C
c'    c                   . ROp\        . RO4      p\        . RO4      p\        . R	O4      p\        P                  ! \        V4      WE.^VR7      pVP                  V'       g   \
        MR8H  p\        . R
OVR7      p\        P                  ! Wx4       VP                  R8H  p\        . ROVR7      p\        P                  ! Wx4       VP                  R8H  p\        . ROVR7      p\        P                  ! Wx4       R# )cat)r   keysstrindexr   categoryN)r?   objnumr   r(   r    r   )FTF)FFT)TFF)r   r   r.   r/   dtypesobjectr2   assert_series_equal)	r4   using_infer_stringrC   r?   rE   rF   dfresultexpecteds	   &&       r:   test_categorical_concat_dtypes4TestCategoricalConcat.test_categorical_concat_dtypes8   s    %/*_%YYYsS.QUC-?vUK.e<
v0g%.e<
v0j(.e<
v0r=   c                l   . ROp\        ^\        P                  ! ^	^ .VR7      R7      p\        ^\        P                  ! ^ ^.VR7      R7      p\        ^\        P                  ! ^^.VR7      R7      p\        P                  ! W#V.^R7      p\        P                  ! . ROVR7      p\	        ^ ^^\
        P                  \
        P                  .^\
        P                  ^^\
        P                  .^\
        P                  \
        P                  ^^./. ROVR7      p\        P                  ! WW4       R# )	r   
categoriesrB   r   )r   rC   N)r   r   r(   r    r   )r   r   r(   r    r   r(   r    )	r   r.   CategoricalIndexr/   r   r+   r0   r2   r3   )r4   rS   r   r   r   rM   exp_idxr9   s   &       r:   test_concat_categoricalindex2TestCategoricalConcat.test_concat_categoricalindexL   s    $
1B//A:NO1B//A:NO1B//A:NOA!91-%%lzJAq"&&"&&)BFFAq"&&)BFFBFFAq)
 
 	f*r=   c                   \        \        R 4      RR7      p\        \        R4      RR7      p\        \        R4      4      p\        P                  ! W.RR7      p\        P
                  ! WC4       \        \        R4      RR7      p\        P                  ! W.RR7      p\        P
                  ! WC4       \        \        R4      . RORR7      p\        P                  ! W.4      p\        P
                  ! WC4       \        \        P                  ! ^R	R7      4      p\        \        R
4      4      p\        RVRVP                  \        \        R4      4      4      /4      p\        P                  ! Ww.4      p\        R\        P                  ! WU.4      R\        P                  ! Wf.4      P                  \        \        R4      4      4      /4      p\        P                  ! WC4       R# )abcrD   r   abdabcabdTr   abcabcrC   r   r   aabbcaABcabNr   r(   r    r   r(   r    )r   listr.   r/   r2   rJ   r+   r,   r   r1   r   r3   )r4   ss2r9   r8   r   r   r6   s   &       r:    test_categorical_concat_preserve6TestCategoricalConcat.test_categorical_concat_preserveb   s`    4;j1DKz2T(^$iid3
s(T(^:6iiT2
s(T(^+=ZPii
s(299Qg./4>"aahh/?U/L&MNOii
#RYYv&RYYv&--.>tE{.KL
 	c'r=   c                F   \        \        P                  ! ^RR7      4      p\        \        R4      4      p\	        RVRVP                  \        \        R4      4      4      /4      P                  R4      p\        P                  ! W3.4      p\	        R\        P                  ! W.4      R\        P                  ! W".4      P                  \        \        R4      4      4      /4      P                  R4      p\        P                  ! WE4       Rp\        P                  ! \        VR7      ;_uu_ 4        \	        RVR\        V\        R	4      R
7      /4      P                  R4      pRRR4       \        P                  ! VX.4      p\        P                  ! VP                  VP                   P                  \"        4      ^ R7      VP                  VP                   P                  \"        4      ^ R7      .4      p\        P                  ! WE4       R#   + '       g   i     L; i)r   r   r   ra   rb   rc   rd   z=Constructing a Categorical with a dtype and values containing)matchaberR   NrT   )r   r+   r,   rf   r   r1   r   	set_indexr.   r/   r2   r3   assert_produces_warningr   r   set_axisrC   rI   )r4   r   r   r6   rM   rN   msgdf3s   &       r:    test_categorical_index_preserver6TestCategoricalConcat.test_categorical_index_preserver   s   299Qg./4>"!S!((#3DK#@AB

)C. 	 C:&RYYv&RYYv&--.>tE{.KL

 )C. 	 	f/ N''cBBak!UDEin  C C:&99SYY--f5A>SYY--f5A>
 	f/ CBs   13HH 	c                <   \        \        P                  ! R ^RR7      4      p\        RR.RR7      p\        P                  ! W.RR7      p\        \        P                  ! R RR	7      \        P                  ! R
RR	7      RR.4      p\
        P                  ! W44       R# )z
2017-01-01z
US/Pacific)periodstzr   r   rD   r   Tr^   )rw   z
2017-01-02N)r   r.   
date_ranger/   	Timestampr2   rJ   )r4   r   r   rM   rN   s   &    r:   test_concat_categorical_tz0TestCategoricalConcat.test_concat_categorical_tz   s|    2==q\JKC:Z0A65\l;\l;	
 	v0r=   c                P   \        R \        \        R^^4      ^ .RR7      /4      p\        R \        \        R^^4      ^.RR7      /4      p\        P                  ! W.4      p\        R \        \        R^^4      \        R^^4      .4      /4      p\
        P                  ! W44       R# )xi  rD   r`   N)r   r   r   r.   r/   r2   assert_equal)r4   r5   r6   rM   rN   s   &    r:    test_concat_categorical_datetime6TestCategoricalConcat.test_concat_categorical_datetime   s    &$1-aS
KL
 &$1-aS
KL
 C:&&(4A.q!0DEFG
 	)r=   c                L   \        \        . RORRR7      4      p\        . RO. RORR7      p\        P                  ! W.^R7      p\        R\        R RR\        P
                  .RR	7      R\        ^ ^\        P
                  ^.R
R	7      /4      p\        P                  ! W44       R# )r   r   r   rD   rb   )r   namerc   )rC   r   rT   r   floatNr   rU   )r   r(   r   )r   r   r.   r/   r+   r0   r2   r~   )r4   rL   serrM   rN   s   &    r:   !test_concat_categorical_unchanged7TestCategoricalConcat.test_concat_categorical_unchanged   s     voZcJKYic:B91-VS#sBFF3:FVQ2661-W=
 	)r=   c                   \        R . ROR\        R4      /4      p\        VR,          4      VR&   VR,          P                  P	                  . RO4       VR,          pVR,          p\
        P                  ! VR,          P                  P                  VR,          P                  P                  4       \
        P                  ! VR,          P                  P                  VR,          P                  P                  4       \        P                  ! W#.4      p\
        P                  ! VR,          P                  P                  VR,          P                  P                  4       R# )	id	raw_gradeabbaaegrade:r   r   N:r   NNN)r(   r    r   r!   r$   r   )er   r   )
r   rf   r   r?   set_categoriesr2   assert_index_equalrS   r.   r/   )r4   rL   r5   r6   dfxs   &    r:   test_categorical_concat_gh78644TestCategoricalConcat.test_categorical_concat_gh7864   s     0+tH~NO!"[/27
7&&7gf
bkoo88#g,:J:J:U:UV
bkoo88#g,:J:J:U:UVii
#
bkoo88#g,:J:J:U:UVr=   c                   \        R ^^./\        R R.4      R7      p\        R ^^./\        RR.4      R7      p\        P                  ! W.4      p\        R . RO/. ROR7      p\        P
                  ! W44       \        ^^.\        R R.4      R7      p\        ^^.\        RR.4      R7      p\        P                  ! W.4      p\        . RO. ROR7      p\        P
                  ! W44       R# )foobarrB   bazN)r(   r    r!   r   )r   r   r   r   )r   r   r.   r/   r2   r~   r   )r4   r   r   r8   r9   s   &    r:   test_categorical_index_upcast3TestCategoricalConcat.test_categorical_index_upcast   s    
 uq!fo[%-HIuq!fo[%-HIii-5QR
!Aq6eU^!<=Aq6eU^!<=ii\)EF
!r=   c           
     J   \        R . RO/4      p\        R . R	OR\        . R
O4      P                  R4      /4      p\        P                  ! W.RR7      p\        ^.4      p\        R . ROR\        P                  ! . ROVR7      /. ROR7      p\        P                  ! W54       R# )f1f2rD   T)r   r   rB   NrG   )r    r   r(   )r!   r!   r!   )r(   r    r   r    r   r(   )r   r   r   r   r   re   )
r   r   r1   r.   r/   r   r   
from_codesr2   r3   )r4   r5   r6   rM   r   rN   s   &     r:   'test_categorical_missing_from_one_frame=TestCategoricalConcat.test_categorical_missing_from_one_frame   s    y)*y$y0A0H0H0TUVC:D1 !%(k,,-B%P %
 	f/r=   c                t   \         P                  ! R R .R R.RR7      p\         P                  ! RR.RR .RR7      p\         P                  ! . ROR R.RR7      p\        R^^./VR7      p\        R^^./VR7      p\         P                  ! WE34      p\        R. RO/VR7      p\        P
                  ! Wg4       R# )	r   r   F)rS   orderedrb   rB   N)r   r   r   r   )r(   r    r   r!   )r.   rV   r   r/   r2   r3   )r4   c1c2c3r5   r6   rM   rN   s   &       r:   7test_concat_categorical_same_categories_different_orderMTestCategoricalConcat.test_concat_categorical_same_categories_different_order  s       #sc
ER  #sc
ER   c3Z
 q!fR0q!fR0C:&c<0;
f/r=    N)__name__
__module____qualname____firstlineno__r;   rO   rX   ri   rs   rz   r   r   r   r   r   r   __static_attributes____classdictcell__)__classdict__s   @r:   r
   r
      sH     #(J1(+,(>0>1* *W "*00 0r=   r
   )r   numpyr+   pandas.errorsr   pandas.core.dtypes.dtypesr   pandasr.   r   r   r   pandas._testing_testingr2   r
   r   r=   r:   <module>r      s/      ( 6  
 ~0 ~0r=   