403Webshell
Server IP : 209.209.40.120  /  Your IP : 216.73.217.112
Web Server : Microsoft-IIS/10.0
System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586
User : NEWWWW$ ( 0)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python312/Lib/site-packages/pandas/tests/window/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python312/Lib/site-packages/pandas/tests/window/__pycache__/test_rolling.cpython-312.pyc
�

1	�g�����&�ddlmZmZddlZddlZddlmZmZmZddl	m
Z
mZmZm
Z
mZmZmZmZmZmZddlmZddlmZddlmZddlmZd�Zd	�Zej>jAd
ddejBd
g�g�d��Z"ej>jAded��ed��deedd��ed���g�d��Z#ej>jAdddg�d��Z$ej>jAded��ed��g�d��Z%ej>jAded��ed��dg�d��Z&d�Z'ej>jAd d!gd"�gd#�gd$�gd%�gd&�gfd'gd(�gd"�gd)�gd*�gd&�gfd+gd"�gd)�gd*�gd&�gd,�gfd-gd(�gd.�gd/�gd0�gd,�gfg�d1��Z(ej>jAd2d3d+gd4�fd3d!gd4�fd3d'gd4�fd3d-gd4�fd5d+gd6�fd5d!gd4�fd5d'gd7�fd5d-gd8�fg�d9��Z)ej>jAd2d:d+gd;�fd:d'gd<�fd:d!gd=�fd:d-gd>�fg�d?��Z*ej>jAd@d'ejVejVddddAdBdBdCdDg
fd-ejVejVddddEdddFdGg
fd+gdH�fd!gdI�fg�dJ��Z,ej>jAd@d'ejVejVddddAdKdKdCdDg
fd-ejVejVddddAdKdKdFdGg
fd+gdL�fd!gdM�fg�dN��Z-dO�Z.dP�Z/ej>jAdQd-d'g�dR��Z0ej>jAdSdTdUg�dV��Z1ej>jAdSdTdUg�dW��Z2ej>jAdXdYdZg�ej>jAd[dTd+gd\�fdTd!gd]�fdTd-ejVdddd
dd^dd_d`g
fdTd'ejVddddd
dd^dd_g
fdUd+gda�fdUd!gda�fdUd-ejVddd
dd^dd_d`dGg
fdUd'ejVddd
dd^dd_d`dGg
fg�db���Z3dc�Z4ej>jAd[dTd+ejVdddd
dd^dejVejVg
fdTd!ejVddddd
dd^dejVg
fdTd-ejVejVddd
dd^dejVejVg
fdTd'ejVejVdddd
dd^dejVg
fdUd+ejVdd
dd^dd_d_ejVejVg
fdUd!ejVdd
dd^dd_d_d_ejVg
fdUd-ejVejVdd
dd^dd_ejVejVg
fdUd'ejVejVdd
dd^dd_d_ejVg
fg�dd��Z5ej>jAd@d+gde�fd!gdf�fd-ejVddgdhdidjdkdldmdng
fd'ejVddgdd
dd^dd_d`g
fg�do��Z6ej>jAdpdqdg�dr��Z7ds�Z8dt�Z9du�Z:dv�Z;dw�Z<dx�Z=dy�Z>dz�Z?ej>jAd{d|d}g�d~��Z@d�ZAd��ZBd��ZCej>jAd�e
gd��gd��d���dgd^gd��dgfdd
gd^dgd��ddgfgd��gd��d��gd��fgddfe
gd��gd��d���dgd^gd��dgfdd
gd^dgd��ddgfd
dgdd_gd��dd
gfgd
dfe
gd��gd��d���dgd^gd��dgfdd
gd^dgd��ddgfd
dgdd_gd��dd
gfgd
d
fe
gd��gd��d���dgd^gd��dgfd
gdgd��dgfdgd_gd��d
gfgddfe
gd��gd��d���dgd^gd��dgfd
gdgd��dgfdgd_gd��d
gfgddfe
dgd^gd���gd
dfe
dgd^gd���gd
dfe
�igfgd
dfe
dejVdgejVdd_gd���d�gejVgd��dgfdejVgejVdgd��ddgfdejVdgejVdd_gd��gd��fgdd
fg	�d���ZDej>jAd�dgd^gd��dgfdd
gd^dgd��ddgfd
dgdd_gd��dd
gfgd:fdgd^gd��dgfdd
gd^dgd��ddgfgd��gd��d��gd��fgdfdgd^gd��dgfd
gdgd��dgfdgd_gd��d
gfgd�fg�d���ZEd��ZFej>jAd�e
gd���dgdgfdd
gddgfgd��gd��fgddfe
gd���dgdgfdd
gddgfgd��gd��fgddfe
gd���dgdgfdd
gddgfd
dgdd
gfgd
dfe
gd���dgdgfdd
gddgfd
dgdd
gfgd
d
fe
gd���dgdgfd
gdgfdgd
gfgddfe
gd���dgdgfd
gdgfdgd
gfgddfe
dd
g�dgdgfdd
gddgfgd
dfe
gd����gd
dfg�d���ZGej>jAd�dgdgd
gdgd^gged�dd����ed�dd����ed�dd����ed�dd����ed�dd����gd�fdgddgdd
gd
dgdd^gged�dd����ed�d
d����ed�d
d����ed�d
d����ed�d
d����gd:fdgddggd��gd��gd��ged�dd����ed�d
d����ed�dd����ed�dd����ed�dd����gdfg�d���ZHej>jAd�d�diej�gd��ddg���fd�d�iej�gd��d�dg���fg�d���ZJej>jAd�d�dg�d���ZKd��ZLd��ZMd��ZNd��ZOej>jAd�gd���d���ZPd��ZQej>jAd�d�ed��ed��g�d���ZRd��ZSej>jAd�ed�d�dT���d�fed�d�d����d�fg�ej>jAd�dTejVdddd
dd^dd_g	fdUejVddd
dd^dd_d`g	fd�ejVddddd`dEd�dFg	fg�d����ZTd��ZUej>j�e�xse�d��«ej>jAd�d�dgdŢfd�dgdǢfd�d
gdȢfd�d
gdɢfg�dʄ��ZWd˄ZXej>jAd�gd͢�d΄�ZYej>jAd2d5d+gdϢfd5d'gdТfd5d!gdѢfd5d-gdҢfd3d+gdѢfd3d'gdѢfd3d!gdѢfd3d-gdѢfg�dӄ�ZZej>jAd�d�gd֢fd�gdآfg�dل�Z[ej>jAd�d�e\d۫d�e\d۫d�d�d�d�d�gfd�e\d۫dne\d۫d�d�d�d�d�gfd�e\d۫d�e\d۫d�d�d�d�d�gfd�e\d۫d�e\d۫d�d�d�d�d�gfd�e\d۫d�e\d۫d�d�d�d�d�gfg�d���Z]ej>jAd�gd��d
fed�d�d���d:fg�d���Z^�d�Z_ej>jAd�d�d�g��d��Z`ej>jA�dd�g�d�fd�g�d�fg��d��Za�d�Zbej>jAdd�dg��d��Zc�d	�Zd�d
�Zeej>jA�ddg�d�fd
g�d
�fg��d��Zf�d�Zg�d�Zh�d�Zi�d�Zjej>jAdg�d��ej>jAd�g�d��ej>jA�dd|d}g�ej>jA�dd|d}g�ej>jA�dg�d���d������Zk�d�Zlej>jA�dg�d��ej>jA�dg�d��ej>jA�dg�d �g�d!�d�ejV�d"ejV�d#gejVejVejVejVgejV�d$ejV�d%�d#dggdggejV�d&�d'gg��d(����Zm�d)�Zn�d*�Zo�d+�Zp�d,�Zq�d-�Zr�d.�Zsej>jAg�d/��d0dAdAej�ddd
dgddejV�d1�d2d�d3d�d4dgg�d0dAdAejVdAdd
dgddejV�d1�d2dd�d3�d5dggejVdd_d`dddgddejVgdzg�d6�zgdd`d`d`ejVej�d^dddg
ddejVgd
z�d7dgzejVgd^zz�d4dgzgdd`d`d`ejVej�d`dddg
ddejVgd
z�d7dgzejVgd^zz�d8dgzgdd`gd^zddejVgd
z�d7gd_zzgdd`dejVd`dd`gdd
ejVd
�d7gd
gdzz�d7gzgg��d9��Zu�d:�Zv�d;�Zw�d<�Zxej>jA�d=ddg�ej>jA�d>d|d}g��d?���Zyej>jA�d@eze{g��dA��Z|ej>jA�d=ddg�ej>jA�d>d|d}g�ej>jA�d@eze{g��dB����Z}ej>jA�dCg�dD��ej>jA�dEg�dF���dG���Z~y(H�)�datetime�	timedeltaN)�IS64�is_platform_arm�is_platform_power)
�	DataFrame�
DatetimeIndex�
MultiIndex�Series�	Timedelta�	Timestamp�
date_range�period_range�to_datetime�to_timedelta)�BaseIndexer)�VariableOffsetWindowIndexer)�BusinessDayc���tddddtjdgi�}||jd�j	�|jdd��j	�y)N�Br�����min_periods)r�np�nan�rolling�sum)�dfs �BC:\Python312\Lib\site-packages\pandas/tests/window/test_rolling.py�test_doc_stringr""sP��	�C�!�Q��2�6�6�1�-�.�	/�B���J�J�q�M�����J�J�q�a�J� �$�$�&�c��|td��j}|d�|d��|dd��|ddd��|ddd	��d
}tjt|��5|d�ddd�y#1swYyxYw)
N�rr��windowr�r'rT�r'r�centerFz&window must be an integer 0 or greater��match���)�ranger�pytest�raises�
ValueError)�frame_or_series�c�msgs   r!�test_constructorr5)s{��	��a��!�)�)�A��a�D��Q�K��Q�A���Q�A�d�+��Q�A�e�,�3�C�	���z��	-��	�"�����s�*	A<�<B�w�@�foorc���|td��j}djddg�}tjt
|��5||��ddd�d}tjt
|��5|d|�	�ddd�d
}tjt
|��5|dd|��ddd�y#1swY�kxYw#1swY�GxYw#1swYyxYw)
Nr%�|zwindow must be an integerz=passed window foo is not compatible with a datetimelike indexr+r&zmin_periods must be an integerrr(zcenter must be a booleanrr))r.r�joinr/r0r1)r2r6r3r4s    r!�test_invalid_constructorr<=s���	��a��!�)�)�A�

�(�(�'�K�	
��C�
���z��	-��	����+�C�	���z��	-�#�	���"�#�%�C�	���z��	-�-�	���!�,�-�-����#�#��-�-�s$�

B>�9C
�)C�>C�
C�Cr'���days�3Dz
2015-12-25r%��periodsr��index�offsetc��ttjd�tddd����}t	j
td��5|j|d�	�j�ddd�y#1swYyxYw)
N�
�
2015-12-24�D�rB�freq�rDz(^step (not implemented|is not supported)r+r=��step)	rr�arangerr/r0�NotImplementedErrorrr)r'r s  r!� test_freq_window_not_implementedrQUsi��
�
�	�	�"�
���r��<�
�B�
����#M�
�)�	�
�
�6��
�"�&�&�(�)�)�)�s�"A3�3A<�agg�cov�corrc���ttd��jdd��}tjt
d��5t
||��ddd�y#1swYyxYw)NrrrMzstep not implementedr+)rr.rr/r0rP�getattr)rR�rolls  r!�&test_step_not_implemented_for_cov_corrrXlsV���U�1�X��&�&�q�q�&�1�D�	���*�2H�	I�����c������s�A�A%c���d}tdtj|�itd|d����}tjddgtjd	d
d��}|j|��j
�}td|itd|d����}tj||�|jd
�j
�}tj||�y)NrG�valuerHrIrJrL���?�@�;@r=r&r@)	rrrOr�appendrr�tm�assert_frame_equal)r'�nr �
expected_data�result�expecteds      r!�&test_constructor_with_timedelta_windowrfts���	�A�	�	�"�)�)�A�,����q�s�;�
�B��I�I�s�C�j�"�)�)�C��q�*A�B�M�
�Z�Z�v�Z�
&�
*�
*�
,�F��	�-� ���q�s�;��H����&�(�+��z�z�$��#�#�%�H����&�(�+r#c��d}tdtj|�itd|d����}tdtjtj
dgtjdd	d
��itd|d����}|j
|d��j�}|j
|d��jt|�
�}tj||�tj||�y)NrGrZz
2017-08-08rIrJrLr\r]r^r=rr()�raw)rrrOrr_rrr�applyr`ra)r'rhrbr re�result_roll_sum�result_roll_generics       r!�0test_constructor_timedelta_window_and_minperiodsrl�s���	�A�	�	�"�)�)�A�,����q�s�;�
�B��	�"�)�)�R�V�V�S�M�2�9�9�S�$��+B�C�D���q�s�;��H��j�j��A�j�>�B�B�D�O��*�*�F��*�B�H�H��RU�H�V�����/�8�4����-�x�8r#c�6�|}tdgd�i�}tdgd�itdd����}t|jd|d�	�|��}t|jd
|d�	�|��j	d��}tj||�y)
N�A�rrrr=r�2020r%rArLrr��closedr�2DT��drop)rrrVr�reset_indexr`ra)rr�arithmetic_win_operators�	func_name�df_fixed�df_timerdres       r!�test_closed_fixedr{�s���(�I��#��/�0�H���o�.�j��QR�6S�T�G��W�����6�q��9����F��w�����V���;����	�����
�
���&�(�+r#zclosed, window_selections�both)TTFFF)TTTFF)FTTTF)FFTTT)FFFTT�left)TFFFF)FTTFF)FFTTF�right)FFFFT�neither)FTFFF)FFTFF)FFFTFc�j�|}tdgd�itdd����}td|D�cgc]#}t|dj||����%c}itdd����}|dk(rdd	i}ni}t|j	d
|dd�
�|�di|��}tj||d��ycc}w)Nrn)r[r\r7r]�@rpr%rArL�sem�ddofrrsrT)rrrr*F��check_dtype�)rrrV�ilocrr`ra)	rr�window_selectionsrwrxrz�sre�kwargsrds	         r!�%test_datetimelike_centered_selectionsr��s���b)�I��	�'�(�
�6�1�0M��G��	�CT�U�a�7�w�w�s�|�(�(��+�Y�7�9�U�V����+��H�
�E���!������W�����V��4��H����	��F�
���&�(��>��Vs�(B0
zwindow,closed,expected�3s)r]r]r]�2s)r]r7r7)r\r]r]�r\r7r7c���td�td�td�g}|gd�|��}|j||d��j�}|||��}tj||�y)Nz20130101 09:00:01z20130101 09:00:02)rrrrLT�rrr*)r
rrr`�assert_equal�r'rrrer2rDr rds       r!�,test_datetimelike_centered_offset_covers_allr��sk��&	�%�&��%�&��%�&�
�E�

��%�	0�B�
�Z�Z��v�d�Z�
;�
?�
?�
A�F��x�u�5�H��O�O�F�H�%r#rs)rrrrrrrr)rrrrrrrr)rr�r�r�r�rr)rrrrrrrrc���tgd��}|dgdz|t��}|||t��}|j|d|��j�}t	j
||�y)N)�
2020-01-01r��
2020-01-02r��
2020-01-03r��
2020-01-04r�r��rD�dtypeT)r*rr)r	�floatrrr`r�r�s       r!�+test_datetimelike_nonunique_index_centeringr�sb��
�		
�
�E�
�!��q���U�	;�B��x�u�E�B�H�
�Z�Z��t�F�Z�
;�
?�
?�
A�F��O�O�F�H�%r#zclosed,expectedrG����	�
r�)
rrr=r�rGr��r�r��)
rrr=r�rG�����c���tgd��}|td�|t��}|||t��}|jd|��j	�}tj||�y)N�
�
2011-01-01r��
2011-01-02r�r�z
2011-01-03�
2011-01-04r�z
2011-01-05z
2011-01-06rGr�rs�rr)r	r.r�rrr`r�)rrrer2rDr rds      r!�test_variable_window_nonuniquer�3s^��
�	
�

�E�
��r��%�u�	=�B��x�u�E�B�H�
�Z�Z��V�Z�
,�
0�
0�
2�F��O�O�F�H�%r#r�)
rrr=r�rGr�r��r�r�)
rrr=r�rGr�r�r�r�r�c��tgd��}|td�|t��}|||t��}td�}t	||��}|j||d��j
�}tj||�y)Nr�rGr�rrCrrq)	r	r.r�rrrrr`r�)rrrer2rDr rE�indexerrds        r!�%test_variable_offset_window_nonuniquer�Usu��
�	
�

