
    Mh2                     d   S SK r S SKrS SKrS SKJrJrJrJrJ	r	J
r
JrJrJrJrJr  S SKJr  S SKJs  Jr   " S S5      r " S S5      r " S S5      r\R4                  R7                  S	S
S/5      S 5       r\R4                  R7                  S	S
S/5      S 5       r\R<                  S 5       rS r g)    N)NACategoricalCategoricalIndexIndexIntervalIntervalIndexNaTPeriodIndexSeries	Timedelta	Timestampc                      \ rS rSrS rS r\R                  R                  S\	" SS/5      \	" SS/SS/S9/5      S 5       r
\R                  R                  S\	" SS// S	QS9\	" SS// S
QS9\	" SS/S/S9\	" SS/S/S9/5      S 5       r\R                  R                  S\	" SS/5      \	" SS/SS/SS9\	" SS// S
QSS9/5      S 5       rS rS rSrg)!TestCategoricalIndexingWithFactor   c                    [        / SQSS9nUS   S:X  d   eUS   S:X  d   eU/ SQ   n[        R                  " UR                  [        R
                  " / S	Q[        R                  S
95        U[        R                  " U5      S:H     n[        R                  " UR                  [        R
                  " / SQ[        R                  S
95        g )Nabr   r   r   cr   r   Torderedr   r   r   )r         )r   r   r   dtype)r   r   r   )r   tmassert_numpy_array_equal_codesnparrayint8asarray)selffactorsubfs      _/var/www/html/env/lib/python3.13/site-packages/pandas/tests/arrays/categorical/test_indexing.pytest_getitem.TestCategoricalIndexingWithFactor.test_getitem   s    EtTayCbzS   i 
##DKK)2771STbjj(C/0
##DKK)2771ST    c                 8   [        / SQSS9nUR                  5       nSUS'   US   S:X  d   eSUS'   US   S:X  d   eUR                  5       n[        R                  " [	        U5      SS	9nSUS'   SUS'   S
X#'   [        / SQSS9n[
        R                  " X$5        g )Nr   Tr   r   r   r   r   boolr   r   )r   r   r   r   r   r   r   r   )r   copyr    zeroslenr   assert_categorical_equal)r$   r%   r   indexerexpecteds        r'   test_setitem.TestCategoricalIndexingWithFactor.test_setitem#   s    EtTKKM!ts{{"u|| KKM((3q60

GQUV
##A0r*   otherr   r   
categoriesc                     [        SS/SS/S9n[        R                  " SS/5      nX   X#'   [        SS/SS/S9n[        R                  " X$5        g )Nr   r   r6   TF)r   r    r!   r   r0   )r$   r5   targetmaskr2   s        r'   test_setitem_same_but_unorderedATestCategoricalIndexingWithFactor.test_setitem_same_but_unordered6   sU     c3ZS#J?xxu&{SzsCjA
##F5r*   )r   r   r   r   r   r   c                     [        SS/SS/S9n[        R                  " SS/5      nSn[        R                  " [
        US9   X   X#'   S S S 5        g ! , (       d  f       g = f)Nr   r   r6   TFCCannot set a Categorical with another, without identical categoriesmatchr   r    r!   pytestraises	TypeErrorr$   r5   r9   r:   msgs        r'   'test_setitem_different_unordered_raisesITestCategoricalIndexingWithFactor.test_setitem_different_unordered_raisesB   sR     c3ZS#J?xxu&S]]9C0 ;FL 100s   A
A Tr7   r   c                     [        SS/SS/SS9n[        R                  " SS/5      nSn[        R                  " [
        US9   X   X#'   S S S 5        g ! , (       d  f       g = f)Nr   r   TrJ   Fr?   r@   rB   rF   s        r'    test_setitem_same_ordered_raisesBTestCategoricalIndexingWithFactor.test_setitem_same_ordered_raisesS   sT     c3ZS#JMxxu&S]]9C0 ;FL 100s   A
A!c                 D    [        / SQ5      nUS   US'   US   S:X  d   eg )N)r   r   )r   r   rO   r   r   rO   )r   r$   cats     r'   test_setitem_tuple4TestCategoricalIndexingWithFactor.test_setitem_tuplec   s.    23 QA1vr*   c                    [        [        R                  R                  S5      R	                  SSSS9R                  [        R                  5      5      R                  S/5      n[        R                  " S/5      R                  [        R                  5      nSX'   UR                  [        R                  " S/5      R                  [        R                  5         n[        R                  " U[        R                  " S/SS	95        g )
Nr   r      I sizei順 r"   r   )r   r    randomdefault_rngintegersastyper"   add_categoriesr!   int64codesr   r   )r$   rQ   r1   results       r'   test_setitem_listlike7TestCategoricalIndexingWithFactor.test_setitem_listlikek   s     II!!!$--a-@GGP

.%
! 	 ((F8$++BHH5 288VH-44RXX>?
##FBHHaS,GHr*    N)__name__
__module____qualname____firstlineno__r(   r3   rC   markparametrizer   r;   rH   rL   rR   rb   __static_attributes__rd   r*   r'   r   r      s    	U1& [[	c3Z	 +sCjc3Z"PQ6	6 [[c
?c
?c
u5c
u5		
'' [[c
#c
Sz4Hc
M	
'' Ir*   r   c                   L   \ rS rSrS rS rS r\R                  R                  SS\
R                  \\\R                  SSS	S
SS/5      S 5       r\R                  R                  S/ SQSS//5      S 5       r\R                  R                  S/ SQ/ SQ/ SQ/ SQ/5      \R                  R                  SSS/SS/SS/SS//5      \R                  R                  S\\/5      \R                  R                  S/ SQ5      S 5       5       5       5       rS rS rS rS  rS! rS"rg)#TestCategoricalIndexing{   c                     [        / SQ5      nUS   nUS:X  d   eUSS n[        SS// SQS9n[        R                  " X#5        g )N)r   r   r   dr   r   r      rp   rU   r   )r   r   r   rp   r6   )r   r   r0   )r$   rQ   slicedr2   s       r'   test_getitem_slice*TestCategoricalIndexing.test_getitem_slice|   sL    =>Q}}QqSz6JK
##F5r*   c                    [        [        R                  R                  S5      R	                  SSSS9R                  [        R                  5      5      nUR                  [        R                  " S/5      R                  [        R                  5         nU[        R                  " S/5      R                  [        R                  5         R                  n[        R                  " X#5        g )Nr   r   rU   rV   rW   rY   )r   r    rZ   r[   r\   r]   r"   r`   r!   r_   r   r   )r$   r   ra   r2   s       r'   test_getitem_listlike-TestCategoricalIndexing.test_getitem_listlike   s     II!!!$--a-@GGP
 6(+22288<=RXXvh'..rxx89??
##F5r*   c                 h   [        / SQSS9n[        U5      n[        U5        [        R                  " / SQ[        R
                  S9n[        / SQSS9n[        R                  " UR                  U5        [        R                  " UR                  U5        [        / SQSS9n[        USS	9n[        U5        [        R                  " / S
Q[        R
                  S9n[        / SQSS9n[        R                  " UR                  U5        [        R                  " UR                  U5        [        / SQSS9n[        USS	9n	[        R                  " / SQ[        R
                  S9n[        / SQSS9n[        R                  " U	R                  U5        [        R                  " U	R                  U5        g )N)2014-01ry   2014-02rz   2014-03r{   Mfreq)r   r   r   r   r   r   r   )ry   rz   r{   )r{   r{   rz   ry   r{   ry   Tr   )r   r   r   r   r   r   )2013-122013-112013-102013-092013-082013-072013-05)   rU      rq   r   r   r   )r   r   r   r   r   r   r   )r
   r   strr    r!   r"   r   r   r   assert_index_equalr7   )
r$   idx1cat1exp_arrexp_idxidx2cat2exp_idx2idx3cat3s
             r'   test_periodindex(TestCategoricalIndexing.test_periodindex   sS   N

 4 D	((-RWW=?cJ
##DKK9
doow7N
 4.D	((-RWW=@sK
##DKK9
doox8 
 4.((0@ 
 	##DKK9
doow7r*   null_valNr	   natNATnanNaNNANc                 ~    [        SSU/SS9n[        / SQSS9nUS   [        L d   e[        R                  " X#5        g )	N
2022-04-06
2022-04-07Dr}   )r   r   r	   z	period[D]r   r   )r
   r	   r   r   )r$   r   ra   r2   s       r'   test_periodindex_on_null_types6TestCategoricalIndexing.test_periodindex_on_null_types   sD     lL(C#NB+VayC
f/r*   new_categories)r   r   rq   r   r   r   c                     [        / 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   r   r   zKnew categories need to have the same number of items as the old categories!r@   )r   rC   rD   
ValueErrorrename_categories)r$   r   rQ   rG   s       r'   /test_categories_assignments_wrong_length_raisesGTestCategoricalIndexing.test_categories_assignments_wrong_length_raises   sA    ./% 	 ]]:S1!!.1 211s   A
A
idx_values)r   rq   r   r   )r   rq   rq   r   )r   r   r   r   
key_valuesrU   	key_classr   )Ncategorykeyc                    U" U[        SS5      S9nUS:X  a  UR                  n[        XS9nUR                  U5      u  pxUR                  U5      u  p[        R
                  " Xy5        [        R
                  " X5        UR                  5       R                  U5      nUR                  5       R                  U5      n[        R
                  " X5        g )Nr   rU   r6   r   r   )ranger   r   get_indexer_non_uniquer   r   uniqueget_indexer)r$   r   r   r   r   r   idxr2   exp_missra   res_miss
exp_unique
res_uniques                r'   test_get_indexer_non_unique3TestCategoricalIndexing.test_get_indexer_non_unique   s     
uQ{;E>IIE J, 77
C55c:
##H5
##H7ZZ\--j9
ZZ\--c2

##J;r*   c                 \   [        [        SS/5      5      nUR                  SS/5      n[        [        SS /SS/S95      n[        R                  " X#5        [        [        SS/5      5      nUR                  SS/5      n[        [        S S /SS/S95      n[        R                  " X#5        g )Nr   r   TFr6   )r   r   wherer   assert_series_equalr$   serra   r2   s       r'   test_where_unobserved_nan1TestCategoricalIndexing.test_where_unobserved_nan   s    [#s,-D%=)+sDksCjIJ
v0 [#s,-E5>*+tTlSzJK
v0r*   c                     [        [        / SQ/ SQS95      nUR                  / SQSS9n[        [        / SQUR                  R                  S95      n[
        R                  " X#5        g )Nr=   rp   r   r   r   r6   )TTFr   )r5   )r   r   r   )r   r   r   rQ   r7   r   r   r   s       r'    test_where_unobserved_categories8TestCategoricalIndexing.test_where_unobserved_categories  sP    [=QRS.c:+o#''BTBTUV
v0r*   c                     [        [        / SQ/ SQS95      n[        / SQ/ SQS9nUR                  / SQU5      n[        [        / SQUR                  S95      n[        R
                  " X45        g )	Nr=   r   r6   r   r   r   r   r   r   rp   TFT)r   r   r   r   )r   r   r   r   r   r   )r$   r   r5   ra   r2   s        r'   test_where_other_categorical4TestCategoricalIndexing.test_where_other_categorical  sU    [=QRSO8LM.6+oSYYGH
v0r*   c                     [        [        / SQ5      5      nSn[        R                  " [        US9   UR                  / SQS5        S S S 5        g ! , (       d  f       g = f)Nr=   z3Cannot setitem on a Categorical with a new categoryr@   r   rp   r   r   rC   rD   rE   r   )r$   r   rG   s      r'   test_where_new_category_raises6TestCategoricalIndexing.test_where_new_category_raises  s?    [12C]]9C0II)3/ 100s   A
Ac                     [        [        / SQ/ SQSS95      n[        / SQ/ SQSS9n[        R                  " [        SS9   UR                  / S	QU5        S S S 5        g ! , (       d  f       g = f)
Nr=   r   TrJ   r   r   zwithout identical categoriesr@   r   r   )r$   r   r5   s      r'   !test_where_ordered_differs_rasies9TestCategoricalIndexing.test_where_ordered_differs_rasies  s[    4HRVW
 (<d
 ]]9,JKII)51 LKKs   A
A-rd   )re   rf   rg   rh   rs   rv   r   rC   ri   rj   r    r   r	   r   mathr   r   r   r   r   r   r   r   r   r   rk   rd   r*   r'   rm   rm   {   sD   6	638j [[	rvvsB%ueUS0	0 [[-q!f/EF2 G2 [[|\<N [[\QFQFQFQF+KL[[[;8H*IJ[[W&?@< A K M	<&
11102r*   rm   c                       \ rS rSrS r\R                  R                  S\" SS5      S4S\" SS	5      S
4S\	" S5      S
4\
" S5      S
4/\S9S 5       rS rSrg)TestContainsi  c                    [        [        S5      [        S5      S9nSU;   d   eSU;  d   e[        R                  U;  d   e[        R
                  " [        SS9   S/U;   d   e S S S 5        S	U;  d   eSU;  d   e[        [        S5      [        R                  /-   [        S5      S9n[        R                  U;   d   eg ! , (       d  f       Nc= f)
Naabbcacabr6   r   zzunhashable type: 'list'r@   r   r   )r   listr    r   rC   rD   rE   rP   s     r'   test_containsTestContains.test_contains   s    $x.T%[Aczz#~~vvS   ]]9,EF3#:: G ||||$x.BFF83ULvv}} GFs   
C
Czitem, expectedr   r   T)      ?Tg      ?r   F)r   F)idsc                 h    [        [        R                  " [        S5      5      5      nX;   nXBL d   eg )Nrq   )r   r   from_breaksr   )r$   itemr2   rQ   ra   s        r'   test_contains_interval#TestContains.test_contains_interval1  s0     -33E!H=>!!!r*   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)N)r   r   rq   r   zunhashable typer@   r   )r   rC   rD   rE   rP   s     r'   test_contains_listTestContains.test_contains_listC  sl    )$#~~]]9,=>ESL ? ]]9,=>#J# ?> ?> ?>s   A(A9(
A69
Brd   N)re   rf   rg   rh   r   rC   ri   rj   r   r   r   r   r   r   rk   rd   r*   r'   r   r     s|    " [[a^T"c3'q\5!q\5!	
   ""
r*   r   indexTFc                     [        [        S5      5      n[        / SQ5      nU (       a  [        U5      n[        R
                  " U5      (       d   eX   nXR                  S5         n[        R                  " X45        g )Nrq   r   object)	r   r   r   r   comis_bool_indexerr]   r   r   r   r   r   ra   r2   s        r'   test_mask_with_booleanr   P  se    
q
C
)
*Cs#s####XF::h'(H6,r*   c                     [        [        S5      5      n[        / SQ5      nU (       a  [        U5      nX   nXR	                  S5         n[
        R                  " X45        g )Nrq   )TFNF)r   r   r   r   fillnar   r   r   s        r'   *test_mask_with_boolean_na_treated_as_falser   ]  sP     q
C
)
*Cs#XF::e$%H6,r*   c              #      #    SS jnU R                  5        nUR                  [        SU5        Sv   SSS5        g! , (       d  f       g= f7f)z
Monkeypatch Categorical.__array__ to ensure no implicit conversion.

Raises
------
ValueError
    When Categorical.__array__ is called.
Nc                     [        S5      e)NzI cannot be converted.)r   )r$   r   s     r'   r!   (non_coercible_categorical.<locals>.arrayx  s    122r*   	__array__)N)contextsetattrr   )monkeypatchr!   ms      r'   non_coercible_categoricalr   k  s8     3 
			!			+{E2 
		s   A=	A
AAc                  b    [        / SQ5      n [        U 5      nUR                  S   nUS:X  d   eg )Nr=   r   r   )r   r   at)arrr   ra   s      r'   test_series_atr     s.    
o
&C
+CVVAYFS==r*   )!r   numpyr    rC   pandasr   r   r   r   r   r   r	   r
   r   r   r   pandas._testing_testingr   pandas.core.commoncorecommonr   r   rm   r   ri   rj   r   r   fixturer   r   rd   r*   r'   <module>r     s              aI aIHa2 a2H. .b 4-0	- 1	- 4-0
- 1
-  (r*   