
    Mh                         S SK rS SKrS SKrS SKJrJr  S SKJr	  S r
S rS rS rS rS rS	 r\R"                  R%                  S
S/S/// / //5      S 5       rS rS rS rg)    N)Index
MultiIndexc                    U R                  [        U S S 5      5      u  p[        U[        5      (       d   eUR                  SS/:X  d   eUR
                   Vs/ s H  o3R                  PM     snSS/:X  d   eU R                  [        U 5      5      u  p[        U[        5      (       d   eUb   eUR                  SS/:X  d   eUR
                   Vs/ s H  o3R                  PM     snSS/:X  d   eg s  snf s  snf )N   firstsecond)reindexlist
isinstancer   nameslevelsname)idxresultindexerlevels       Y/var/www/html/env/lib/python3.13/site-packages/pandas/tests/indexes/multi/test_reindex.pytest_reindexr      s    kk$s2Aw-0OFfj))))<<GX....$*MM2M5JJM2w6IIIIkk$s),OFfj))))??<<GX....$*MM2M5JJM2w6IIII 3 3s   C4C9c                 D   [        S/5      nU R                  USS9u  p#UR                  U SS9u  pEU R                  USSS9nU R                  USSS9nUR                  U5      (       d   e[        R
                  " / SQ5      n[        R                  " X8SS	9  UR                  U5      (       d   e[        R
                  " / S
Q5      n	[        R                  " XYSS	9  [        R                  " [        SS9   U R                  U SSS9  S S S 5        g ! , (       d  f       g = f)Noner   r   right)r   howleft)r      r   F)check_dtype)r   r   r   r   r   zFill method not supportedmatchpad)methodr   )r   r	   joinequalsnparraytmassert_numpy_array_equalpytestraises	TypeError)
r   indextargetr   target2indexer2	exp_index
exp_index2exp_indexerexp_indexer2s
             r   test_reindex_levelr3      s    5'NEkk%xk8OFc:GhG<I%xV<J==####((9%K%H>>*%%%%8812LEJ	y(C	DCX6 