�E�
��r��%�u�	=�B��x�u�E�B�H�
��^�F�)��f�E�G�
�Z�Z���A�Z�
>�
B�
B�
D�F��O�O�F�H�%r#c���ttd�tddd����}|jddd�	�j	�}tgd
�|j
��}t
j||�y)Nr=r�rI��startrKrBrLrsrTr))��?��?r)rr.rr�meanrDr`�assert_series_equal�r�rdres   r!�!test_even_number_window_alignmentr�ys[���u�Q�x�z��3�PQ�R�S�A�
�Y�Y�d��$�Y�
?�
D�
D�
F�F��m�1�7�7�3�H����6�8�,r#c�p�gd�}td|itddt|�����}|rgd�}ntjdd	d
d	dd	dg}t|dgtddt|����
�dd|�}|jt|�dd||��}|j
�}tj||�y)N)rrrrrrrr�
binary_colr��minr�rL)�UUUUUU�?r�皙�����?r���@�m�?r�g.�_x%I�?r�rr�r�r�r�)�columnsrDr}r)r'rrrr*rN)	rr�lenrrrr�r`ra)r*rN�datar rcrerrds        r!�test_closed_fixed_binary_colr��s���#�D�	�	�t���|�%��T��K�
�B�
�L�
�����C���S�#�x�H�
������|�%��]�AS�T��
��f�	�H��j�j��2�w�v�1�V�$���G��\�\�^�F����&�(�+r#rrc�&�|}ttjd�tddd����}|j	d|��}t||��}ttjgdz|j��}tj||�y)	Nr%�2000rsrJ�r�rD�1Dr�rL)
rrrOrrrVrrDr`r�)rrrwrx�serrWrdres       r!�test_closed_emptyr��ss��)�I�
�b�i�i��l�*�V�Q�T�*R�
S�C��;�;�t�F�;�+�D�
%�W�T�9�
%�
'�F��r�v�v�h��l�#�)�)�4�H����6�8�,r#�funcr��maxc���tdgtdd����}t|jdd��|��}t	j
|ttjg|j�	��y)
Nrr�rrAr��10Dr}r�rL)	rrrVrr`r�rrrD)r�r�rds   r!�test_closed_one_entryr��sX���q�c��F�A�!>�
?�C�
=�W�S�[�[��v�[�6��
=�
?�F����6�6�2�6�6�(�#�)�)�#D�Er#c�~�tgd�gd�d�tdd����}t|jdd	�
�dj	dd
��|��}tjgd�|jgd��}ttjdtjg|d��}tj||�y)N)rrr)r=rr�rnrr�r=rAr�rnF)�sortrr�r}r�)rnN)�arrays�names)r�rD�name)
rrrV�groupbyrr
�from_arraysrDrrrr`r�)r�r�rd�exp_idxres     r!�test_closed_one_entry_groupbyr��s�����9�
-����+��C��W����C�e��$�S�)�1�1�%��1�G����F��$�$�Y��	�	�,B�+�V�G��B�F�F�A�r�v�v�.�g�C�H�H����6�8�,r#�input_dtype�intr�zfunc,closed,expected)
r[rrrrr=rr%r��)
r[rrrrrr=rr%r�rr�r�)
r[rrr=rr%r�r�r�r�c��ttjd�j|�t	dd����}t|j
d|��|��}t||j��}tj||�y)NrGr�rAr�r@r�rL)
rrrO�astyperrVrrDr`r�)r�r�rrrer�rds      r!�test_closed_min_max_datetimer��sn�� �
�Y�Y�r�]�
!�
!�+�
.����,��C�
=�W�S�[�[��f�[�5�t�
<�
>�F��h�c�i�i�0�H����6�8�,r#c
�d�ttjd�tdd����}|j	|j
ddg��}|j
dd	�
�j�}ttjdddd
dddg|j
��}tj||�y)NrGr�rAr�rr%rLr@r}r�rrr=rr�)rrrOrrurDrr�rr`r�)r�rdres   r!�test_closed_unevenr��s���
�b�i�i��m�:�f�b�+I�
J�C��(�(����A�q�6�*�(�
+�C�
�[�[��f�[�
-�
1�
1�
3�F��r�v�v�q�!�Q��1�a��3�3�9�9�E�H����6�8�,r#c�\�ttjd�tdd����}|j	d�}tj
||jdd<t|jdd|�	�|��}t||j�
�}tj||�y)NrGr�rAr�r����r@r)rrrrL)rrrOrr�rrDrVrr`r�)r�rrrer�rds     r!�test_closed_min_max_minpr��s����b�i�i��m�:�f�b�+I�
J�C�

