
    m*iV4                        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S  S! S" /5      S# 5       5       5       5       r*S$ r+S% r,S& r-\R                   R#                  S'S(S)/5      S* 5       r.S+ r/S, r0S- r1S. r2S/ r3g)0    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       g/var/www/html/land-doc-ocr/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[        U[        [	        SS5      5      -   US9n[        R
                  " U 5      R                  [        R
                  " U5      R                  s=:X  a  S:X  a  O  OS O[        n[        R                  " USS9   X2U'   S S S 5        [        R                  " X%5        g ! , (       d  f       N%= f)Nr
   r   )      @      @      @      @g      @r   fincompatible dtypematch)r   r   r   r   r   r   kindFutureWarningr   assert_produces_warningr   )r   expected_dtyper   valuesr   r   warns          r   test_where_unsafe_upcastr1   (   s     	ryy}E*A&Fq5DftE!RL11HH 88E?288N#;#@#@GCG 	 	
 
	#	#D0D	E$ 
F1' 
F	Es   1C
C#c            	      v   [        [        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        [
        R                  " X5        [        [        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,   r   r   pytestraises
ValueErrorwherenanastypefloatr   )r   r/   r   r   msgresults         r   test_where_unsaferG   C   s   ryy}G,A!Fq5Dd58nv-Y?H		#	#M9M	N$ 
O1' 	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,[ 
O	N, 
.	- 
.	-s$    L,L	L)
L
L&)
L8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_normalrA   dropnar   r   absshaper=   reindexiloc)r   condrsrs2s2r   s         r   
test_whererU   {   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   rI   rJ   rK   r>   r?   r@   rA   r/   r   r   )r   rQ   rE   r   s       r   test_where_errorrX      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   rB   rA   r   r   )rY   r   rQ   r   rF   s        r   test_where_array_liker\      sG     	yADrvvq!n%HWWU4[!F6,r   rQ   )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)Nr[   z(Boolean array expected for the conditionr)   rW   T)r   r>   r?   r@   rA   )rQ   r   rE   s      r   test_where_invalid_inputr`      sm     	yA
4C	z	-	 
. 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)NrW   r[   Tr)   r7   )FTFTr   )
r   r>   r?   r@   rA   r   rB   r   r   array)rE   r   rQ   r   outs        r   test_where_ndframe_alignrd      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'   )arp   cr   r7   r'   z	list-liker
   rp   rv   )r   r   objectr>   r?   r@   r   r   r   rC   r   r3   )rE   r   r   s      r   test_where_setitem_invalidrx      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                 0    [         R                  " U /5      $ N)r   rb   rh   s    r   rj   rj   ,  s    bhhsmr   c                     U /$ r}   rg   rh   s    r   rj   rj   ,  s    sr   c                     U 4$ r}   rg   rh   s    r   rj   rj   ,  s    qdr   c                    [         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   rD   r   	enumerater   r   rA   r   )ry   r   rz   r{   	selectionr    iuse_itemr   r   rF   s              r   test_broadcastr   "  s     		$%I99T'D :CI:NO:N;1tw	&:NOH 	tAiL1'tAWWiZT+F6,tAVVIs4y)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  [        R                  " UR                  5       X   5        [        R                  " X R                  U5      5        U R                  5       nUR                  X* SS9  [        R                  " X R                  X* 5      5        g )Nr   r   r   T)inplace)
r   r   rI   rJ   rK   copyrA   r   r   rL   )r   rQ   rR   s      r   test_where_inplacer   H  s    ryy$$Q'77:;Aq5D	
BHHT4H 299;02wwt}-	
BHHT2tH$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concatrA   r   rB   r   r   )s1rT   combrF   r   s        r   test_where_dupsr   W  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 )Nr[   r7   Xr   r   rw   )r   YZ)r   rA   r   
isinstancestrr   r   rb   )r   ws     r   test_where_numeric_with_stringr   l  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   r   ztimedelta64[ns]zdatetime64[ns]c                    [        SS/U S9n[        SS/5      n[        R                  " SS/5      nSn[        R                  " [
        US9   UR                  USS/5      nS S S 5        [        R                  " WU5        [        R                  " [
        US9   UR                  US5      nS S S 5        [        R                  " XR5        [        R                  " [
        US9   UR                  US5      nS S S 5        [        R                  " XR5        [        R                  " [
        US9   UR                  USS/5      nS S S 5        [        R                  " XR5        UR                  US[        R                  /5      n[        S[        R                  /S	S9n[        R                  " XR5        g ! , (       d  f       GNY= f! , (       d  f       GN = f! , (       d  f       N= f! , (       d  f       N= f)
Nr7   r   r   r
   Fz<Downcasting behavior in Series and DataFrame methods 'where'r)   g      $@rw   )	r   r   rb   r   r-   r,   rA   r   rB   )r   serr   r   rE   rR   s         r   test_where_datetimelike_coercer     sk   
!Qu
%Cr2hH88UEN#D
HC		#	#M	=YYtb"X& 
>2x(		#	#M	=YYtR  
>2(		#	#M	=YYtT" 
>2(		#	#M	=YYtdD\* 
>2(	4$	(Br266l(3H2(% 
>	= 
>	= 
>	= 
>	=s0   F4G$G.G)4
G
G
G&)
G7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   rA   r   NaTr   r   )
timestampstr   rR   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SparseArrayrA   r   r   )r   rF   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 r   )r   rD   rA   r   r   )r   rF   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   rB   rA   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   rb   rA   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   )4numpyr   r>   pandas.core.dtypes.commonr   pandasr   r   r   r   r   pandas._testing_testingr   r   r!   markparametrizeint8r5   int16int32r3   float32r1   rG   rU   rX   r   tuplerb   r\   r   r`   rd   rx   r   rB   finforD   maxminr   r   r   r   r   r   r   r   r   r   rg   r   r   <module>r      sk     0   
(( 	"**	2::	2::	2::	RZZ 	RZZ 
(
( 5-p):2 4&"AB- C- 
y!	<	 "&&)L*AB	

*.6(r q!-
/$H 
S"&&"((5/--rxx/B/BC
 	#]NC- .-42+*4 #46F"GH) I)6)-(1r   