
    Mh                     *   S SK Jr  S SKrS SKrS SKJrJrJrJ	r	J
r
  S SKJr  S SKJr  S r\R"                  R%                  S/ SQ5      S 5       r\R"                  R%                  S/ SQ5      S	 5       r\R"                  R%                  S/ SQ5      S
 5       r\R"                  R%                  S/ SQ5      S 5       r\R"                  R%                  S/ SQ5      S 5       r\R"                  R%                  S/ SQ5      \R"                  R%                  S/ SQ5      S 5       5       r\R"                  R%                  S/ SQ5      S 5       r\R"                  R%                  S/ SQ5      S 5       r\R"                  R%                  S/ SQ5      S 5       rS rg)    )partialN)	DataFrameSeriesconcatisnanotna)offsetsc                 :   [         R                  " U SS9n[        US-  UR                  S   S-
  -  5      nX2R                  S   S-
  :X  a  US   nU$ X2R                  S   S-
  -  nUS-   UR                  S   S-
  -  nX#   nX#S-      nXxU-
  X-
  -  Xe-
  -  -   nU$ )Nr   )axis      ?   )npsortintshape)	apervaluesidxretvalqlowqhigvlowvhigs	            [/var/www/html/env/lib/python3.13/site-packages/pandas/tests/window/test_rolling_quantile.pyscoreatpercentiler      s    WWQQF
cCi6<<?Q./
0C
ll1o!! M ll1o)*aFLLOa/0{Ag4DDM    q)g        g?g      ?g?r   c                 4   [        [        US9nU R                  SUS9R                  U5      n[	        U[
        5      (       d   e[        S[        U 5      U=(       d    S5      S   S-   n[        R                  " UR                  S   U" XS-
  U 5      5        g )Nr   2   stepr   r   r   )r   r   rollingquantile
isinstancer   rangelentmassert_almost_equaliloc)seriesr   r$   compare_funcresultends         r   test_seriesr1   $   s    ,!4L^^BT^*33A6Fff%%%%
3v;	
*2
.
2C6;;r?Lb39O,PQr   c           	      n   [        [        US9nUR                  SUS9R                  U5      n[	        U[
        5      (       d   e[        S[        U5      U=(       d    S5      S   S-   n[        R                  " UR                  SS S 24   UR                  US-
  U2S S 24   R                  USU S9SS	9  g )
Nr!   r"   r#   r   r   r   )r   rawFcheck_names)r   r   r%   r&   r'   r   r(   r)   r*   assert_series_equalr,   apply)r3   framer   r$   r.   r/   r0   s          r   
test_framer9   -   s    ,!4L]]2D])2215Ffi((((
3u:tyq
)"
-
1CBE

38c>1$%++Lqc+Jr   c                    [        [        US9nSnU S S S2   R                  S5      R                  5       nUR	                  USS9R                  U5      nUR                  S   nUS[        R                  " 5       -  -
  nU S S S2   R                  Xv5      n[        R                  " UR                  S   U" U5      5        g )	Nr!         B
   windowmin_periodsr      )r   r   resamplemeanr%   r&   indexr	   BDaytruncater*   r+   r,   )	r-   r   r.   winserseries_result	last_date	prev_datetrunc_seriess	            r   test_time_rule_seriesrN   :   s    ,!4L
C
1+

s
#
(
(
*CKKsK;DDQGM##B'IB//I#A#;''	=L=--b1<3MNr   c                    [        [        US9nSnUS S S2   R                  S5      R                  5       nUR	                  USS9R                  U5      nUR                  S   nUS[        R                  " 5       -  -
  nUS S S2   R                  X5      n	[        R                  " UR                  U5      U	R                  X0S	9S
S9  g )Nr!   r;   r<   r=   r>   r?   r   rB   )r3   Fr4   )r   r   rC   rD   r%   r&   rE   r	   rF   rG   r*   r6   xsr7   )
r3   r8   r   r.   rH   frmframe_resultrK   rL   trunc_frames
             r   test_time_rule_framerT   G   s    ,!4L
C
!*

c
"
'
'
)C;;cr;:CCAFL""2&IB//I!*%%i;K	",0r   c                 x   [        [        U S9n[        [        R                  R                  S5      R                  S5      5      n[        R                  US S& [        R                  USS & UR                  SSS9R                  U 5      n[        R                  " UR                  S   U" USS 5      5        UR                  S	S
S9R                  U 5      n[        UR                  S   5      (       d   e[        UR                  S   5      (       a   e[        UR                  S   5      (       a   e[        UR                  S   5      (       d   e[        [        R                  R                  S5      R                  S	5      5      nUR                  SSS9R                  U 5      n[        UR                  S   5      (       d   e[        UR                  S   5      (       d   eUR                  S	SS9R                  U 5      nUR                  S	SS9R                  U 5      n[        R                  " XV5        g )Nr!   r<   r"   r>      )rA   r            rB   i         r   r   )r   r   r   r   randomdefault_rngstandard_normalnanr%   r&   r*   r+   r,   r   r   )r   r.   objr/   obj2result0result1s          r   	test_nansrg   X   s   ,!4L
&&q)99"=
>CvvCHCI[[[,55a8F6;;r?LR,EF [[[,55a8FB    FKKO$$$$FKKO$$$$B    "))''*::2>?D\\"!\,55a8FAQ    kk"!k,55a8Gkk"!k,55a8G7,r   minp)r   c   d   c                 <   U R                  [        U 5      S-   XS9R                  U5      nU R                  [        U 5      XS9R                  U5      n[        U5      n[        R
                  " U[        U5      5        U) n[        R                  " XF   XV   5        g )Nr   )rA   r$   )r%   r)   r&   r   r*   r6   r+   )r-   rh   r   r$   r/   expectednan_masks          r   test_min_periodsrn   t   s     ^^CK!O^IRRSTUF~~c&kt~GPPQRSHF|H8T(^4yH6+X-?@r   c                    [        [        R                  R                  S5      R	                  S5      5      n[        R
                  US S& [        R
                  USS & UR                  SSS9R                  U 5      n[        U[        [        R
                  /S-  5      /5      R                  S5      R                  U 5      R                  SS  R                  SS	9n[        R                  " X#5        g )
Nr<   r"   r>   rV   rX   T)center	   )drop)r   r   r_   r`   ra   rb   r%   r&   r   r,   reset_indexr*   r6   )r   rc   r/   rl   s       r   test_centerrt      s    
&&q)99"=
>CvvCHCI[[D[)2215FVRVVHqL)*+		!	ab	 
$	  6,r   c                    [        S5       Vs/ s H	  nSUS 3PM     nnU R                  [        U R                  5      U-   5      R	                  SS9R                  U5      R                  S5      R                  U R                  5      nU R	                  SSS9R                  U5      n[        R                  " XE5        g s  snf 	N   xdr;   )r@   iT)r@   rp   )	r(   reindexlistrE   r%   r&   shiftr*   r6   )r-   r   rx   s	series_xp	series_rss         r   test_center_reindex_seriesr      s     ""I&Iq1QqEIA& 	tFLL)A-.			!	s		  b6??BI90 	'   Cc                    [        S5       Vs/ s H	  nSUS 3PM     nnU R                  [        U R                  5      U-   5      R	                  SS9R                  U5      R                  S5      R                  U R                  5      nU R	                  SSS9R                  U5      n[        R                  " XE5        g s  snf rv   )	r(   rz   r{   rE   r%   r&   r|   r*   assert_frame_equal)r8   r   rx   r}   frame_xpframe_rss         r   test_center_reindex_framer      s     ""I&Iq1QqEIA& 	d5;;'!+,			!	s		  }}Bt}4==a@H(- 	'r   c                      [        / SQ5      n [        R                  " [        5         U R	                  S5      R                  SS9  S S S 5        g ! , (       d  f       g = f)N)r   r<   r]   r^   r<   g?)r&   )r   r*   assert_produces_warningFutureWarningr%   r&   )r}   s    r    test_keyword_quantile_deprecatedr      s?    |A		#	#M	2			!s+ 
3	2	2s   A
A)	functoolsr   numpyr   pytestpandasr   r   r   r   r   pandas._testing_testingr*   pandas.tseriesr	   r   markparametrizer1   r9   rN   rT   rg   rn   rt   r   r   r    r   r   <module>r      s        "$ 78R 9R 78	 9	 78	O 9	O 78 9  78- 9-6 .78A 9 /A 78- 9-  781 91  78. 9.,r   