�*�*�W�
�C��&�&�C��	�	�"�#���
K�W�S�[�[��1�V�[�D�d�
K�
M�F��h�c�i�i�0�H����6�8�,r#)
rr�rrr=rr%r�r�r�)
rr�rr��@�@�@�@�@�@r�r�r�r�r�r�r�r�c�H�ttjd�tdd����}|j	d|��}t||j
��}|j
�}tj||�|jd�}tj||�y)	NrGr�rAr�r@r�rLr�)
rrrOrrrD�medianr`r��quantile)rrrer�rWrds     r!�test_closed_median_quantiler�sz���b�i�i��m�:�f�b�+I�
J�C��;�;�t�F�;�+�D��h�c�i�i�0�H�
�[�[�]�F����6�8�,�
�]�]�3�
�F����6�8�,r#�roller�1sc�L�t�}t�j|�j�}tj||�ttg���}ttg���j|�j�}tj||�y)NrL)rrrr`rar	)r�rerds   r!�tests_empty_df_rollingr�sz���{�H�
�[�
 �
 ��
(�
,�
,�
.�F����&�(�+��}�R�0�1�H�
�]�2�.�
/�
7�
7��
?�
C�
C�
E�F����&�(�+r#c�h�ttjtjtjg�}ttjd��j	d�}|j�}t
j||�|jd�}t
j||�y)Nr=r皙�����?)	rrrrOrr�r`r�r�)rerWrds   r!�!test_empty_window_median_quantiler�&su���r�v�v�r�v�v�r�v�v�.�/�H��"�)�)�A�,��'�'��*�D�
�[�[�]�F����6�8�,�
�]�]�3�
�F����6�8�,r#c�`�ttjg�}|jdd��j	�}tdg�}tj||�|jdd��j	�}ttjg�}tj||�y)Nrrrr[)rrrrrr`r���xrdres   r!�test_missing_minp_zeror�2s���	����x��A�
�Y�Y�q�a�Y�
(�
,�
,�
.�F��s�e�}�H����6�8�,��Y�Y�q�a�Y�
(�
,�
,�
.�F��r�v�v�h��H����6�8�,r#c��ttjgdztgd����}|j	td�d��j
�}td|j��}tj||�y)Nr)z
2017-01-01z
2017-01-04z
2017-01-06z
2017-01-07rL�2drrr[)
rrrr	rrrrDr`r�r�s   r!�test_missing_minp_zero_variabler@sc���	����1���T�U�	�A��Y�Y�y���A�Y�
6�
:�
:�
<�F��c����)�H����6�8�,r#c�N�tjddggd�gddg��}ttjd�|��}|jd	�j
�}tj|j|j�|jjgd
�k(sJ�y)Nrnr)�CrI�E�1�2�r�)rGr��r�r=)Nrr)r
�from_productrr�onesrrSr`�assert_index_equalr�rDr�)�colsr rds   r!�test_multi_index_namesrKs}���"�"�S�#�J��#@��c�
�S�D�	�2�7�7�7�#�T�	2�B�
�Z�Z��]�
�
�
 �F����&�.�.�"�*�*�5��<�<���!1�1�1�1r#c	��ttjd��}|j|�}|dk(r?d}tt	d�D�cic]}|tj
gdzdgdzz�� c}�}n*d}ttj
gdzdgd	zzgd
z�}t
jt|��5|jd|�
�j�}ddd�t
j|�ycc}w#1swY�%xYw)N)rGr�r�'The 'axis' keyword in DataFrame.rollingr�rr]r��5Support for axis=1 in DataFrame.rolling is deprecatedr�rGr+r=��axis)rrr	�_get_axis_numberr.rr`�assert_produces_warning�
FutureWarningrrra)�
axis_framer rr4�irerds       r!�test_rolling_axis_sumrUs���	�2�7�7�8�$�	%�B�
���z�*�D��q�y�7���5��9�M�a�a�"�&�&��A�����	�!9�9�M�N��F���r�v�v�h��l�c�U�R�Z�7�8�2�=�>��	�	#�	#�M��	=�6����A�J��/�3�3�5��6����&�(�+��N�6�6�s�	#C:�9"C?�?Dc��ttd�td�d��}|j|�}|dvrd}tgd�gd�d��}nd}tgd�gd�d��}tjt
|�	�5|j
d
|d��j�}ddd�tj|�y#1swY� xYw)
Nr=)r��y�rrDrr�r)r\r\r\)r7r7r7r+rr)rr)	rr.rr`rrr�countra)rr rr4rerds      r!�test_rolling_axis_countrgs���	��q���a��1�	2�B�
���z�*�D��|��7���?��I�J��E���?��I�J��	�	#�	#�M��	=�G����A�J�A��>�D�D�F��G����&�(�+�G�G�s�:#B<�<Cc�h�tjddtjddg�}|jd��t	|�jd�j
�}t	tjdtjtjdg�}tj||�y)Nrr=r%F)�writerr)	r�arrayr�setflagsrrr�r`r�)�arrrdres   r!�test_readonly_arrayr"ys{��
�(�(�A�q�"�&�&�!�Q�'�
(�C��L�L�u�L��
�C�[�
 �
 ��
#�
(�
(�
*�F��r�v�v�q�"�&�&�"�&�&�!�4�5�H����6�8�,r#c	���|}ttddd|��D�cic]	}|dgdz��c}�}|dvr\d}tjt|�	�5|j
j
d
|��j�j
}ddd�nGd}tjt|�	�5|j
d
|��j�}ddd�titddd|�
�D�cic]	}|dgdz��c}�tddd|��D�cic]	}|dgdz��c}��}tj|�ycc}w#1swY�txYw#1swY��xYwcc}wcc}w)Nz	2019-8-01z
2019-08-03rI)rK�tzrrrrr+rsrz'Support for axis=1 in DataFrame.rolling)rBrKr$r\z	2019-8-02z	2019-8-03r7)	rrr`rr�Trrra)r�tz_naive_fixturer$rr r4rdres        r!�test_rolling_datetimer'�ss��	�B�	�'��\��PR�S�T���Q�C�!�G��T�
�B��\�!�7��
�
'�
'�
�S�
A�	A��T�T�\�\�$�Z�\�8�<�<�>�@�@�F�	A�	A�8��
�
'�
'�
�S�
A�	=��Z�Z��:�Z�6�:�:�<�F�	=��		
�$�K����L����C�5�1�9���		
�$�K��3�2�N����C�5�1�9���		
��H����&�(�+��/	U�
	A�	A��	=�	=����s)�D;�6E�+"E�,E