E	D	Ds   6D
Dc                 N   U R                  5       n U R                  5       nS S /=U l        Ul        [        R                  " SS/SS//5      nU R	                  / 5      S   R                  S S /:X  d   eU R	                  [
        R                  " / 5      5      S   R                  S S /:X  d   eU R	                  UR                  5       5      S   R                  S S /:X  d   eU R	                  UR                  5      S   R                  S S /:X  d   eU R	                  UR                  5       5      S   R                  S S /:X  d   eU R	                  UR                  5      S   R                  S S /:X  d   eSS/U l        U R	                  / 5      S   R                  SS/:X  d   eU R	                  [
        R                  " / 5      5      S   R                  SS/:X  d   eU R	                  UR                  5       5      S   R                  SS/:X  d   eU R	                  UR                  5      S   R                  SS/:X  d   eU R	                  UR                  5       5      S   R                  SS/:X  d   eU R	                  UR                  5      S   R                  SS/:X  d   eg )N   r      r   r   foobar)	copyr   r   from_productr	   r$   r%   tolistvalues)r   r,   other_dtypes      r   ;test_reindex_preserves_names_when_target_is_list_or_ndarrayr>   .   s\   
((*CXXZF $d|+CI))Aq6Aq6*:;K ;;r?1##d|333;;rxx|$Q'--$===;;v}}'*00T4L@@@;;v}}%a(..4,>>>;;{))+,Q/55$EEE;;{))*1-33d|CCCCI;;r?1##u~555;;rxx|$Q'--%???;;v}}'*00UENBBB;;v}}%a(..5%.@@@;;{))+,Q/55%GGG;;{))*1-33u~EEE    c                      [         R                  " SS/SS//SS/S9n U R                  / SS9S   R                  SS/:X  d   eU R                  / SS9S   R                  SS/:X  d   eg )	Nr   r5   abr7   r8   )r   r   )r   r:   r	   r   )r   s    r   =test_reindex_lvl_preserves_names_when_target_is_list_or_arrayrC   G   sy    

!
!Aq6C:"6uen
MC;;r;#A&,,>>>;;r;#A&,,>>>r?   c                    [         R                  " SS/SS//5      nUR                  / SS9S   R                  S   R                  R
                  [        R                  :X  d   eU (       d  [        R                  O[        nUR                  / SS9S   R                  S   R                  R
                  U:X  d   e[        R                  " SS/5      n[        R                  " SS	S
S9n[         R                  " X4/5      nUR                  / SS9S   R                  S   R                  UR                  :X  d   eUR                  / SS9S   R                  S   R                  UR                  :X  d   eg )Nr   r5   rA   rB   r   r7   r8   z
2016-01-01r   z
US/Pacific)periodstz)r   r:   r	   r   dtypetyper$   int64object_strpdCategorical
date_range)using_infer_stringr   expcatdtimis         r   @test_reindex_lvl_preserves_type_if_target_is_empty_list_or_arrayrT   N   sB    
!
!Aq6C:"6
7C;;r;#A&--a066;;rxxGGG."**CC;;r;#A&--a066;;sBBB ..%
(C
--aL
AC		 	 #	,B::b:"1%,,Q/55BBB::b:"1%,,Q/55BBBr?   c                 2   [         R                  " U R                  [         R                  S9nU R	                  U 5      n[
        R                  " X5        [        R                  " [        SS9   U R	                  U SS9  S S S 5        g ! , (       d  f       g = f)NrG   zInvalid fill methodr   invalid)r!   )
r$   arangesizeintpget_indexerr&   r'   r(   r)   
ValueError)r   expectedactuals      r   test_reindex_baser_   _   sb    yy1H__S!F1	z)>	?I. 
@	?	?s   .B
Bc                  B   [         R                  " / SQ5      n [        R                  " [        R
                  " S5      U S9n[         R                  " / SQ5      nSn[        R                  " [        US9   UR                  U5        S S S 5        g ! , (       d  f       g = f)N)r   r   r5   r5   rb   r   r   r   r+   )ra   rb   rc   z'cannot handle a non-unique multi-index!r   )
r   from_tuplesrL   Seriesr$   rX   r(   r)   r\   r	   )r   rA   new_idxmsgs       r   test_reindex_non_uniqueri   i   sg    

 
 !A
BC
		"))A,c*A$$%=>G
3C	z	-			' 
.	-	-s   5B
Br<   rA   xc                 8   [         R                  " U 5      nUR                  [        R                  " S/5      SS9u  p#[        S/U S   // / /S9n[        R                  " / UR
                  S9n[        R                  " X$5        [        R                  " X55        g )NrB   r   r   r5   )r   codesrV   )	r   from_arraysr	   r$   r%   rG   r&   assert_index_equalr'   )r<   r   r   result_indexerr]   expected_indexers         r   test_reindex_empty_with_levelrq   s   s     
 
 
(C [[3%[BF3%!3B8DHxx.*>*>?&+Ar?   c                     / SQn [         R                  " U S S 5      n[        U 5      nUR                  U5      u  p4[        R
                  " X25        [        R                  " / SQ[        R                  S9n[        R                  " XE5        g )N))irs   )rs   j)rt   rs   rt   r   )r   r5   r   r   rV   )
r   re   r   r	   r&   rn   r$   r%   rZ   r'   )keysrS   r   resr   r]   s         r   test_reindex_not_all_tuplesrw   ~   se    4D			Sb		*B
+C::c?LC##xxRWW5H2r?   c                     [         R                  " / SQ5      n [        R                  " / SQU S9n[         R                  " / SQ5      n[        R
                  " [        SS9   UR                  USSS	9  S S S 5        g ! , (       d  f       g = f)
N)r6   Ar   rz   r   B)g{Gz?g{Gz?g~jt?rd   )	ry   )r6   r}   r{   r|   )r   C)   r}   )r   r~   )   r}   )r   r~   zFlimit argument only valid if doing pad, backfill or nearest reindexingr   r   r5   )
fill_valuelimit)r   re   rL   rf   r(   r)   r\   r	   )r   dfrg   s      r   &test_reindex_limit_arg_with_multiindexr      ss     
 
 !?
@C	&c	2B$$
	
G 
V
 	

7q
2	
 
 
s   !A<<
B
c                     [         R                  " SS/5      n [         R                  " SS/5      n[        R                  " SS/U S9n[        R                  " SS/US9nUR	                  U5      nUn[
        R                  " XE5        g )N))rA   Nr5   ))rB   Nr   r5   r   rd   )r   re   rL   	DataFramereindex_liker&   assert_frame_equal)r+   index2	df1_dtype	df2_dtyper   r]   s         r   +test_reindex_with_none_in_nested_multiindexr      s{    ""$46F#GHE##%57G$HIFaV51IaV62I##I.FH&+r?   )numpyr$   r(   pandasrL   r   r   pandas._testing_testingr&   r   r3   r>   rC   rT   r_   ri   markparametrizerq   rw   r   r    r?   r   <module>r      s       
J7*F2?C"/ cUSENRH#=>B ?B338	,r?   