
    Mh:                         S SK rS SKrS SKJr  S SKrS SKJrJrJ	r	J
r
  S SKJr   " S S5      r " S S5      r " S S	5      r " S
 S5      r " S S5      rg)    N)InvalidIndexError)CategoricalIndexIndexIntervalIndex	Timestampc                   &    \ rS rSrS rS rS rSrg)TestTake   c                    [        / SQSS9nUR                  [        R                  " / SQ5      5      n[        / SQSS9n[        R
                  " X#5        [        R                  " UR                  UR                  5        UR                  [        R                  " / SQ5      SS9n[        SS	[        R                  // SQSS
9n[        R
                  " X#5        [        R                  " UR                  UR                  5        UR                  [        R                  " / SQ5      SSS9n[        / SQSS9n[        R
                  " X#5        [        R                  " UR                  UR                  5        [        [        S5      [        S5      SSS9nUR                  [        R                  " / SQ5      5      n[        [        S5      [        S5      SSS9n[        R
                  " X#5        [        R                  " UR                  UR                  5        UR                  [        R                  " / SQ5      SS9n[        SS[        R                  /[        S5      SSS9n[        R
                  " X#5        [        R                  " UR                  UR                  5        UR                  [        R                  " / SQ5      SSS9n[        [        S5      [        S5      SSS9n[        R
                  " X#5        [        R                  " UR                  UR                  5        Sn[        R                  " [        US9   UR                  [        R                  " / SQ5      SS9  S S S 5        [        R                  " [        US9   UR                  [        R                  " / SQ5      SS9  S S S 5        Sn[        R                  " [        US9   UR                  [        R                  " S	S/5      5        S S S 5        g ! , (       d  f       N= f! , (       d  f       Nk= f! , (       d  f       g = f)N         xxxnamer   r   )r   r   r   T
fill_valuer   r   )
categoriesr   F
allow_fillr   CBAABC)r   orderedr   BCABCJWhen allow_fill=True and fill_value is not None, all indices must be >= -1matchr   r   r   r   3index -5 is out of bounds for (axis 0 with )?size 3r&   )r   takenparraytmassert_index_equalassert_categorical_equalvaluesnanlistpytestraises
ValueError
IndexError)selfidxresultexpectedmsgs        `/var/www/html/env/lib/python3.13/site-packages/pandas/tests/indexes/categorical/test_indexing.pytest_take_fill_valueTestTake.test_take_fill_value   s    yu5"((:./#IE:
f/
##FMM8??C "((:.4@#Q266NyuU
f/
##FMM8??C "((:.5TR#IE:
f/
##FMM8??C KDKE
 "((:./#KDKE
 	f/
##FMM8??C "((:.4@##rvv4;5
 	f/
##FMM8??C "((:.5TR#KDKE
 	f/
##FMM8??C( 	 ]]:S1HHRXXj)dH; 2]]:S1HHRXXj)dH; 2 D]]:S1HHRXXq"g&' 21 2111 21s$   'P'P (P1
P 
P.1
P?c                    [         R                  " / SQSS9n[        U5      nUR                  [        R
                  " / SQ5      5      n[         R                  " / SQSS9n[        U5      n[        R                  " X#5        UR                  [        R
                  " / SQ5      SS9n[         R                  " / SQSS9n[         R                  " / SQ5      n[        X4S	9n[        R                  " X#5        UR                  [        R
                  " / SQ5      S
SS9n[         R                  " / SQSS9n[        U5      n[        R                  " X#5        Sn[        R                  " [        US9   UR                  [        R
                  " / SQ5      SS9  S S S 5        [        R                  " [        US9   UR                  [        R
                  " / SQ5      SS9  S S S 5        Sn[        R                  " [        US9   UR                  [        R
                  " SS/5      5        S S S 5        g ! , (       d  f       N= f! , (       d  f       Nk= f! , (       d  f       g = f)N)
2011-01-01
2011-02-01
2011-03-01r   r   r   )r?   r>   r@   Tr   )r?   r>   NaTr   Fr   r    r!   r#   r%   r'   r   r&   )pdDatetimeIndexr   r(   r)   r*   r+   r,   r1   r2   r3   r4   )r5   r6   r7   r8   exp_catsr9   s         r:   test_take_fill_value_datetime&TestTake.test_take_fill_value_datetimeO   s   IPUVs#"((:./##6U
 $H-
f/ "((:.4@##$GeT##$NO#HB
f/ "((:.5TR##6U
 $H-
f/( 	 ]]:S1HHRXXj)dH; 2]]:S1HHRXXj)dH; 2 D]]:S1HHRXXq"g&' 21 2111 21s$   0'H38'I(I3
I
I
I#c                    [        / SQSS9n/ SQnSn[        R                  " [        US9   UR	                  USS9  S S S 5        S	n[        R                  " [
        US9   UR	                  X"S
9  S S S 5        Sn[        R                  " [
        US9   UR	                  USS9  S S S 5        g ! , (       d  f       Nv= f! , (       d  f       NT= f! , (       d  f       g = f)Nr   foor   r   z1take\(\) got an unexpected keyword argument 'foo'r!   r   )rI   z$the 'out' parameter is not supported)outz%the 'mode' parameter is not supportedclip)mode)r   r1   r2   	TypeErrorr(   r3   )r5   r6   indicesr9   s       r:   test_take_invalid_kwargs!TestTake.test_take_invalid_kwargsv   s    yu5B]]9C0HHW!H$ 1 5]]:S1HHWH* 2 6]]:S1HHW6H* 21 10 21 21s#   B- B>C-
B;>
C
C N)__name__
__module____qualname____firstlineno__r;   rF   rO   __static_attributes__rQ       r:   r	   r	      s    <(|%(N+rW   r	   c                   2    \ rS rSrS rS rS rS rS rSr	g)	
TestGetLoc   c                    [        [        S5      [        S5      S9n[        [        S5      5      nUR                  S5      UR                  S5      :X  d   eUR                  S5      UR                  S5      :X  d   eX4 H6  n[        R
                  " [        SS9   UR                  S5        S S S 5        M8     [        [        S	5      [        S5      S9n[        [        S	5      5      nUR                  S
5      n[        R                  " XeR                  S
5      5        [        R                  " U[        R                  " / SQ5      5        UR                  S5      nXeR                  S5      :X  d   eUS:X  d   eXE4 H6  n[        R
                  " [        SS9   UR                  S5        S S S 5        M8     [        [        S5      [        S5      S9n[        [        S5      5      nUR                  S5      nXhR                  S5      :X  d   eU[        SSS 5      :X  d   eUR                  S5      nXhR                  S5      :X  d   eU[        SSS 5      :X  d   eXx4 H6  n[        R
                  " [        SS9   UR                  S5        S S S 5        M8     g ! , (       d  f       GM+  = f! , (       d  f       GM?  = f! , (       d  f       Mp  = f)NabcdeedabcrB   aez'NOT-EXIST'r!   z	NOT-EXISTaacdedd)FFFTFT   aabbbabcr   r   b   z'c'c)r   r0   r   get_locr1   r2   KeyErrorr+   assert_numpy_array_equalr)   r*   slice)	r5   cidx1idx1icidx2idx2rescidx3idx3s	            r:   test_get_locTestGetLoc.test_get_loc   s;    g4=IT']#}}S!T\\#%6666}}S!T\\#%6666Ax}=		+& >= 
 !hDMJT(^$ mmC 
##Cc):;
##BC	
 mmC ll3''''axxAx}=		+& >= 
 !g4;GT']# mmC ll3''''eAq$''''mmC ll3''''eAq$''''Axu5		# 65 G >=& >=" 65s$   JJ.<K
J+	.
J>	
K	c                 ^    [        [        S5      5      nUR                  S5      nUS:X  d   eg )Nrd   re   r   )r   r0   rh   )r5   cidxr7   s      r:   test_get_loc_uniqueTestGetLoc.test_get_loc_unique   s*    U,c"{{rW   c                 v    [        [        S5      5      nUR                  S5      n[        SSS 5      nX#:X  d   eg )Nabbcre   r   r   )r   r0   rh   rk   r5   rw   r7   r8   s       r:    test_get_loc_monotonic_nonunique+TestGetLoc.test_get_loc_monotonic_nonunique   s8    V-c"At$!!!rW   c                     [        [        S5      5      nUR                  S5      n[        R                  " / SQ[
        S9n[        R                  " X#5        g )Nabcbre   )FTFTdtype)r   r0   rh   r)   r*   boolr+   rj   r|   s       r:   #test_get_loc_nonmonotonic_nonunique.TestGetLoc.test_get_loc_nonmonotonic_nonunique   s=    V-c"886dC
##F5rW   c                     [        SS[        R                  /5      nUR                  [        R                  5      nUS:X  d   eg )NAr   r   )r   r)   r/   rh   )r5   cirq   s      r:   test_get_loc_nanTestGetLoc.test_get_loc_nan   s4    sC01jj axxrW   rQ   N)
rR   rS   rT   rU   rt   rx   r}   r   r   rV   rQ   rW   r:   rY   rY      s    -^
"6rW   rY   c                   D    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)TestGetIndexer   c                 h   [        [        S5      [        S5      S9n[        R                  " [	        U5      [        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cabrB   r   zInvalid fill methodr!   invalidmethod)r   r0   r)   arangelenintpget_indexerr+   rj   r1   r2   r3   )r5   r6   r8   actuals       r:   test_get_indexer_base$TestGetIndexer.test_get_indexer_base   sv    tE{tE{C99SXRWW5%
##H5]]:-BCOOC	O2 DCCs   	B##
B1c                 n   [        [        S5      [        S5      SS9n[        [        R                  " U5      5      nSnSSS[        U5      4 Hp  nU[        R                  R                  S5      R                  S	[        U5      US
9   n[        R                  " [        US9   UR                  U5        S S S 5        Mr     [        S5      [        S5      4 H6  n[        R                  " [        US9   UR                  U5        S S S 5        M8     g ! , (       d  f       M  = f! , (       d  f       M\  = f)Naabbcar   Fr   r   8Reindexing only valid with uniquely valued Index objectsr   r   rf   r   )sizer!   aababca)r   r0   r   r)   r*   r   randomdefault_rngintegersr1   r2   r   r   )r5   r   oidxr9   nfinders         r:    test_get_indexer_requires_unique/TestGetIndexer.test_get_indexer_requires_unique   s    d8neeTRXXb\"HQ3r7#A"))//2;;As2wQ;OPF0<v& =< $ H~tI7F0<v& =< 8 =< =<s   $D4D%
D"	%
D4	c                    [        [        S5      [        S5      S9n[        [        S5      5      nU[        S5      [        [        S5      5      4 H  nSn[        R                  " [
        US9   UR                  U5        S S S 5        UR                  U5      u  pV[        R                  " / SQ[        R                  S9n[        R                  " XW5        M     g ! , (       d  f       Na= f)	Naabcder]   rB   abfr   r!   )r   r   r   r   r   )r   r0   r   r1   r2   r   r   get_indexer_non_uniquer)   r*   r   r+   assert_almost_equal)r5   rm   rp   indexerr9   r1_r8   s           r:   test_get_indexer_non_unique*TestGetIndexer.test_get_indexer_non_unique   s    X4=IU,d5k5e+=>GLC0<  ) = //8EBxxRWW=H""20 ?<<s   /C
C*	c                    [        [        S5      [        S5      S9n[        [        S5      5      nSn[        R                  " [        US9   UR                  USS9  S S S 5        S	n[        R                  " [        US9   UR                  US
S9  S S S 5        Sn[        R                  " [        US9   UR                  USS9  S S S 5        g ! , (       d  f       Nw= f! , (       d  f       NT= f! , (       d  f       g = f)Nr   r]   rB   r   z3method pad not yet implemented for CategoricalIndexr!   padr   z8method backfill not yet implemented for CategoricalIndexbackfillz7method nearest not yet implemented for CategoricalIndexnearest)r   r0   r1   r2   NotImplementedErrorr   )r5   rm   rp   r9   s       r:   test_get_indexer_method&TestGetIndexer.test_get_indexer_method   s    X4=IU,C]].c:T%0 ;H]].c:T*5 ; H]].c:T)4 ;: ;: ;: ;:s$   C C4C0
C
C-0
C>c                    [         R                  " [        S5      [        S5      /[        S9n[        S5      [        S5      /n[	        X"SSS9nUR                  U5      n[         R                  " SS/S	S9n[        R                  " XE5        g )
Nz1999-12-31 00:00:00z2000-12-31 00:00:00r   Fcategory)r   r   r   r   r   r   )r)   r*   r   objectr   r   r+   rj   )r5   arrcatsr   r7   r8   s         r:   test_get_indexer_array%TestGetIndexer.test_get_indexer_array  s}    hh,-y9N/OP
 /0)<Q2RSdU*U$88QF&1
##F5rW   c                     [        SS/SS/S9nUR                  [        SS/SS/S95      n[        R                  " SS/SS9n[        R
                  " X#5        g Nr^   re   rB   r   r   r   r   r   r)   r*   r+   rj   r5   r   r7   r8   s       r:   +test_get_indexer_same_categories_same_order:TestGetIndexer.test_get_indexer_same_categories_same_order  sV    sCjc3Z@ 0#sc
 ST88QF&1
##F5rW   c                     [        SS/SS/S9nUR                  [        SS/SS/S95      n[        R                  " SS/SS9n[        R
                  " X#5        g r   r   r   s       r:   0test_get_indexer_same_categories_different_order?TestGetIndexer.test_get_indexer_same_categories_different_order   sV    sCjc3Z@ 0#sc
 ST88QF&1
##F5rW   c                    [        SS[        R                  S/5      nSSS[        R                  /nUR                  U5      n[        R                  " / SQ[        R
                  S9n[        R                  " X45        / SQnUR                  U5      n[        R                  " / SQ[        R
                  S9n[        R                  " Xg5        g )	Nr   r   r   rb   )r   r   r   r   r   )r   rb   r   r   )r   r   r   r   )r   r)   r/   r   r*   r   r+   rj   )r5   r   other1res1	expected1other2res2	expected2s           r:   )test_get_indexer_nans_in_index_and_target8TestGetIndexer.test_get_indexer_nans_in_index_and_target(  s    q!RVVQ/0Q266"~~f%HH]"'':	
##D4~~f%HH]"'':	
##D4rW   rQ   N)rR   rS   rT   rU   r   r   r   r   r   r   r   r   rV   rQ   rW   r:   r   r      s*    	3',15	666
5rW   r   c                        \ rS rSrS rS rSrg)	TestWherei5  c                    Un[        [        S5      [        S5      SS9nS/[        U5      -  nUnUR                  U" U5      5      n[        R
                  " Xe5        S/S/[        U5      S-
  -  -   n[        [        R                  /USS  R                  5       -   UR                  S9nUR                  U" U5      5      n[        R
                  " Xe5        g )Nr   r   Fr   Tr   rB   )
r   r0   r   wherer+   r,   r)   r/   tolistr   )r5   listlike_boxklassrn   condr8   r7   s          r:   
test_whereTestWhere.test_where6  s    T(^UUSvAt%
f/w$3q6A:..#RVVHqu||~$=!,,Wt%
f/rW   c                 `   [        / SQ5      n[        R                  " / SQ5      nUR                  US5      n[	        / SQ[
        S9n[        R                  " X45        Sn[        R                  " [        US9   UR                  R                  US5        S S S 5        g ! , (       d  f       g = f)N)r^   re   rg   ra   )TFTFr   )r^   r   rg   r   r   z3Cannot setitem on a Categorical with a new categoryr!   )r   r)   r*   r   r   r   r+   r,   r1   r2   rM   _data_where)r5   r   maskr7   r8   r9   s         r:   test_where_non_categories#TestWhere.test_where_non_categoriesD  sx    23xx23$")8
f/C]]9C0HHOOD!$ 100s   9B
B-rQ   N)rR   rS   rT   rU   r   r   rV   rQ   rW   r:   r   r   5  s    0%rW   r   c                   <   \ rS rSrS rS r\R                  R                  SSS/5      S 5       r	\R                  R                  S\
R                  " S	S
5      S4S\
R                  " SS5      S4S\" S
5      S4\
R                  " S
5      S4/\S9S 5       rS rSrg)TestContainsiR  c                     [        [        S5      [        S5      SS9nSU;   d   eSU;  d   eSU;  d   e[        R                  U;  d   eSU;  d   eS	U;  d   eg )
Nr   cabdefFr   r^   zr_   r   r   r   r0   r)   r/   r5   r   s     r:   test_containsTestContains.test_containsS  si    d8nhQVWbyy"}}"}}vvR {{{{rW   c                     [        [        S5      [        R                  /-   [        S5      S9n[        R                  U;   d   eg )Nr   r   rB   r   r   s     r:   test_contains_nanTestContains.test_contains_nan_  s1    d8nx7DNSvv||rW   unwrapTFc                    [         R                  " SSS9R                  S[         R                  5      nUR	                  S5      nX"S   -
  n[        U5      nUnU(       a  UR                  n[        R                  U;   d   eS U;   d   e[         R                  U;   d   e[        R                  " S5      U;   d   e[        R                  " S5      U;  d   e[        U5      nU(       a  UR                  n[        R                  U;   d   eS U;   d   e[         R                  U;   d   e[        R                  " S5      U;  d   e[        R                  " S5      U;   d   e[        U5      nU(       a  UR                  n[        R                  U;   d   eS U;   d   e[         R                  U;   d   e[        R                  " S5      U;  d   e[        R                  " S5      U;  d   eg )Nz
2016-01-01d   )periodsr   Dr   rA   )rC   
date_rangeinsertrA   	to_periodr   r   r)   r/   
datetime64timedelta64)	r5   r   dtipitdir   objobj2obj3s	            r:   test_contains_na_dtype#TestContains.test_contains_na_dtypec  s   mmL#6==aH]]3Gmc"((Cvv}}s{{vv}}}}U#s***~~e$C///$::Dvv~~t||vv~~}}U#4///~~e$,,,#::Dvv~~t||vv~~}}U#4///~~e$D000rW   zitem, expectedr   r   )      ?Tg      ?r   )r^   F)idsc                 h    [        [        R                  " [        S5      5      5      nX;   nXBL d   eg )Nr   )r   r   from_breaksrange)r5   itemr8   r   r7   s        r:   test_contains_interval#TestContains.test_contains_interval  s0     m77aAB!!!rW   c                    [        / SQ5      nSU;  d   e[        R                  " [        SS9   S/U;     S S S 5        [        R                  " [        SS9   SS/U;     S S S 5        g ! , (       d  f       N8= f! , (       d  f       g = f)Nr   r^   zunhashable typer!   re   )r   r1   r2   rM   )r5   r6   s     r:   test_contains_listTestContains.test_contains_list  sl    y)#~~]]9,=>ESL ? ]]9,=>#J# ?> ?> ?>s   A(A9(
A69
BrQ   N)rR   rS   rT   rU   r   r   r1   markparametrizer   rC   Intervalr   	Timedeltastrr  r	  rV   rQ   rW   r:   r   r   R  s    
 [[Xe}5"1 6"1H [[[[A%[[c"E*q\5!\\!_e$	
   ""
rW   r   )numpyr)   r1   pandas.errorsr   pandasrC   r   r   r   r   pandas._testing_testingr+   r	   rY   r   r   r   rQ   rW   r:   <module>r     s]      +   t+ t+nF FRb5 b5J% %:R RrW   