
    Owg                     *   d dl mZ d dlZd dlZd dlmZmZmZm	Z	m
Z
 d dlmZ d dlmZ d Zej"                  j%                  dg d      d        Zej"                  j%                  dg d      d	        Zej"                  j%                  dg d      d
        Zej"                  j%                  dg d      d        Zej"                  j%                  dg d      d        Zej"                  j%                  dg d      ej"                  j%                  dg d      d               Zej"                  j%                  dg d      d        Zej"                  j%                  dg d      d        Zej"                  j%                  dg d      d        Zd Zy)    )partialN)	DataFrameSeriesconcatisnanotna)offsetsc                 J   t        j                  | d      }t        |dz  |j                  d   dz
  z        }||j                  d   dz
  k(  r|d   }|S ||j                  d   dz
  z  }|dz   |j                  d   dz
  z  }||   }||dz      }|||z
  ||z
  z  ||z
  z  z   }|S )Nr   )axis      ?   )npsortintshape)	apervaluesidxretvalqlowqhigvlowvhigs	            `/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/window/test_rolling_quantile.pyscoreatpercentiler      s    WWQQF
cCi6<<?Q./
0C
fll1o!! M fll1o)*aFLLOa/0c{cAgt4tDDM    q)g        g?g      ?g?r   c                 ,   t        t        |      }| j                  d|      j                  |      }t	        |t
              sJ t        dt        |       |xs d      d   dz   }t        j                  |j                  d    || |dz
  |              y )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                 p   t        t        |      }|j                  d|      j                  |      }t	        |t
              sJ t        dt        |      |xs d      d   dz   }t        j                  |j                  dd d f   |j                  |dz
  |d d f   j                  |d|       d	       y )
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                    t        t        |      }d}| d d d   j                  d      j                         }|j	                  |d      j                  |      }|j                  d   }|dt        j                         z  z
  }| d d d   j                  ||      }t        j                  |j                  d    ||             y )	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#;''	9=L=--b1<3MNr   c                    t        t        |      }d}|d d d   j                  d      j                         }|j	                  |d      j                  |      }|j                  d   }|dt        j                         z  z
  }|d d d   j                  ||      }	t        j                  |j                  |      |	j                  || 	      d
       y )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	",C0r   c                 ^   t        t        |       }t        t        j                  j                  d      j                  d            }t        j                  |d d t        j                  |dd  |j                  dd      j                  |       }t        j                  |j                  d    ||dd              |j                  d	d
      j                  |       }t        |j                  d         sJ t        |j                  d         rJ t        |j                  d         rJ t        |j                  d         sJ t        t        j                  j                  d      j                  d	            }|j                  dd      j                  |       }t        |j                  d         sJ t        |j                  d         sJ |j                  d	d      j                  |       }|j                  d	d      j                  |       }t        j                  ||       y )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7G,r   minp)r   c   d   c                 L   | j                  t        |       dz   ||      j                  |      }| j                  t        |       ||      j                  |      }t        |      }t	        j
                  |t        |             | }t	        j                  ||   ||          y )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D^IRRSTUF~~c&kt$~GPPQRSHF|H8T(^4yH6(+Xh-?@r   c                    t        t        j                  j                  d      j	                  d            }t        j
                  |d d t        j
                  |dd  |j                  dd      j                  |       }t        |t        t        j
                  gdz        g      j                  d      j                  |       j                  dd  j                  d	      }t        j                  ||       y )
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	 
$	  68,r   c                    t        d      D cg c]  }d|d
 }}| j                  t        | j                        |z         j	                  d      j                  |      j                  d      j                  | j                        }| j	                  dd      j                  |      }t        j                  ||       y c c}w 	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&q1QqE&A& 	tFLL)A-.			!	s		  b6??BI9i0 	'   Cc                    t        d      D cg c]  }d|d
 }}| j                  t        | j                        |z         j	                  d      j                  |      j                  d      j                  | j                        }| j	                  dd      j                  |      }t        j                  ||       y c c}w 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&q1QqE&A& 	d5;;'!+,			!	s		  }}Bt}4==a@H(H- 	'r   c                      t        g d      } t        j                  t              5  | j	                  d      j                  d       d d d        y # 1 sw Y   y xY w)N)r   r<   r]   r^   r<   g?)r&   )r   r*   assert_produces_warningFutureWarningr%   r&   )r}   s    r    test_keyword_quantile_deprecatedr      sH    |A		#	#M	2 ,			!s+, , ,s   "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   