�E
�E	�Er*TFc�>�tj�}t||td�zd��}t	j
t
|��}t||d��}|jdd��|jdd	d
|��djd
�}|jd�}|jd�}t	j
t
|�tj��}|stj|dd	t||d��}t!j"||�y)NimrI)rK)�DateCol�metricr)T)�inplace�21Drr})r'rrrr*r*r��r�)rDr�)r�nowrrrr	r�r�	set_indexrrR�rename�
_with_freq�float64rrr`r�)	r*�
date_todayr?r�r rdrDrcres	         r!�test_rolling_window_as_stringr4�s�������J��j�*�y��~�"=�C�H�D�
�7�7�3�t�9��D�	�t�t�4�	5�B��L�L��D�L�)�
�Z�Z�u�!�F�6�Z�
R���	�c�%�j��
�K�K�	�"�E����T�"�E��G�G�C��I�R�Z�Z�8�M���F�F�
�b�q���m�5�x�@�H����6�8�,r#c��tgd�dg��}|djddd��j�}tgd�d�	�}t	j
||�y)
N)rrrrr�arr=Tr)r*r)r\r7r7r7r\�r�)rrr�rr`r��r rdres   r!�test_min_periods1r9�sN��	�?�S�E�	2�B�
��W�_�_�Q�t��_�
;�
?�
?�
A�F��/�c�:�H����6�8�,r#c���|td��jdd��j�}|tjtjdddg�}tj||�y)Nr%r=rr])r.rrrrr`r�)r2rdres   r!�#test_rolling_count_with_min_periodsr;�sT��
�U�1�X�
&�
.�
.�q�a�
.�
@�
F�
F�
H�F���������S�#�>�?�H��O�O�F�H�%r#c���dddtjdddg}gd�}||�jdd�	�j�}||�}t	j
||�y)
Nrrr=rr%r�)r\r7r]r7r7r7r]rr)rrrrr`r�)r2�values�expected_countsrdres     r!�7test_rolling_count_default_min_periods_with_null_valuesr?�s\����A�r�v�v�q�!�Q�
'�F�9�O��V�
$�
,�
,�Q�A�
,�
>�
D�
D�
F�F���/�H��O�O�F�H�%r#zdf,expected,window,min_periods�rrr=)rr%r�r��rrrr\c���|D��cgc]\}}t||����}}}t||j||���D]\}}tj||��ycc}}w�NrLr)r�ziprr`ra)r rer'rr=rD�actuals       r!�test_iter_rolling_dataframerF�sc��LGO�O�?�F�E�	�&��.�O�H�O���"�*�*�V��*�*U�V�0���&�
���f�h�/�0��P��Azexpected,windowr�c
� �tgd�gd�tddd��d��}|D��cgc]!\}}t||j|df�	���#}}}t||j	|d�
��D]\}}tj||��ycc}}w)N�rrr=rr%)rr%r�r�r�z
2016-01-01r%rI�r�rBrK�rnrrrrL)�on)rr�locrDrr`ra)rer'r r=rDrEs      r!�test_iter_rolling_on_dataframerNs���>
� � ��,���D�	
�
�B�LT��8G���	�&����u�c�z� 2�3��H�� ��"�*�*�V��*�*D�E�0���&�
���f�h�/�0��s�&B
c�$�tgd�gd�d��}t|jd�jd��}dgddgdgfD�cgc]}|j|dgf��}}t||�D]\}}t
j||��ycc}w)N)r�rr�rA�r6�br6rrr)r�listr�rr�rDr`ra)r �results�idx�	expectedsrdres      r!�(test_iter_rolling_on_dataframe_unorderedrVKs���	��y�9�	:�B��2�:�:�c�?�*�*�1�-�.�G�01�s�Q��F�Q�C�.@�A�s�����q�c��"�A�I�A����3�0����
���f�h�/�0��Bs�B
z ser,expected,window, min_periods�int64r-c���|D��cgc]\}}t||����}}}t||j||���D]\}}tj||��ycc}}wrC)rrDrr`r�)r�rer'rr=rDrEs       r!�test_iter_rolling_seriesrYTsc��FDL�L�����v�U�+�L�H�L���#�+�+�f�+�+�*V�W�1���&�
���v�x�0�1��MrGzexpected,expected_index,windowr�rIrJr�r�r�z
2020-01-05)rr=rc��ttd�tddd����}t||�D��cgc]\}}t||����}}}t||j	|��D]\}}tj||��ycc}}w)Nr%r�rIrJrL)rr.rrDrr`r�)re�expected_indexr'r�r=rTrEs       r!�test_iter_rolling_datetimer\}s���P��q���,��PS�!T�
U�C�8;�8�^�7T��&3�v�s��v�S�!��H�� ��#�+�+�f�*=�>�1���&�
���v�x�0�1��	s�Bzgrouping,_index�level)�rrr^�rrr_r_r�by�X)r^)rr)rr)r=r)rrc� �d�}tdtd�igd���}tdgd�i|��}d|vr|jdd�	�}|jd
i|��j	d
�j||d��}t
j||�y)Nc�d�t|�dkrtd��|\}}|j�|zS)Nrz The function needs two arguments)r�r1r)�argsr�scales   r!�
scaled_sumz4test_rolling_positional_argument.<locals>.scaled_sum�s3���t�9�q�=��?�@�@����u��y�y�{�U�"�"r#rar%)rrrrrr�)r[r�r\r�r7r`�ignore)r��errorsr)r)rhrdr�)rr.rur�rrir`ra)�grouping�_indexrhrfr rerds       r!� test_rolling_positional_argumentrk�s���(#�
��e�A�h���	?�B��s�$=�>�f�M�H��x���=�=��X�=�>��
�R�Z�Z�
#�(�
#�
+�
+�A�
.�
4�
4�Z�S�t�
4�
T�F����&�(�+r#�addr[c
���ttd�td�td�g�j|�}tdd|zddgi|��}|j	d�j�j
d	d
d��j�}tdd
d|��}tdtjtjtjddddgi|��}tj||�y)Nz19700101 09:00:00z19700101 09:00:03z19700101 09:00:06rngVUUUUU%C��rLr�r�r}r=rqr�r�)rBrK�unitgUUUUUU%Cg�q�qCg�q�qCr[)
r	r
�as_unitr�resample�ffillrr�rrrr`ra)rlro�dtir rd�datesres       r!�*test_rolling_numerical_accuracy_kahan_meanru�s�����)�*��)�*��)�*�	
���g�d�m�
�
�	�!�C�'��t�4�5��
�B�
	���D����!�)�)�$�v�1�)�M�R�R�T��
�*�A�C�d�K�E������������"�#�$���
	
��
�H����&�(�+r#c���tgd�dg��}|djd�j�}ttj
tj
ddddgd��}t
j||�y)	N)g�rh��|@�'1�Z��r[r[r[r[r�rr=gsh��|?�?rwr[r7)rrrrrrr`r�r8s   r!�)test_rolling_numerical_accuracy_kahan_sumrx�s]��	�6���	F�B�
��W�_�_�Q�
�
#�
#�
%�F��r�v�v�r�v�v�u�f�c�3�?�c�J�H����6�8�,r#c�P�tddd��jtdg��}tjjd�j	t
|��}td|i|��}|jd�j�}tj||dg�y)	Nr�r��60s�r��endrKr�rr�rL)rr_r	r�random�default_rngr�rrr�r`ra)rDr�r rds    r!�$test_rolling_numerical_accuracy_jumpr�s����\�|�%�H�O�O��|�n�%�
�E��9�9� � ��#�*�*�3�u�:�6�D�	�F�D�>��	/�B�
�Z�Z��
�
#�
#�
%�F����&�"�f�X�,�/r#c��tgd�tdd���}|jd�j�}t	j
||�y)N)g�(�@�S ?ga2U0*�3?rnrnz
1999-02-03z
1999-02-06r�r)rrrr�r`r�)r�rds  r!�,test_rolling_numerical_accuracy_small_valuesr�
sA���
-���|�4�	�A��Y�Y�q�\�
�
�
 �F����6�1�%r#c��tddd��}ttd�|tj��}d|j
d<|j
d�j�}ttjtjtjtjd	d	d	d
ddg
|�
�}tj||�y)Nz
2015-01-01rGrIrJ)r�rDr�g������rr%g��k�/���@�@�@rL)rrr.rr2r�rr�rr`r�)rt�dsrdres    r!�(test_rolling_numerical_too_large_numbersr�s����|�R�c�:�E�	�U�2�Y�e�2�:�:�	>�B��B�G�G�A�J�
�Z�Z��]�
�
�
!�F���F�F��F�F��F�F��F�F�������	
���H����6�8�,r#)r�rZ))rr7)r�r\)r�r\)r�r\)r�r\c�>�tdddggd���}d|d<d}tjt|��5|j	ddd�	�}ddd�t|��}tddg||g||gd�ddg�
�}tj||�y#1swY�JxYw)Nrr�r6rQr3)rDr�r\r3rr+�r'rrrL)rr`rrrrVra)r�rZr r4rWrdres       r!� test_rolling_mixed_dtypes_axis_1r�,s���
�1�Q��F�O�	<�B��B�s�G�
A�C�	�	#�	#�M��	=�;��z�z����z�:��;�
 �W�T�4�
 �
