
    bMh                     T   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                            dg d          d             Zej                            dg d          d	             Zej                            dg d          d
             Zej                            dg d          d             Zej                            dg d          d             Zej                            dg d          ej                            dg d          d                         Zej                            dg d          d             Zej                            dg d          d             Zej                            dg d          d             Zd ZdS )    )partialN)	DataFrameSeriesconcatisnanotna)offsetsc                 R   t          j        | d          }t          |dz  |j        d         dz
  z            }||j        d         dz
  k    r	|d         }nP||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	            i/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/window/test_rolling_quantile.pyscoreatpercentiler      s    WQQF
cCi6<?Q./
0
0C
fl1o!!! fl1o)*aFLOa/0c{cAgt4tDDM    q)g        g?g      ?g?r   c                 n   t          t          |          }|                     d|                              |          }t	          |t
                    sJ t          dt          |           |pd          d         dz   }t          j	        |j
        d          || |dz
  |                              d S )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    ,!444L^^BT^**33A66Fff%%%%%
3v;;	
*
*2
.
2C6;r?LLb39O,P,PQQQQQr   c                    t          t          |          }|                    d|                              |          }t	          |t
                    sJ t          dt          |          |pd          d         dz   }t          j	        |j
        dd d f         |j
        |dz
  |d d f                             |d|           d	           d S )
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    ,!444L]]2D]))22155Ffi(((((
3u::tyq
)
)"
-
1CBE
38c>111$%++Lqc+JJ     r   c                    t          t          |          }d}| d d d                             d                                          }|                    |d                              |          }|j        d         }|dt          j                    z  z
  }| d d d         	                    ||          }t          j        |j        d          ||                     d S )	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    ,!444L
C
1+

s
#
#
(
(
*
*CKKsK;;DDQGGM#B'IB//I##A#;''	9==L=-b1<<3M3MNNNNNr   c                    t          t          |          }d}|d d d                             d                                          }|                    |d                              |          }|j        d         }|dt          j                    z  z
  }|d d d         	                    ||          }	t          j        |                    |          |	                    || 	          d
           d S )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    ,!444L
C
!*

c
"
"
'
'
)
)C;;cr;::CCAFFL"2&IB//I!*%%i;;K	"",C00     r   c                    t          t          |           }t          t          j                            d                              d                    }t          j        |d d<   t          j        |dd <   |                    dd          	                    |           }t          j        |j        d          ||dd                              |                    d	d
          	                    |           }t          |j        d                   sJ t          |j        d                   rJ t          |j        d                   rJ t          |j        d                   sJ t          t          j                            d                              d	                    }|                    dd          	                    |           }t          |j        d                   sJ t          |j        d                   sJ |                    d	d          	                    |           }|                    d	d          	                    |           }t          j        ||           d S )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   ,!444L
&&q))99"==
>
>CvCHCI[[[,,55a88F6;r?LLRV,E,EFFF [[[,,55a88FB     FKO$$$$$FKO$$$$$B     ")''**::2>>??D\\"!\,,55a88FAQ     kk"!k,,55a88Gkk"!k,,55a88G7G,,,,,r   minp)r   c   d   c                    |                      t          |           dz   ||                              |          }|                      t          |           ||                              |          }t          |          }t	          j        |t          |                     | }t	          j        ||         ||                    d S )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KK!OD^IIRRSTUUF~~c&kkt$~GGPPQRSSHF||H8T(^^444yH6(+Xh-?@@@@@r   c                 ,   t          t          j                            d                              d                    }t          j        |d d<   t          j        |dd <   |                    dd                              |           }t          |t          t          j        gdz            g                              d                              |           j	        dd          
                    d	          }t          j        ||           d S )
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vCHCI[[D[))22155FVRVHqL))*++		!	abb	 
$		  68,,,,,r   c                    d t          d          D             }|                     t          | j                  |z                                 d                              |                              d                              | j                  }|                     dd                              |          }t          j        ||           d S )Nc                     g | ]}d |d	S xd .0rx   s     r   
<listcomp>z.test_center_reindex_series.<locals>.<listcomp>        &&&qQ&&&r      r;   r@   Tr@   rp   )	r(   reindexlistrE   r%   r&   shiftr*   r6   )r-   r   s	series_xp	series_rss        r   test_center_reindex_seriesr      s     	'&E"II&&&A 	tFL))A-..				!	s			  b66??BBI9i00000r   c                    d t          d          D             }|                     t          | j                  |z                                 d                              |                              d                              | j                  }|                     dd                              |          }t          j        ||           d S )Nc                     g | ]}d |d	S rw   rz   r{   s     r   r}   z-test_center_reindex_frame.<locals>.<listcomp>   r~   r   r   r;   r   r   Tr   )	r(   r   r   rE   r%   r&   r   r*   assert_frame_equal)r8   r   r   frame_xpframe_rss        r   test_center_reindex_framer      s     	'&E"II&&&A 	d5;''!+,,				!	s			  }}Bt}44==a@@H(H-----r   c                      t          g d          } t          j        t                    5  |                     d                              d           d d d            d S # 1 swxY w Y   d S )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	2 , ,			!s+++, , , , , , , , , , , , , , , , , ,s   *A""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   rz   r   r   <module>r      s                                 " " " " " "  $ 77788R R 98R 77788	 	 98	 77788	O 	O 98	O 77788  98  77788- - 98-6 ..77788A A 98 /.A 77788- - 98-  777881 1 981  77788. . 98., , , , ,r   