
    A>i 0                        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 rS r\R                   R#                  S\R$                  \R&                  4\R(                  \R&                  4\R*                  \R&                  4\R,                  \R&                  4\R.                  \R.                  4\R&                  \R&                  4/5      S 5       rS rS	 rS
 r\R                   R#                  S\\\R<                  \/5      S 5       r\R                   R#                  S/ SQ\" / SQ5      / SQ\" S5      \R@                  \" S5      //5      S 5       r!S r"S r#\R                   R#                  S\$" SS5      5      \R                   R#                  S/ SQSS/S//5      \R                   R#                  SS\RJ                  \RL                  " \'5      RP                  \RL                  " \'5      RR                  /5      \R                   R#                  S\R<                  \\/5      S  5       5       5       5       r*S! r+S" r,S# r-S$ r.S% r/S& r0S' r1S( r2g))    N)
is_integer)Series	Timestamp
date_rangeisnac           	          [        [        R                  " S5      U S9nUS:  n[        SS5      X'   [        [	        [        SS5      5      [	        [        SS5      5      -   U S9n[
        R                  " X5        g N
   dtype         r   nparangerangelisttmassert_series_equal)any_signed_int_numpy_dtypesmaskexpecteds       f/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/series/indexing/test_where.pytest_where_unsafe_intr      sh    ryy}$>?Aq5DAqkAGU1a[Dq"..(H
 1'    c                     [        [        R                  " S5      U S9nUS:  n[        SS5      X'   [	        [        SS5      5      [	        [        SS5      5      -   n[        X0S9n[
        R                  " X5        g r	   r   )float_numpy_dtyper   r   datar   s        r   test_where_unsafe_floatr!      se    ryy}$56Aq5DAqkAGatE!RL11Dd4H1'r   zdtype,expected_dtypec           	         [        [        R                  " S5      U S9n/ SQnUS:  n[        R                  " U 5      R                  [        R                  " U5      R                  s=:X  a  S:X  a>  O  O;X2U'   [        U[        [        SS5      5      -   US9n[        R                  " X%5        g [        R                  " [        SS9   X2U'   S S S 5        g ! , (       d  f       g = f)Nr
   r   )      @      @      @      @g      @r   fInvalid valuematch)r   r   r   r   kindr   r   r   r   pytestraises	TypeError)r   expected_dtyper   valuesr   r   s         r   test_where_unsafe_upcastr1   (   s     	ryy}E*A&Fq5D	xxrxx7<<CC$&4a#55^L
q+]]9O<dG =<<s   C
C$c            	      t   [        [        R                  " S5      SS9n / SQnU S:  n[        [        [	        S5      5      U-   SS9n[
        R                  " [        SS	9   XU'   S S S 5        U R                  S5      n XU'   [        [        R                  " S5      SS9n U S:  n[	        S
S5      X'   [        [        [	        S
S5      5      [        [	        SS5      5      -   SS9n[        R                  " X5        U R                  UR                  :X  d   e[        [        R                  " S5      SS9n U S:  nS/S-  X'   [        / SQS/S-  -   SS9n[        R                  " X5        [        [        R                  " S5      5      n U S:  nSn[
        R                  " [        US	9   / SQX'   S S S 5        [
        R                  " [        US	9   S/S-  X'   S S S 5        [        / SQ5      n U R                  U S
:  [        R                  5      n[        [        R                  [        R                  SS/5      n[        R                  " XS5        [        [	        S5      5      R                  [        5      n S U S'   U S   n[!        U5      (       d   e[        [	        S5      5      R                  [        5      n S X S:  '   U [!        U 5         n[        [        R                  S/S9n[        R                  " XS5        g ! , (       d  f       GN= f! , (       d  f       GNk= f! , (       d  f       GNS= f)Nr
   int64r   )r#   r$   r%   r&   r      float64r(   r)   r   r   r      )r      r      r6   r   Kcannot set using a list-like indexer with a different length than the value)r   r6   r8   r   r7   )r7   r   r8   r6   r8      	   index)r   r   r   r   r   r,   r-   r.   astyper   r   r   
ValueErrorwherenanfloatr   )r   r0   r   r   msgresults         r   test_where_unsaferE   A   s   ryy}G,A!Fq5Dd58nv-Y?H	y	8$ 
9	AdG 	ryy}G,Aq5DAqkAGd5A;'$uQ|*<<GLH1'77hnn$$$ryy}G,Aq5DcAgAG(A372'BH1'ryy}Aq5D
WC	z	-! 
. 
z	-#' 
. 	|AWWQUBFF#Frvvrvvq!,-H6, 	uRy  'AAaDqTF<<<uRy  'AA!eHtAwZFbffQC(H6,] 
9	8. 
.	- 
.	-s$    L+L	L(
L
L%(
L7c                  p   [        [        R                  R                  S5      R	                  S5      5      n U S:  nU R                  U5      R                  5       nX   n[        R                  " X#5        U R                  X* 5      n[        R                  " X R                  5       5        U R                  U5      nU R                  UR                  :X  d   eX Ld   e[        / SQU R                  S9nU R                  5       * nXA   R                  UR                  S S 5      R                  UR                  5      nUR                  US S 5      n[        R                  " X%5        UR                  5       nUS   UR                  S'   UR                  US S U* 5      n[        R                  " X%5        g )Nr   r   r   )TFFTFr<   r8   )r   r   randomdefault_rngstandard_normalr@   dropnar   r   absshaper=   reindexiloc)r   condrsrs2s2r   s         r   
test_whererS   z   s[   ryy$$Q'77:;Aq5D	
			B
'C2#	
r	B2uuw'	
B77bhh;; 3177CD557Bx!-55bhh?H	$r(	B2(vvxH!uHMM!	$r(RC	 B2(r   c                     [        [        R                  R                  S5      R	                  S5      5      n U S:  nSn[
        R                  " [        US9   U R                  S5        S S S 5        [
        R                  " [        US9   U R                  US S R                  U * 5        S S S 5        [        SS/5      n SS/U SS	/'   [        SS/5      n[        R                  " X5        S
n[
        R                  " [        US9   / SQU SS	/'   S S S 5        [
        R                  " [        US9   / U SS	/'   S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       NZ= f! , (       d  f       g = f)Nr   r   r   ,Array conditional must be same shape as selfr)   r7   r8   TFr9   )r   r   r8   )r   r   rG   rH   rI   r,   r-   r?   r@   r0   r   r   )r   rO   rC   r   s       r   test_where_errorrV      s,   ryy$$Q'77:;Aq5D
8C	z	-	
 
.	z	-	Ra!$ 
. 	1vA1vAtUmq!f~H1' XC	z	-$4- 
. 
z	-4- 
.	-! 
.	-	-	- 
.	- 
.	-s0   E!E
E&3E7
E
E#&
E47
Fklassc                     [        / SQ5      n/ SQn[        [        R                  SS/5      nUR                  U " U5      5      n[        R
                  " XC5        g )Nr7   r   r8   )FTTr   r8   )r   r   rA   r@   r   r   )rW   r   rO   r   rD   s        r   test_where_array_likerZ      sG     	yADrvvq!n%HWWU4[!F6,r   rO   )r7   r   r7   )r   r   r   )TrueFalser[   z
2017-01-01z
2017-01-02c                 8   [        / SQ5      nSn[        R                  " [        US9   UR	                  U 5        S S S 5        Sn[        R                  " [
        US9   UR	                  S/5        S S S 5        g ! , (       d  f       NE= f! , (       d  f       g = f)NrY   z(Boolean array expected for the conditionr)   rU   T)r   r,   r-   r.   r@   r?   )rO   r   rC   s      r   test_where_invalid_inputr^      sm     	yA
4C	y	,	 
- 9C	z	-	 
.	-	 
-	, 
.	-s   A:B:
B
Bc                     Sn [        / SQ5      nS/n[        R                  " [        U S9   UR	                  U5        S S S 5        [        S[
        R                  [
        R                  /5      nUR	                  [        U5      5      n[        R                  " XC5        [
        R                  " / SQ5      n[        R                  " [        U S9   UR	                  U5        S S S 5        [        [
        R                  S[
        R                  /5      nUR	                  [        U5      5      n[        R                  " XC5        g ! , (       d  f       GN= f! , (       d  f       N{= f)NrU   rY   Tr)   r7   )FTFTr   )
r   r,   r-   r?   r@   r   rA   r   r   array)rC   r   rO   r   outs        r   test_where_ndframe_alignrb      s    
8CyA6D	z	-	 
. q"&&"&&)*H
''&,
C3)88./D	z	-	 
. rvvq"&&)*H
''&,
C3) 
.	- 
.	-s   EE
E
E&c                     S n [        [        S5      [        S9n[        R                  " [
        U " S5      S9   [        [        S5      5      USS& S S S 5        [        [        S5      5      USS& [        / S	Q5      n[        R                  " UR                  [        R                  5      U5        [        [        S
5      [        S9n[        R                  " [
        U " S5      S9   [        [        S5      5      USSS2'   S S S 5        [        [        S
5      [        S9n[        [        S5      5      USSS2'   [        / SQ5      n[        R                  " X5        [        [        S
5      [        S9n[        R                  " [
        U " S5      S9   [        [        S5      5      US S& S S S 5        [        [        S5      5      USS& [        / SQ5      n[        R                  " X5        [        [        S5      [        S9n[        R                  " [
        U " S5      S9   [        [        S5      5      U/ S	Q'   S S S 5        [        [        S5      [        S9n[        R                  " [
        U " S5      S9   [        [        S5      5      U/ S	Q'   S S S 5        [        [        S5      [        S9n[        [        S5      5      US'   [        [        [        S5      5      SS/5      n[        R                  " X5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       N= f)Nc                     SU  S3$ )Nzcannot set using a z/ indexer with a different length than the value )xs    r   <lambda>,test_where_setitem_invalid.<locals>.<lambda>   s    's +* *r   abcr   slicer)      r   r8   )r   r7   r   abcdefr6   r   )r   br7   der'   )arm   cr   r7   r'   z	list-liker
   rm   rs   )r   r   objectr,   r-   r?   r   r   r   r>   r   r3   )rC   r   r   s      r   test_where_setitem_invalidru      s^   
	* 
 	tE{&)A	zW	6eBi!A 
7 %(^AaFi H188BHH-x8 	tH~V,A	zW	6b	?!Aa% 
7 	tH~V,AE!H~Aa!eH01H1' 	tH~V,A	zW	6eBi#2 
7 E!H~AbH01H1' 	tE{&)A	z[)9	:E"I) 
; 	tE{&)A	z[)9	:E!H~) 
; 	tE{&)Ab	?AaDtE"IS12H1'W 
7	6 
7	6 
7	6 
;	:
 
;	:s;   L(LL(%L:=M
L
L%(
L7:
M	
Msizer   r4   r   )TFFFFTFitemg       @boxc                    [         R                  " X5      n[         R                  " U [        S9n[	        [        U5       VVs/ s H  u  pgU(       a  UOXV   PM     snn5      n[	        U5      n	X)U'   [        R                  " X5        [	        U5      n	U	R                  U) U" U/5      5      n
[        R                  " X5        [	        U5      n	U	R                  XC" U/5      5      n
[        R                  " X5        g s  snnf Nr   )
r   resizer   rB   r   	enumerater   r   r@   r   )rv   r   rw   rx   	selectionr    iuse_itemr   r   rD   s              r   test_broadcastr   !  s     		$%I99T'D :CI:NO:N;1tw	&:NOH 	tAiL1'tAWWiZdV-F6,tAVVIsD6{+F6, 	Ps   C>
c                     [        [        R                  R                  S5      R	                  S5      5      n U S:  nU R                  5       nUR                  USS9nX2L d   e[        R                  " UR                  5       X   5        [        R                  " X R                  U5      5        U R                  5       nUR                  X* SS9nX2L d   e[        R                  " X R                  X* 5      5        g )Nr   r   r   T)inplace)
r   r   rG   rH   rI   copyr@   r   r   rJ   )r   rO   rP   rD   s       r   test_where_inplacer   C  s    ryy$$Q'77:;Aq5D	
BXXdDX)F<<299;02wwt}-	
BXXdBX-F<<2wwtR01r   c                     [        [        [        S5      5      5      n [        [        [        S5      5      5      n[        R                  " X/5      nUR                  US:  5      n[        SS[        R                  SS[        R                  // SQS9n[        R                  " X45        SX"S:  '   [        / SQ/ SQS9n[        R                  " X$5        X"S:  ==   S	-  ss'   [        / S
Q/ SQS9n[        R                  " X$5        g )Nr8   r   r   r7   )r   r7   r   r   r7   r   r<   r   )r   r7   r   r   r7   r   r
   )r      r   r   r   r   )
r   r   r   pdconcatr@   r   rA   r   r   )s1rR   combrD   r   s        r   test_where_dupsr   T  s     
U1X	B	U1X	B99bXDZZq!Fq!RVVQ2662:LMH6, DN(0BCH4*NbN*2DEH4*r   c                  N   [        / SQ5      n U R                  U S:  S5      n[        US   5      (       a   e[        US   5      (       d   e[        US   5      (       d   e[        US   [        5      (       d   eUR
                  S:X  d   eU R                  U S:  / SQ5      n[        US   5      (       a   e[        US   5      (       d   e[        US   5      (       d   e[        US   [        5      (       d   eUR
                  S:X  d   eU R                  U S:  [        R                  " / SQ5      5      n[        US   5      (       a   e[        US   5      (       d   e[        US   5      (       d   e[        US   [        5      (       d   eUR
                  S:X  d   eg )NrY   r7   Xr   r   rt   )r   YZ)r   r@   r   
isinstancestrr   r   r`   )r   ws     r   test_where_numeric_with_stringr   i  s   yA	AsA!A$adadadC    77h	A'A!A$adadadC    77h	Arxx01A!A$adadadC    77hr   c                      SS/n [        U  Vs/ s H  n[        U5      PM     snSS9nUR                  [        SS/5      5      n[        [        R                  US   /SS9n[
        R                  " X45        g s  snf )Nz2016-12-31 12:00:04+00:00z 2016-12-31 12:00:04.010000+00:00zdatetime64[ns, UTC]r   FTr7   )r   r   r@   r   NaTr   r   )
timestampstserrP   r   s        r   test_where_datetimetzr     sq    -/QRJ

3
1)A,
3;P
QC	65$-(	)Brvvs1v&.CDH2( 4s   A9c                     [        [        R                  R                  SS/5      5      n U R	                  U S:  S5      n[        [        R                  R                  SS/5      5      n[
        R                  " X5        g )Nr7   r   r   )r   r   arraysSparseArrayr@   r   r   )r   rD   r   s      r   test_where_sparser     s^    
&&1v.
/CYYsax#Fbii++QF34H6,r   c                  n    [        / [        S9n U R                  / 5      n[        R                  " X5        g rz   )r   rB   r@   r   r   )r   rD   s     r   =test_where_empty_series_and_empty_cond_having_non_bool_dtypesr     s)    
5
!CYYr]F6'r   c           	          U " [         R                  " SSSS[        R                  // SQS9SS9nU " / SQSS9nUR	                  US:g  5      n[
        R                  " X5        g )	NAB)r   r   C)
categoriescategoryr   )r   r   r   r   r   r   )r   Categoricalr   rA   r@   r   assert_equal)frame_or_seriesexpdfress       r   test_where_categoricalr     sY    

S#sBFF3PC 
2*	EB
((29
COOCr   c                 0   U n[        SSUS9R                  S 5      n[        R                  " US   US   [        R                  /5      n[        R
                  " US   [        R                  US   /5      n[        R                  " / SQ5      nUR                  XT5      n[        R                  " Xb5        UR                  R                  XT5      n[        R                  " XbR                  5        [        U5      R                  XT5      n[        R                  " U[        U5      5        [        R                   " U5      R                  US S 2S 4   [        R                   " U5      5      n[        R"                  " U[        R                   " U5      5        g )Nz
2001-01-01r8   )periodstzr   r7   r   )TTF)r   
_with_freqr   DatetimeIndexr   r   r   r`   r@   r   assert_index_equal_data_whereassert_datetime_array_equalr   r   	DataFrameassert_frame_equal)tz_naive_fixturer   drlvalsrvalsr   r   s          r   #test_where_datetimelike_categoricalr     s*   	B	L!	3	>	>t	DBbeRUBFF34ENNBqE2662a512E88'(D ++d
"C#" ++

T
)C""31 -

d
*C3r
+ ,,u

#
#DDM2<<3F
GC#r||B/0r   )3numpyr   r,   pandas.core.dtypes.commonr   pandasr   r   r   r   r   pandas._testing_testingr   r   r!   markparametrizeint8r5   int16int32r3   float32r1   rE   rS   rV   r   tupler`   rZ   r   r^   rb   ru   r   rA   finforB   maxminr   r   r   r   r   r   r   r   r   re   r   r   <module>r      s>     0   
(( 	"**	2::	2::	2::	RZZ 	RZZ 

6-r):2 4&"AB- C- 
y!	<	 "&&)L*AB	

*.6(r q!-
/$H 
S"&&"((5/--rxx/B/BC 4 78- 9 .-42"+*4)-(1r   