"�F���C�j��u�~�U�E�N�C��!�f��H����&�(�+�;�;�s�B�Bc�B�tddddtjtjtjgdddtjtjtjtjgdddtjdtjdgg�}d}tjt
|��5|j
ddd�	�j�}ddd�tgd
�gd�gd�g�}tj|�y#1swY�4xYw)
Nrrrrrr+r�r�r�)r[r\r]r�r�r�r�)r[r\r]r]r]r]r])r[r7r�r�r�r�r�)	rrrr`rrrrra�r r4rdres    r!�test_rolling_axis_one_with_nanr�?s���	�
��1�a����������0�
��1�b�f�f�b�f�f�b�f�f�b�f�f�5�
��1�b�f�f�a�����+�	
�
�B�B�C�	�	#�	#�M��	=�K����1�!�)��D�H�H�J��K��/�/�/�	
��H����&�(�+�K�K�s�?#D�DrZ�testz
2019-12-31z1 days 06:05:01.00003c��tdddgi�}||d<d}tjt|��5|j	ddd��j�}ddd�tddd	gi�}tj|�y#1swY�/xYw)
Nr6rrrQrr+r�r\r7)rr`rrrrra)rZr r4rdres     r!�&test_rolling_axis_1_non_numeric_dtypesr�Us���
�C�!�Q��=�	!�B��B�s�G�
A�C�	�	#�	#�M��	=�C����1�!�!��<�@�@�B��C��#��S�z�*�+�H����&�(�+�C�C�s�#B�Bc���tddgddgddgd��}tdtjgddgd	d
gd��}d}tjt
|��5|j
dd
d��j�}ddd�tj|�|jj
dd
��j�j}tj||�y#1swY�kxYw)Nrrr%r�r�rKr\r�g&@�*@rr+r)rr'r)rr')
rrrr`rrrrrar%)r rer4rds    r!�test_rolling_on_df_transposedr�ds���	�!�T��!�Q��q�!�f�=�	>�B���R�V�V�}�C��:�T�4�L�Q�R�H�
A�C�	�	#�	#�M��	=�C�����!�!��<�@�@�B��C����&�(�+�
�T�T�\�\�a��\�
2�
6�
6�
8�
:�
:�F����&�(�+�C�C�s�#C#�#C,)rDr'z2020-01-01 08:00z2020-01-01 08:08r{�2minz2020-01-01 12:00�30min�1h)r�r=rr�c��tgd�|��}t|j|d��|��}t||��}tj||�y)N)	rrrr=rr%r�r�r�rLr}r�)rrVrr`r�)rDr'r�r=r�rdres       r!�test_rolling_period_indexr�qsK��2
�+�5�	9�B�
=�W�R�Z�Z��v�Z�6��
=�
?�F��f�E�*�H����6�8�,r#c��|gd��}|jdd��j�}t|t�rt	|dj
�}t	tjgdgdzz�}tj||�y)NrArrrrg�;f���?)
rr��
isinstancerrr=rrr`r�)r2�objrdres    r!�test_rolling_semr��ss��
�)�
$�C�
�[�[���[�
*�
.�
.�
0�F��&�)�$���q�	�(�(�)���r�v�v�h�"4�!5��!9�9�:�H����6�8�,r#zGH 38921)�reason)r��third_valuer=�var)�|����Frr�r�rr�std)�>g��foCr�P�p���?r�绹�۞��?r)r�r�rr�rr)r�r�rr�r�rc	��tdd|ddddg�}t|jd�|��}ttjg|z�}tj||�tj|dk(|dk(�y)Nl�;�rrr=r�rrVrrrr`r�)r�r�r=r�rdres      r!�!test_rolling_var_numerical_issuesr��sv��
�"�A�{�A�q�!�Q�?�	@�B�
)�W�R�Z�Z��]�D�
)�
+�F��r�v�v�h��'�(�H����6�8�,����6�Q�;��A�
�6r#c
��ttd�td�td�td�td�g�j|�}tj|ddgg�}ttjtjdd	d
ddd
dd
g
tjtjd	ddd
d
dd
dg
d�|��}tgd�gd�d�|��}|jd��j�}tj||�y)Nz20130101 09:00:00z20130102 09:00:02z20130103 09:00:03z20130105 09:00:05z20130106 09:00:06rrng�������?g�r\g6�<A��Կg�?g�����?)rrnrL)rrrrr=)r�rr�r�r=�3dr&)r	r
rpr
rrrrrrTr`ra)rors�mi�expr �ress      r!�,test_timeoffset_as_window_parameter_for_corrr��s��
��)�*��)�*��)�*��)�*��)�*�	
���g�d�m��
�	 �	 �#��S�z�!2�	3�B�
�������"���#�"��"����������"�#�"��"��"��	
�4�7�C�<
��O�4��
�B�

�*�*�D�*�
!�
&�
&�
(�C����#�s�#r#�method)r�rr��skew�kurtr�r�c��tdtjdd�dzi�}td|dddd�i|jddd���}t	|jd�	�|��}t	|jd�	�|��}tj|jddd�dd
|jddz
�j�dksJ�y)
zf
    Make sure that decreasing indices give the same results as increasing indices.

    GH 36933
    r=i�rGrNr-rLr%r&���rg�-���q=)	rrrOrDrVr�absr=r�)r�r �
df_reverse�
increasing�
decreasings     r!�test_rolling_decreasing_indicesr��s���
�H�b�i�i��R�0�A�5�6�	7�B��H�b��l�4�R�4�&8�9����$�B�$��P�J�6�����1��-�v�6�8�J�>���+�+�1�+�5�v�>�@�J�
�6�6�*�#�#�D�b�D�)�#�2�.��1B�1B�1�2�1F�F�G�K�K�M�PU�U�U�Ur#)r\r]r�r])r[r\r]r�)r\r]r�r�)r[r\r7r]c��tddd��}|td�|��}|td�|ddd���}|||��}|||ddd���}|j||d�	�j�}	|j||d�	�j�}
t	j
|	|�t	j
|
|�y)
zV
    Ensure that a symmetrical inverted index return same result as non-inverted.
    rprr�rJrLNr-Tr�)rr.rrr`r�)r'rrrer2rD�df_inc�df_dec�expected_inc�expected_dec�
result_inc�
result_decs           r!�(test_rolling_decreasing_indices_centeredr��s���&
�v�q�t�4�E�
�U�1�X�U�
3�F�
�U�1�X�U�4�R�4�[�
9�F�"�8�5�9�L�"�8�5��2��;�?�L�����v�d��C�G�G�I�J�����v�d��C�G�G�I�J��O�O�J��-��O�O�J��-r#zwindow,expected�1ns)r\r\r\r\�3ns)r7r]r]r7c���tddd��}|gd�|t��}|||t��}|j||d��j�}t	j
||�y)	Nrprr�rJ)rrrrr�Tr�)rr�rrr`r�r�s       r!�)test_rolling_center_nanosecond_resolutionr�sY��
�v�q�u�5�E�	��U�%�	@�B��x�u�E�B�H�
�Z�Z��v�d�Z�
;�
?�
?�
A�F��O�O�F�H�%r#zmethod,expectedrg�E@g�����
a@g�E@g��C�ݽW@g�f@g�s@r�g�5@r�g��`UU"@r�g�1@g>@g�U@g�K@g�V@g�a@r�g/�e����?g8j��{
�?g��LM��?g�4`��i�?g
+TT��?g�����?r�g %�b���g�Oq&��gzCen@��gk�=��Cпg�~�~�׿gf`8g�ݿc��gd�}tdtjt|��dzi�}Gd�dt�}|d|��}t|j
|�|��}td|i�}tj||�y)	z�
    Make sure the (rare) branch of non-monotonic indices is covered by a test.

    output from 1.1.3 is assumed to be the expected output. Output of sum/mean has
    manually been verified.

    GH 36933.
    )TFTFTTTTr=rc��eZdZd�Zy)�1test_rolling_non_monotonic.<locals>.CustomIndexerc�&�tj|tj��}tj|tj��}t|�D]6}|j|rd||<|dz||<� |||<||j
z||<�8||fS)Nr-rr)r�emptyrWr.�
use_expanding�window_size)	�self�
num_valuesrr*rrrNr�r|rs	         r!�get_window_boundszCtest_rolling_non_monotonic.<locals>.CustomIndexer.get_window_boundsks����H�H�Z�r�x�x�8�E��(�(�:�R�X�X�6�C��:�&�
2���%�%�a�(� �E�!�H���U�C��F� �E�!�H���!1�!1�1�C��F�

2��#�:�r#N)�__name__�
__module__�__qualname__r�r�r#r!�
CustomIndexerr�js��
	r#r�r)r�r�N)	rrrOr�rrVrr`ra)r�rer�r r�r�rds       r!�test_rolling_non_monotonicr�)s���|G�M�	�H�b�i�i��M�(:�;�q�@�A�	B�B�������G�G�
1�W�R�Z�Z��(�&�
1�
3�F��(�H�-�.�H����&�(�+r#roz
2001-01-01)rKrBc�(�tgd�|��}|j�}d|jdd|j|�j	|�}tt
jt
jdddg|��}tj||�y)NrIrLr[rrr)	r�copyr�rrTrrr`�assert_almost_equal)rDr'r�rrdres      r!�!test_rolling_corr_timedelta_indexr�~sr��	��e�,�A�	����A��A�F�F�1�Q�K�
�Y�Y�v�
�
#�
#�A�
&�F��r�v�v�r�v�v�q�!�Q�/�u�=�H����6�8�,r#c	�n�dtjddtjggd�d�}t|�}|jdd��j	dd�	�j�}td
gd�it
ddtjggd�ggd�gd
�gddg����}tj||�y)N�g1�g2ro)�grouprr�F)�dropnarrr)r[r7r]r\r�)rrrrr)rrr=rrrrL)	rrrr�rr�r
r`ra)r�r rdres    r!�!test_groupby_rolling_nan_includedr��s����B�F�F�D�$����7�o�N�D�	�4��B�
�Z�Z���Z�
.�
6�
6�q�a�
6�
H�
M�
M�
O�F��	�'�(���D�"�&�&�
!�?�3�
�o�.��D�/�
�
�H����&�(�+r#c�t�ttjjd�jd��}|j	�}t|j
d�|��}tj||�|dz}t|j
d�|��}tj||�y)NrrGr=iP�)	rrr}r~r�rVrr`r�)r�r��ser_copyrerds     r!�*test_rolling_skew_kurt_numerical_stabilityr��s�������&�&�q�)�0�0��4�
5�C��x�x�z�H�.�w�s�{�{�1�~�v�.�0�H����3��)�

��+�C�
,�W�S�[�[��^�V�
,�
.�F����6�8�,r#)r�r=)r7g��+��X�?r[gJ_9�?)r�g��B�ʠ�g333333�g� >��@c���tgd��}t|jd�|��}ttjgdz|z�}tj||�y)N)i��-rrrr=ri�rr=r�)r�r=r�rdres     r!�(test_rolling_skew_kurt_large_value_ranger��sQ��	�,�-�A�
*�W�Q�Y�Y�q�\�6�
*�
,�F��r�v�v�h��l�V�+�,�H����6�8�,r#c��tjtd��5tt	d��jdd��ddd�y#1swYyxYw)Nz!method must be 'table' or 'singler+rr8)r�)r/r0r1rr.rr�r#r!�test_invalid_methodr��sB��	���z�)L�	M�2��u�Q�x�� � ��5� �1�2�2�2���&A�A�1dc���tddd��}|tdd�|��}|jdd�	�j�}|tj
dd
g|��}t
j||�|jddd�jdd�	�j�}tddd��}|tj
d
d
g|��}t
j||�y)Nr�r�r�r{rrrLr}r�rr-z-1dr=)	rr.rrrrr`r�r�)r'r2rTr�rdres      r!�.test_rolling_descending_date_order_with_offsetr��s����<�\��
E�C�
�%��1�+�S�
1�C�
�[�[��f�[�
-�
1�
1�
3�F������1�~�S�9�H��O�O�F�H�%�
�X�X�d��d�^�
#�
#�D��
#�
8�
<�
<�
>�F�
�<�\��
F�C������1�~�S�9�H��O�O�F�H�%r#c��tgd��}|jd�j�}ttjtjddg�}tj||dd��tj|dk(|dk(�y)N)r�r%r%r%r=�UUUUUU�?r�V瞯�<��atol�rtol)rrr�rrr`r�r�s   r!�,test_rolling_var_floating_artifact_precisionr��sk���|��A�
�Y�Y�q�\�
�
�
�F��r�v�v�r�v�v�u�a�0�1�H����6�8�'��H����6�Q�;��A�
�6r#c���tgd��}|jd�j�}ttjddg�}tj||dd��y)N)�Q�؎��>g 4PS�ȡ>r�rg�[��^>>r�r�)rrr�rrr`r�r�s   r!�test_rolling_std_small_valuesr��sR���	
�	�A��Y�Y�q�\�
�
�
�F��r�v�v�{�K�8�9�H����6�8�'��Hr#zstart, exp_values)���Q��?�X9��v��?r�g�I+��?gˡE��?)���MbP?r�g�~j�t�X?�<#�	n?c�,�tdddtjddtjtjtjtjtjtjddg�}|ddddtjtjddgz}t|tt	|t|�|z���	�}|j|djd
d��j�}tj||�y)
Nr�r����Mb`?���Mb�?�{�G�zt?皙�����?r�g=
ףp=�?rLr%rr)rrrrRr.r�r�rr�r`ra)r��
exp_valuesr r=rerds      r!�3test_rolling_mean_all_nan_window_floating_artifactsr��s���
�����F�F����F�F��F�F��F�F��F�F��F�F��F�F���	
�
�B�&��
�
�
�
���
���
��	�	�F����5���F��e� 3�4�5��H��W�W�U�V�_�
$�
$�Q�A�
$�
6�
;�
;�
=�F����&�(�+r#c��tdddtjtjtjg�}|jdd��j	�}tgd��}tj||�y)Nr�r�r�r=rr)r�g{�G�z�?g���Q��?g9��v���?r�r[)rrrrrr`rar8s   r!�2test_rolling_sum_all_nan_window_floating_artifactsr�s[��	�E�5�%����������@�	A�B�
�Z�Z��q�Z�
)�
-�
-�
/�F��A�B�H����&�(�+r#c���ttd��}|jd�j�}ttj
g�}t
j||�y)Nrr)rr.rr�rrr`r�r�s   r!�test_rolling_zero_windowr#sF���u�Q�x��A�
�Y�Y�q�\�
�
�
�F��r�v�v�h��H����6�8�,r#c�z�ttd�tdd�d�|��}ttjgdztddd�d�|��}d}t	j
t|�	�5|jdd
��j�}ddd�t	j|d�
�y#1swY�"xYw)Nr%rGr�r�r-r�rrr+rrFr�)
rr.rrr`rrrrra)�float_numpy_dtyper rer4rds     r!�test_rolling_float_dtyper+s���	��q���b�"�
�6�>O�	P�B���v�v�h��l��r�2�q�!1�2���H�B�C�	�	#�	#�M��	=�-����A�A��&�*�*�,��-����&�(��>�-�-�s�."B1�1B:c��ttjd�jdd�t	d���jdddd	d
ddd
ddd�
�}d}t
jt|��5|jddd��j�}ddd�ttddd�tddd�tddd�tddd�tddd�tddd�tddd�tddd�tddd�tddd�d�
d��}t
j|�y#1swY��xYw)N�(rrG�
abcdefghijr�float16�float32r2�int8�int16�int32�uint8�uint16�uint32�uint64)
r6rQr3�d�e�f�g�hr�jrr+rrr�rr=r%r�r�r�r-)
rrrO�reshaperRr�r`rrrr�r.rar�s    r!�test_rolling_numeric_dtypesr8sB��	�2�9�9�R�=�(�(��B�/��l�9K�	L�	S�	S�����������	
�
�B�B�C�	�	#�	#�M��	=�C����1�!�!��<�@�@�B��C���q�"�b�!��q�"�b�!��q�"�b�!��q�"�b�!��q�"�b�!��q�"�b�!��q�"�b�!��q�"�b�!��q�"�b�!��q�"�b�!�	
���H����&�(�+�#C�C�s�1#D9�9E)rr=rGr�)r�r��average�pct�	ascending�	test_data)�default�
duplicates�nansc
�����d}|dk(r9ttjjd�j|���}n�|dk(r:ttjjd�j	d|���}no|dk(rjttjjd�j	dd	d
tj
tjtjg|���}j|�j���fd��}|j|�j�����}tj||�y)
Nr�rr)r�rr=rr\��?��?c�F��|j�����jdS)N�r�rrr-)�rankr�)r�rr�rs ���r!�<lambda>ztest_rank.<locals>.<lambda>ps!���!�&�&��C�9�&�E�J�J�2�N�r#r$)rrr}r~�choicer�infrrir%r`r�)	r'r�rrr�lengthr�rerds	 ```     r!�	test_rankr*]s����F��I���"�)�)�/�/��2�9�9�&�A�B��	�l�	"��"�)�)�/�/��2�9�9�!�V�D�E��	�f�	�����&�&�q�)�0�0��d�D�"�&�&�"�&�&�2�6�6�'�:�F��
���{�{�6�"�(�(�N��H��[�[��
 �
%�
%�V��	�
%�
R�F����6�8�,r#c��d}d}td|d��}ttjj	d�j||z�j|df�|��}|j
gd	�d
��}tj|gd�d
��}tj|jtj|��y)
NrGr%�20100101rrJrr-rL)r!r�r"rr)��2�K)rrrr}r~rr��
percentiler`r�r=r)�row�colrTr �df_quantile�
np_percentiles      r!�#test_rolling_quantile_np_percentiler5ws���
�C�
�C�
�Z��3�
7�C�	�
�	�	���a� �'�'��c�	�2�:�:�C��9�E�S�
�B��+�+�/�a�+�8�K��M�M�"�l��;�M����;�-�-�r�x�x�
�/F�Gr#r�)r[r�g�������?r�r�
interpolation)�linear�lower�higher�nearest�midpointr�)r\r7r]r�r�r�r�)g @r\r]r�r�r7r�r�r�r�r�g333333�?gffffff�?g333333�?c�L�t|�}|j||�}|jd��j||�jd}t	j
|�rt	j
|�sJ�ytst	j|g|gdd��sJ�y||k(sJ�y)Nrrr-gH�����z>r)r�r�)rr��	expandingr�r�isnanr�allclose)r�r6r�r��q1�q2s      r!�+test_rolling_quantile_interpolation_optionsrB�s���&	�t��A�	
���H�m�	,�B�	
�����	#�	,�	,�X�}�	E�	J�	J�2�	N�B�	�x�x��|��x�x��|��|���;�;��t�b�T��A�>�>�>���8�O�8r#c��tjd�}t|�}d}tjt
|��5|j
t|�d��jdd��ddd�y#1swYyxYw)	Nr%z(Interpolation 'invalid' is not supportedr+rrr��invalid)r6)	rrOrr/r0r1rr�r�)r�r�r4s   r!�test_invalid_quantile_valuerE�sh��
�9�9�Q�<�D��t��A�
4�C�	���z��	-�S�	�	�	�#�d�)��	�+�4�4�S�	�4�R�S�S�S�s�.A5�5A>c�
�tgd��}d}tjt|��5|j	d�jd�ddd�d}tjt|��5|j	d�jd�ddd�d}tjt|��5|j	d�jd	�ddd�y#1swY��xYw#1swY�\xYw#1swYyxYw)
N)r[r�r�g�������?r\z#quantile value -0.1 not in \[0, 1\]r+r=g��������z#quantile value 10.0 not in \[0, 1\]g$@zmust be real number, not strr8)rr/r0r1rr��	TypeError)r�r4s  r!�test_rolling_quantile_paramrH�s���
�*�
+�C�
1�C�	���z��	-�&����A�����%�&�2�C�	���z��	-�&����A�����%�&�)�C�	���y��	,�'����A�����&�'�'�&�&��&�&��'�'�s#�!C!�1!C-�7!C9�!C*�-C6�9Dc� �tgd��}|jdd��j�}ttjgdz�}tj||�|jdd��jd��}tdgdz�}tj||�ttjtjdd	dg�jdd
��j�}tj|d
�sJ�y)N)r\r7r]r�r�rrr%r)r�r[r=rr)rrr�rrr`r�r>)�valsrdres   r!�test_rolling_std_1obsrK�s����+�,�D�
�\�\�!��\�
+�
/�
/�
1�F��r�v�v�h��l�#�H����6�8�,�
�\�\�!��\�
+�
/�
/�Q�
/�
7�F��s�e�a�i� �H����6�8�,�
�R�V�V�R�V�V�Q��1�-�
.�
6�
6�q�a�
6�
H�
L�
L�
N�F�
�8�8�F�1�I���r#c�>�tgd��}|jd��j�}tj|dd�j�sJ�|j
d��j�}tj|dd�j�sJ�y)N)ge>���R?�R�z1�2?rMrMrMr=r&r)�span)rrr�r�isfinite�all�ewmrPs  r!�test_rolling_std_neg_sqrtrR�s���
	�	
�	�A�	
�	�	��	����!�A�
�;�;�q���u��!�!�#�#�#�	���1��
����A�
�;�;�q���u��!�!�#�#�#r#c��tjtd��5tt	d��jdd��ddd�y#1swYyxYw)Nzstep must be an integerr+rrr8rM�r/r0r1rr.rr�r#r!�test_step_not_integer_raisesrU�sB��	���z�)B�	C�3��%��(��#�#�A�E�#�2�3�3�3�r�c��tjtd��5tt	d��jdd��ddd�y#1swYyxYw)Nzstep must be >= 0r+rrr-rMrTr�r#r!�test_step_not_positive_raisesrW�sB��	���z�)<�	=�0��%��(��#�#�A�B�#�/�0�0�0�r�)r=r'rrer�r.g������@@g@D@�UUUUUU�?gUUUUUU8@)rrr�rr�gUUUUUU@c��t|�}t|�}|j||��j�}tj||�tj|dk(|dk(�|j||��j�}tj|t
j|��tj|dk(|dk(�y)Nrr)rrr�r`r�r�r�sqrt)r=r'rre�sr�
result_var�
result_stds       r!�'test_rolling_var_same_value_count_logicr^�s���d�h��H�	���B����F���<�@�@�B�J����:�x�0����8�q�=�*��/�:����F���<�@�@�B�J����:�r�w�w�x�'8�9����8�q�=�*��/�:r#c���tgd��}|jd�}|j�}|dddk(j�sJ�|j	�}|dddk(j�sJ�y)N�rXrrrrrrr=r�r)rrr�rPr�r[�rrds   r!�(test_rolling_mean_sum_floating_artifactsrc9sl��
�)�	*�B�
�
�
�1�
�A�
�V�V�X�F��2�3�K�1��!�!�#�#�#�
�U�U�W�F��2�3�K�1��!�!�#�#�#r#c���tgd��}|jd�}|j�}|dddk(j�sJ�|j	�}|dddk(j�sJ�y)Nr`r���rr�)rrr�rPr�ras   r!�)test_rolling_skew_kurt_floating_artifactsrfDsl��
�)�	*�B�
�
�
�1�
�A�
�V�V�X�F��2�3�K�1��!�!�#�#�#�
�V�V�X�F��2�3�K�2��"�"�$�$�$r#c��|}tdgddd��}|djt�|d<|jdd��}t	||�}||��}|rdd	gngd�}||j|g�j
d
��jt�}t|j�|k(sJ�tj||�y)Nrrr=r�r3r��numeric_onlyr6rQTrt)rr��objectrrVrRrvr�rRr�r`ra)	rwri�kernelr r�oprdr�res	         r!�test_numeric_only_framermOs���
%�F�	�!��1�1�-�	.�B���g�n�n�V�$�B�s�G��j�j���j�*�G�	��&�	!�B�
�\�
*�F�(�s�C�j�o�G��'�{����x�(�4�4�$�4�?�F�F�u�M�H��� � �!�W�,�,�,����&�(�+r#rk�use_argc��tgd�ddd��}|djt�|d<|r|fnd}|jdd��}t	||�}||d	|i�}|rd
dgngd�}||jt
�}	|r|	fnd}
|	jdd��}t	||�}||
d	|i�}
t
j||
�y)Nr@rr=r�r3r�rrrir6rQ)rr�rjrrVr�r`ra)rkrirnr �argrrlrdr��df2�arg2�rolling2�op2res              r!� test_numeric_only_corr_cov_frameru_s���
����3�	4�B���g�n�n�V�$�B�s�G��2�%��C��j�j���j�*�G�	��&�	!�B�
��
0�<�
0�F�)�s�C�j�o�G�
�W�+�
�
�U�
#�C��C�6�"�D��{�{�1�!�{�,�H�
�(�F�
#�C��D�4�|�4�H����&�(�+r#r�c��|}tdg|��}|jdd��}t||�}|r<|tur4d|�d�}t	j
t|��5||��ddd�y||��}|j|g�jd	�
�jt�}	tj||	�y#1swYyxYw)Nrr-rr�Rolling.�  does not implement numeric_onlyr+rhTrt)
rrrVrjr/r0rPrRrvr�r�r`r�)
rwrir�rkr�rrlr4rdres
          r!�test_numeric_only_seriesryus���&�F�
�!��E�
"�C��k�k�!��k�+�G�	��&�	!�B�������� @�A��
�]�]�.�c�
:�	*��L�)�	*�	*���.���7�7�F�8�$�0�0�d�0�;�B�B�5�I��
���v�x�0�	*�	*�s�
C�Cc���tgd�|��}|r|fnd}|jdd��}t||�}|r;|tur3d|�d�}t	j
t|�	�5||d
|i�ddd�y||d
|i�}	|jt�}
|r|
fnd}|
jdd��}t||�}
|
|d
|i�}tj|	|�y#1swYyxYw)Nr@r-r�rrrrwrxr+ri)rrrVrjr/r0rPr�r�r`r�)rkrnrir�r�rprrlr4rd�ser2rrrsrtres               r!�!test_numeric_only_corr_cov_seriesr|�s���
��%�
(�C��3�&��C��k�k�!��k�+�G�	��&�	!�B�������� @�A��
�]�]�.�c�
:�	0���/�,�/�	0�	0��S�4�|�4���z�z�%� ��!��w�r���<�<��q�<�1���h��'����8�<�8��
���v�x�0�	0�	0�s�!	C�Cro)r��ms�us�nsr$)N�UTCz
Europe/Praguec	�^�tdtd�itddd|����}|jd�j	�}|j
j
|�|_|jd�j	�}|j
j
d�|_tj||�tdd	d|�
�}td|��}d|jd<|jtd
���j�}tdd	||�
�}td|��}	d|	jd<|	jtd
���j�}
t|�}t|
�}|j
j
d�|_tj||�y)Nrnr%z
2013-01-01r�)rKrBr$rLrz
2023-01-01z
2023-01-10)ror$rrrr>)
rr.rrrrDrpr`rarr�rr�)
ror$rz�sum_in_nanosecs�sum_in_microsecs�	ref_dates�
ref_series�ref_max_seriesrt�series�
max_series�ref_dfr s
             r!�-test_rolling_timedelta_window_non_nanosecondsr��sb���	�e�A�h��z�,�T�1�QS�T��G��o�o�d�+�/�/�1�O��M�M�)�)�$�/�G�M����t�,�0�0�2��-�3�3�;�;�D�A������/�+;�<��<��D�R�H�I����+�J��J�O�O�A���'�'�	�q�(9�:�>�>�@�N��|�\���D�E�
�A�U�
#�F��F�K�K��N����	�q� 1�2�6�6�8�J�
�~�
&�F�	�:�	�B��x�x����%�B�H����&�"�%r#)rr�numpyrr/�
pandas.compatrrr�pandasrr	r
rrr
rrrr�pandas._testing�_testingr`�pandas.api.indexersr�pandas.core.indexers.objectsr�pandas.tseries.offsetsrr"r5�mark�parametrizerr<rQrXrfrlr{r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr"r'r4r9r;r?rFrNrVrYr\�from_tuplesrkrurxrr�r�r�r�r�r�r�r��xfailr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr*r5rBrErHrKrRrUrWr(r^rcrfrmrur�rjryr|r�r�r#r!�<module>r�s����
�
�������+�D�.�'��(������s�E�8�2�8�8�Q�C�=�9�:�-�;�-�.�������q���q���#��\�1�5�k�!�n�	
�	�
�	)�
�	)����������0��1��������I�1�$5�y�a�7H�#I�J�,�K�,�&������I�1�$5�y�a�7H�$�#O�P�9�Q�9�",�$������
�1�0�0�0�1�
�		
�
�2�1�1�1�1�
�		
�
�1�1�1�1�2�
�		
�
�2�2�2�2�2�
�		
�?)�,�Z?�[,�Z?�6������	
�w��(�	
�v��'�	
�v��'�	
�y�/�*�	
�w��(�	
�v��'�	
�v��'�	
�y�/�*�	��&��&�"������	
�w�0�1�	
�v�/�0�	
�v�/�0�	
�y�2�3�	��&��&�0������	�"�&�&�"�&�&�!�Q��2�r�2�r�2�>�?�	�R�V�V�R�V�V�Q��1�a��A�r�1�=�>�	�6�7�	�5�6�	��&��&�2������	�"�&�&�"�&�&�!�Q��2�r�2�r�2�>�?�	�R�V�V�R�V�V�Q��1�b�"�b�"�a�@�A�	�6�7�	�5�6�	��&��&�6-�,�4������I�v�#6�7�-�8�-�������%���0�F�1�F�������%���0�-�1�-���������(8�9�������	��9�:�	��8�9�	�	�B�F�F�A�q�!�Q��1�a��A�>�?�	������A�q�!�Q��1�a��;�<�	��9�:�	��8�9�	�	�B�F�F�A�q�!�Q��1�a��A�>�?�	������A�q�!�Q��1�a��;�<�	��	-��:�	-�-�������	��"�&�&�!�Q��1�a��A�r�v�v�r�v�v�F�G�	������A�q�!�Q��1�a����@�A�	�	�B�F�F�B�F�F�A�q�!�Q��1�b�f�f�b�f�f�M�N�	���������A�q�!�Q��1�b�f�f�E�F�	��"�&�&�!�Q��1�a��A�r�v�v�r�v�v�F�G�	������A�q�!�Q��1�a����@�A�	�	�B�F�F�B�F�F�A�q�!�Q��1�b�f�f�b�f�f�M�N�	���������A�q�!�Q��1�b�f�f�E�F�	��-��-�������	�2�3�	�?�@�	�R�V�V�Q��S�#�s�C��c�3�G�H�	�"�&�&�!�S�!�Q��1�a��A�6�7�	��
-��
-�������D�!�9�-�,�.�,�	-�-�-�2�,�$,�$-�,�<������D�%�=�1�-�2�-�,-�&�&������$�
�I�I�6�7��s�!��%��s�+��1�v�Q��F�+�a��V�4� �y�1�9�=�
�

��		
�
�I�I�6�7��s�!��%��s�+��1�v�Q��F�+�a��V�4��1�v�Q��F�+�a��V�4�
�

�
�		
�
�I�I�6�7��s�!��%��s�+��1�v�Q��F�+�a��V�4��1�v�Q��F�+�a��V�4�
�

�
�		
�
�I�I�6�7��s�!��%��s�+��s�!��%��s�+��s�!��%��s�+�
�

�
�		
�
�I�I�6�7��s�!��%��s�+��s�!��%��s�+��s�!��%��s�+�
�

�
�		
�
�!��A�3�'�	(�"�a��6�	�!��A�3�'�	(�"�a��3�	���B�x�j�!�T�*��Q�����N�"�&�&�!�Q��@�A��u�B�F�F�8�,�q�c�2��2�6�6�{�"�&�&�!��5��1�v�>��2�6�6�1�~�R�V�V�Q��N�;�Y�G�
�

�
�		
�m@�C�H0�IC�H0��������s�!��%��s�+��1�v�Q��F�+�a��V�4��1�v�Q��F�+�a��V�4�
�

�
	
��s�!��%��s�+��1�v�Q��F�+�a��V�4� �y�1�9�=�
�

�
	
��s�!��%��s�+��s�!��%��s�+��s�!��%��s�+�
�

�
	
�#��:0�;�:0�"0������&�
�9���c�A�3�Z�1�a�&�1�a�&�)�I�y�+A�B�
��		
�
�9���c�A�3�Z�1�a�&�1�a�&�)�I�y�+A�B�
�
�		
�
�9���c�A�3�Z�1�a�&�1�a�&�)�Q��F�Q��F�+;�<�
�
�		
�
�9���c�A�3�Z�1�a�&�1�a�&�)�Q��F�Q��F�+;�<�
�
�		
�
�	�	�q�c�A�3�Z�1�#��s��q�c�A�3�Z�@�!�Q�G�	�	�	�q�c�A�3�Z�1�#��s��q�c�A�3�Z�@�!�Q�G�	��A���A�3���*��1�v��1�v�&6�7��A�>�	��'�	"�B��1�-�9� �B1�C �B1������$��S�1�#��s�Q�C�!��%��<���=��<���=��<���=��<���=��<���=�
�
�
	
��S�1�a�&�1�a�&�1�a�&�1�a�&�1��<���=��<���=��<���=��<���=��<���=�
�
�
	
��S�1�a�&�)�Y�	�:��<���=��<���=��<���=��<���=��<���=�
�
�
	
�/"�%�L	1�M%�L	1��������a�L�"�J�"�"�8��t��
�	
��3�K�"�J�"�"�8��d��
�	
�
��",�#�",�&�������c�
�+�,�,�,�D-�	0�&�-�0������N��,�	�,�,�,�������[��
&��5L�(M�N��,�	�,�
,�������
�1�7I�PU�V��	
�

�(�.@�w�
�
�		
���������	�����A�q�!�Q��1�a�0�1�	�����A�q�!�Q��1�a�0�1�	�����A�q�!�Q��2�r�2�3���-���.-�-��������,�*�,���������%�	��,�-�	��F�G�	��,�-�	��F�G�	��7��	�7�2$�j������#W�X�V�Y�V�������	
�w�,�-�	
�v�+�,�	
�v�+�,�	
�y�.�/�	
�w�,�-�	
�v�+�,�	
�v�+�,�	
�y�.�/�	��.��.�(������	�$�%�	�$�%���&��&�������
��e����e�������	
�	
�
�
�5�\�3��e��d�C��4��N�	
�

�
�5�\�4��u��t�T�4��u�M�	
�

��e����e�������	
�	
�
��e��#��e��#�$�"�$�$�	
�	
�G0�3�h,�i3�h,�B������	�!��	�L�s�A�	6��=���-��-�,�,������F�F�#3�4�-�5�-�������	�/�0�	�1�2���-��-�2�
������A�t�9�-�&�.�&�7�I�������	
�2�3�	
�.�/���$,��$,�N,�-�
?�",�J������>�2�������#<�=��������u�
�.�������t�U�m�4�������&G�H�-�I�5�/�>�3�
-�*
H� ������%=�>�������I�������
�+�0�	�b�f�f�c�2�6�6�3�'�	������������(�	����b�f�f�c�3��,�	��	����c�������?� �$S�'��$�*3�
0�
�����3���R�����A�q�!�,�
�
�
�V�V�R��!�T�1�e�Q�7�		
���R�����Q��1�-�
�
�
�V�V�R��!�Q��f�a�8�		
��V�V�Q��1�a��A�&�
�
�
�V�V�H�q�L�+�+�		
���1�a��������A�q�!�4�
�
�
�V�V�H�q�L�E�1�:�%�����1��4��q�z�A�		
���1�a��������A�q�!�4�
�
�
�V�V�H�q�L�E�1�:�%�����1��4���{�B�		
���F�Q�J�
�
�
�V�V�H�q�L�E�7�Q�;�&�		
���1�b�f�f�a��A�&�
�
�
�V�V�Q���!��q��(�E�7�2�		
�K+�.�^;�_.�^;�6$�%�
,� ������F�E�?�3�������T�5�M�2�,�3�4�,�(������3��-�0�
1�1�
1� ������F�E�?�3�������T�5�M�2�������3��-�0�1�1�3�4�1�*������!8�9�������=�>�&�?�:�&r#

Youez - 2016 - github.com/yon3zu
LinuXploit