
    dYX                     z    d dl Zd dlZd dlmc mZ d dlZd dlm	Z	m
Z
mZmZmZmZmZ d dlmZ  G d d          ZdS )    N)CategoricalIndex	DataFrameIndexNaTSeries
date_rangeoffsetsc                      e Zd Zej                            d ej        d          g f ej        d          ej	        dgfg          d             Z
d Zej                            d e ej        d	          g           ed
dd           e ed	           edd	                    g          ej                            dg d          d                         Zd Zd Zej                            dddg          d             Zej                            dg d          d             Zd Zej                            dg d          d              Zd! Zd" Zd# Zd$ Zd% Zd& Zd' Zd( Zd) Zd* Z d+ Z!d, Z"d- Z#d. Z$d/ Z%e&j'        d0             Z(d1 Z)d2 Z*d3 Z+d4 Z,d5 Z-ej                            d6 ej.        d7ej        /                    d89          :          d;g          ej                            d< ed=d>           ed=d>d?@           e0j1        d=d>dA           e0j2        dBd>dA           e0j3        dCdDd>           ej.         e0j4        dEd>gdFG          ej        /                    d89          :           ej.         e0j4        dEd>gdHG          ej        /                    d89          :          gdI J          dK                         Z5dL Z6dM Z7dNS )OTestDataFrameShiftzinput_data, output_data)r   )shape)         ?c                 2   |                     d            ||                              d          }|t          ur7 ||t          t	          |                    t          d          d          }n ||d          }t          j        ||           d S )NF)write   float64)indexcolumnsdtyper   )setflagsshiftr   rangelentmassert_equal)self
input_dataoutput_dataframe_or_seriesresultexpecteds         a/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/frame/methods/test_shift.pytest_shift_non_writable_arrayz0TestDataFrameShift.test_shift_non_writable_array   s     	%((( ,,22155&((&C,,--a	  HH '{)DDDH
)))))    c                     |t           j                            d          t          ddd                    }|                    dd          }|j                            dd          }t          j        |j        |           |                    dd	          }|j        t          j	        d
          z   }t          j        |j        |           d S )N   1/1/2000Hperiodsfreqr   r   5Tr,   4H   )
nprandomrandnr   r   r   r   assert_index_equalr	   Hour)r   r    tsr!   	exp_indexs        r#   test_shift_mismatched_freqz-TestDataFrameShift.test_shift_mismatched_freq*   s    _IOOAjQS&Q&Q&Q
 
 
 !$''HNN14N00	
flI666 !$''Hw|A.	
flI66666r%   objr'   z1/1/2011   r)   r*   2017r+   r-   
shift_size)r   r   r   c                 r    |t           ur|                                }|                    |          |usJ d S N)r   to_framer   )r   r:   r>   r    s       r#   test_shift_always_copyz)TestDataFrameShift.test_shift_always_copy8   s?     &((,,..Cyy$$C//////r%   c                    t          t          d                    }t          j        t          d          5  |                    dg            d d d            n# 1 swxY w Y   |                                }t          j        t          d          5  |                    dt          j        d                     d d d            n# 1 swxY w Y   |	                    t                    }|                    di           }|d         i k    sJ |                                }|                    di           }|j        d         i k    sJ d S )N   zfill_value must be a scalarmatchr   
fill_valuer   )r   r   )r   r   pytestraises
ValueErrorr   rA   r2   arangeastypeobjectiloc)r   serdfobj_serr!   obj_dfs         r#   !test_shift_object_non_scalar_fillz4TestDataFrameShift.test_shift_object_non_scalar_fillG   s   U1XX]:-JKKK 	( 	(IIaBI'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( \\^^]:-JKKK 	1 	1HHQ29Q<<H000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 **V$$qR00ayB!!##aB//{4 B&&&&&&s#   AA #A *CCCc                    t          j        ||                              t                    }|                    d          }|                    t
                                        d          }t          j        ||           d S )Nr   )r   get_objrM   intr   floatr   )r   datetime_framer    r7   shiftedr"   s         r#   test_shift_intz!TestDataFrameShift.test_shift_intY   sg    Z88??DD((1++99U##))!,,
*****r%   r   int32int64c                    t          dd          }t          j        d|          } |||          }|d         }|                    |          } |t          j        dddd	g|          }t          j        ||           d S )
Nz
2000-01-01r'   r=   r   r-   r   r   r   rD   )r   r2   rL   r   nanr   r   )	r   r    r   r   arrs1pr!   r"   s	            r#   test_shift_32bit_takez(TestDataFrameShift.test_shift_32bit_take_   s     <333i'''_S...F!$$"?BFAq!Q#7uEEE
)))))r%   r+   )r   r   rD   r1   c                     |t          |          t          d|d                    }|                    dd          } |t          |          t          d|d                    }t          j        ||           d S )Nz2016-1-1 00:00:00r)   r*   r-   r   2Hz2016-1-1 02:00:00)r   r   r   r   r   )r   r+   r    r:   r!   r"   s         r#   test_shift_preserve_freqstrz.TestDataFrameShift.test_shift_preserve_freqstrk   s     o'NN0'LLL
 
 

 1d##"?'NN0'LLL
 
 
 	)))))r%   c                    t          dddd          } ||          }|                    d          }t          j        ||           t          j        |          dk    sJ |                    d          }t
          g|                    t                    j        	                                d d	         z   } ||          }t          j        ||           t          j        |          dk    sJ |                    d
          }|                    t                    j        	                                dd          t
          t
          gz   } ||          }t          j        ||           t          j        |          dk    sJ d S )N
2016-11-06r)   
   
US/Easternr,   r+   tzr   datetime64[ns, US/Eastern]r   	   r   )
r   r   r   r   	get_dtyper   rM   rN   valuestolist)r   r    datesr:   resexp_valsexps          r#   test_shift_dstz!TestDataFrameShift.test_shift_dst{   sd   <c2,OOOoe$$iill
S!!!|C  $@@@@@iill55<<//6==??CCoh''
S!!!|C  $@@@@@iimm<<''.5577;sCjHoh''
S!!!|C  $@@@@@@@r%   ex)ri   i   ic                     t          dddd          } ||          }|                    |          } |t          gdz  d          }t          j        ||           t          j        |          dk    sJ d S )Nrh   r)   ri   rj   rk   rm   r   )r   r   r   r   r   rp   )r   r    rx   rs   r:   rt   rv   s          r#   test_shift_dst_beyondz(TestDataFrameShift.test_shift_dst_beyond   s     <c2,OOOoe$$iimmosebj0LMMM
S!!!|C  $@@@@@@@r%   c                     t          j        ||          }|                    d          }t          j        ||           d S Nr   )r   rV   r   r   )r   rY   r    r:   	unshifteds        r#   test_shift_by_zeroz%TestDataFrameShift.test_shift_by_zero   s:    j99IIaLL	
	3'''''r%   c                 *   |d         }|                     d          }t          j        |j        |j                   |                     d          }t          j        |d         |           |                     d          }t          j        |j        |j                   |                     d          }t          j        |d         |           |                     d                               d          }t          j        |                                j        |j        d d                    |                     d                               d          }t          j        |                                j        |j        d d                    d S )NAr'   )r   r   r5   r   assert_series_equalassert_numpy_array_equaldropnarq   )r   rY   rP   rZ   shifted_serr~   unshifted_sers          r#   
test_shiftzTestDataFrameShift.test_shift   sU   S! &&q))
gm^-ABBBiill
ws|[999 &&r**
gm^-ABBBiimm
ws|[999"((++11"55	
#%~'<SbS'A	
 	
 	
 		!**2..
#M$8$8$:$:$A3:crc?SSSSSr%   c                    t          j        ||          }t          j                    }|                    d|          }t          |          t          |          k    sJ |                    d|          }t          j        ||           |                    dd          }t          j        ||           |                    d|          }t          j        ||           |j        d         }||dz  z   }	|t          u r?t          j	        |
                    |          |
                    |	          d           d S t          j        |j        |         |j        |	                    d S )Nr'   r/   r   Br   F)check_names)r   rV   r	   BDayr   r   r   r   r   r   xsassert_almost_equalat)
r   rY   r    r:   offsetrZ   r~   shifted2d	shifted_ds
             r#   test_shift_by_offsetz'TestDataFrameShift.test_shift_by_offset   sC   j99))AF)++7||s3xx''''MM"6M22	
	3'''99QS9))
***IIafI--	
	3'''IaL
N	i''"366!99gjj.C.CQVWWWWWW"36!9gj.CDDDDDr%   c                    t          j                    }t          j        ||          }|                    d          }|                    d          }t          j        |j        |j                   t          j        |j        |j                   |t          u rPt          j        |j        d d df         	                                j
        |j        d ddf         j
                   n9t          j        |	                                j
        |j
        d d                    |                    dd          }|                    dt          j                              }t          j        ||           t          j        ||                    dd                     d}t          j        t           |          5  |                    d           d d d            n# 1 swxY w Y   |                    dd          }t          j        ||           |                    dt          j                              }	t          j        |	|           d S )	Nr   r   r   zdoes not match PeriodIndex freqrE   Dr/   )r   makePeriodFramerV   r   r5   r   r   r   rO   r   rq   r	   r   r   rI   rJ   rK   )
r   r    psrZ   r~   r   shifted3msgshifted4shifted5s
             r#   test_shift_with_periodindexz.TestDataFrameShift.test_shift_with_periodindex   s3   !!ZO,,((1++MM"%%	
gmRX666
iorx888i'''qqq!t$++--4bgcrc1fo6L    '	(8(8(:(:(A29SbS>RRR88As##88Aw|~~..
(+++
HNN2s33444/]:S111 	 	HH#H	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 88AC8((
(+++88AGLNN833
(+++++s   ;GG"%G"c                 L   t          t          j                            dd                    }t	          j        t          t          j        |j        dg          |j        d d ddf         gdd          }|	                    dd	          }t          j        ||           d S )
Nri   r'   r   r   r   r   Tr   ignore_indexaxisr   r   r2   r3   randpdconcatr_   r   rO   r   r   assert_frame_equalr   rQ   r"   r!   s       r#   test_shift_other_axisz(TestDataFrameShift.test_shift_other_axis   s     ry~~b!,,--9rvRXs;;;RWQQQ"W=MN
 
 

 !!$$
fh/////r%   c                 L   t          t          j                            dd                    }t	          j        t          t          j        |j        dg          |j        d d ddf         gdd          }|	                    dd	
          }t          j        ||           d S )Nri   r'   r   r   r   Tr   r   r   r   r   r   s       r#   test_shift_named_axisz(TestDataFrameShift.test_shift_named_axis   s    ry~~b!,,--9rvRXs;;;RWQQQ"W=MN
 
 

 !),,
fh/////r%   c                    |j         }t          j                    }|                    d|d          }t	          |          t	          |          k    sJ |                    d|d          }t          j        ||           d S )Nr'   r   )r,   r   r   )Tr	   r   r   r   r   r   )r   rY   r:   r   rZ   r~   s         r#   test_shift_other_axis_with_freqz2TestDataFrameShift.test_shift_other_axis_with_freq  sz     ))AF)337||s3xx''''MM"6M::	
	3'''''r%   c                    t          ddgddgd          }|                    d          }t          t          j        t          j        t          j        gddggt
                    ddg          }t          j        ||           d S )	NTF)highlowr   r   r   r   r   )r   r   r2   arrayr_   rN   r   r   )r   rQ   rsxps       r#   test_shift_boolz"TestDataFrameShift.test_shift_bool  s    uuenEEFFXXa[[Hrvrv&u6fEEEUO
 
 
 	b"%%%%%r%   c                     |g dd          }|                     d                               d          }t          j        |j        d d         |                                           d } ||          }|                     d          }t          j        |j        |j                   t          j         ||          j	        d d         dk              sJ t          j        |j	        d d          ||          j	        dd          k              sJ |                     d          }t          j        |j        |j                   t          j         ||          j	        dd          dk              sJ t          j        |j	        dd           ||          j	        d d         k              sJ t          j        |j
         ||          j
                   t          j        |j
         ||          j
                   d S )	Nabcr   categoryr   r   r   c                 &    | j         j        d         S r}   )_mgrarrays)ndframes    r#   get_cat_valueszBTestDataFrameShift.test_shift_categorical1.<locals>.get_cat_values   s     <&q))r%   ro   r   )r   r   r   rO   r   r5   r   r2   allcodes
categories)r   r    r:   rtr   catsp1sn2s           r#   test_shift_categorical1z*TestDataFrameShift.test_shift_categorical1  s   o222*EEEYYq\\##
"ryy{{333	* 	* 	*
 nS!!iill
ci333vnnS))/3r9:::::vcins(;(;(A!""(EEFFFFFiimm
ci333vnnS))/4:;;;;;vcim~~c':':'@"'EEFFFFF
cnnnS.A.A.LMMM
cnnnS.A.A.LMMMMMr%   c                 :   t          g dd          }t          g dd          }t          ||d          }|                    d          }t          |                    d          |                    d          d          }t          j        ||           d S )Nr   r   r   r   r   )r   r   C)onetwor   )r   r   r   r   r   )r   ra   s2rQ   r   r   s         r#   test_shift_categoricalz)TestDataFrameShift.test_shift_categorical4  s    OOO:666OOO:666r"--..XXa[[rxx{{288A;;??@@
b"%%%%%r%   c                 ^    |g dd          }|                     dd          } |t          j        g dg dd	                    }t          j        ||           d
}t          j        t          |          5  |                     dd           d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   r   rG   )r   r   r   r   F)r   orderedz9Cannot setitem on a Categorical with a new category \(f\)rE   f)r   r   Categoricalr   r   rI   rJ   	TypeError)r   r    r7   rt   r"   r   s         r#   !test_shift_categorical_fill_valuez4TestDataFrameShift.test_shift_categorical_fill_value=  s   _111DDDhhqSh))"?N$$$1E1E1Eu  
 

 	X&&& K]9C000 	( 	(HHQ3H'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s   =B""B&)B&c                    t          ddd          } |g d|          } |g d|          }|                    dd	
          }t          j        ||            |g d|          }|                    dd	
          }t          j        ||            |g d          }|                    dd
          }t          j        |          t          j        |          k    sJ  |g d|          } |g d|          }|                    dd
          }t          j        ||            |g d|          }|                    dd
          }t          j        ||           d S )Nr(   r'   r)   r*   )r          @      @      @g      @r-   )        r   r   r   r   r   r   rG   )r   r   r   r   r   r   )r   r   rD   r   )r   r   rD   r1   r'   )r   r   r   rD   r1   )r   r   r   r   rD   )r   r   r   r   rp   )r   r    dtir7   rv   r!   rt   r:   s           r#   test_shift_fill_valuez(TestDataFrameShift.test_shift_fill_valueL  s   QS999_666cBBBo777sCCC!,,
$$$o777sCCC!,,
$$$_YYY''hhqQh''|C  BL$4$44444 ooooS999ooooS9991++
$$$ooooS9991++
$$$$$r%   c                 |    t          dg i          }|                    d          }t          j        ||           d S )Nfoor   )r   r   r   r   )r   rQ   r   s      r#   test_shift_emptyz#TestDataFrameShift.test_shift_emptyh  s;    r{##XXb\\
b"%%%%%r%   c           	          t          t          d                    dgdz  g dg}t          j                            dd          }g }|D ]}t          |                                |          }t          d          D ]5}|j        d d |f                             |dz             |j        d d |f<   6t          d          |_	        |
                    |           |d                                                                         }t          j        |t          t          dd          d	                     t          j        |d         |d                    t          j        |d         |d
                    d S )Nr'   r   )r   r   r   r   r   ry   r   r      r]   r   r   )listr   r2   r3   r4   r   copyrO   r   r   appendisnasumr   r   r   r   )r   column_listsdatarZ   r   rQ   snullss           r#   test_shift_duplicate_columnsz/TestDataFrameShift.test_shift_duplicate_columnso  s\    U1XXaAyr1%%# 	 	G499;;888B1XX ; ; "1 3 3AE : :1qBJNN2 
!!%%''
ufU1a[[&H&H&HIII 	gaj'!*555
gaj'!*55555r%   c                    t          t          j                            dd                    }t          t          j                            dd                    }t	          j        ||gd          }|st          |j        j                  dk    sJ |	                    dd          }|
                    g dd          }|                    d	           }t          j        |j        d d d df<   |j        |_        t          j        ||           t	          j        ||gd          }|st          |j        j                  dk    sJ |	                    d
d          }|
                    g dd          }|                    d           }t          j        |j        d d d
d f<   |j        |_        t          j        ||           d S )N  r'   rD   sizer'   r   r   r   r   )r   r   r   r   r   c                     |                      t          | j        d                   d                              ddd                               | j        d          S )Nr   r   rX   )r   r   set_axisr   r   rM   r   rQ   s    r#   <lambda>zETestDataFrameShift.test_shift_axis1_multiple_blocks.<locals>.<lambda>  O    r{{5!#5#5A{>>VG,,--XbjqX)) r%   ro   )r   rD   r1   r   r   c                     |                      t          | j        d                   d                              ddd                               | j        d          S )Nr   r   rX   )rD   r1   r   r   s    r#   r   zETestDataFrameShift.test_shift_axis1_multiple_blocks.<locals>.<lambda>  r   r%   )r   r2   r3   randintr   r   r   r   blocksr   takepiper_   rO   r   r   r   )r   using_array_managerdf1df2df3r!   r"   s          r#    test_shift_axis1_multiple_blocksz3TestDataFrameShift.test_shift_axis1_multiple_blocks  s   	))$V)<<==	))$V)<<==ic
+++" 	-sx''1,,,,11%%88---A866 ==* *
 

  "vaaa!e;
fh/// ic
+++" 	-sx''1,,,,2A&&88---A866 ==* *
 

 !#aaaf;
fh/////r%   c                 :   t          t          j                            dd                    }t          t          j                            dd                    }t	          j        |j        d dddf         |j        d dd d f         gd          }|                    d	dt          j        d
                    }t          |j
        j                  d	k    sJ |                    g dd          }t          j        d
          |j        d d d d	f<   |j        |_        t          j        ||           t	          j        |j        d dddf         |j        d dd d f         gd          }|                    ddt          j        d
                    }t          |j
        j                  d	k    sJ |                    g dd          }t          j        d
          |j        d d dd f<   |j        |_        t          j        ||           d S )Nr   r   r   r   r1   r   rD   r   r   r   r   rH   )r   r   r   r   ro   )r   rD   r   r   )r   r2   r3   r   r   r   rO   r   int_r   r   r   r   r   r   r   )r   r  r  r  r!   r"   s         r#   .test_shift_axis1_multiple_blocks_with_int_fillzATestDataFrameShift.test_shift_axis1_multiple_blocks_with_int_fill  s    	))$V)<<==	))$V)<<==i"1"ac'*CHRaRUO<1EEE11<<38?##q((((88NNN833!wqzzaaa!e;
fh/// i"1"ac'*CHRaRUO<1EEE2A"'!**==38?##q((((88NNN833 "

aaaf;
fh/////r%   c                    t          j                    }t          j        ||          }|                    dd          }|                    dd          }t          j        ||           |                    d          }t          j        ||           |                    t          j                              }t          j        ||           d S )Nr   inferr/   r   r   )r   r   rV   r   r   r	   r   )r   r    r   rZ   r~   r   r   s          r#   'test_period_index_frame_shift_with_freqz:TestDataFrameShift.test_period_index_frame_shift_with_freq  s    !!ZO,,((17(++MM"7M33	
	2&&&888%%
***88800
*****r%   c                    t          j        ||          }|                    dd          }|                    dd          }t          j        ||           |                    |j        j                  }t          j        ||           t          |j        t          t          j
        |j                            |j                  }t          j        ||          }|                    dd          }|                    dd          }|j                            d           |_        t          j        ||           |                    dd          }t          j        ||           d S )Nr   r
  r/   r   r   )r   rV   r   r   r   r,   r   rq   r   r2   asarrayr   
_with_freq)	r   rY   r    dtobjrZ   r~   r   inferred_tsr"   s	            r#   #test_datetime_frame_shift_with_freqz6TestDataFrameShift.test_datetime_frame_shift_with_freq  sG   
>?;;++ag+..MM"7M33	
y)));;EK$4;55
***!"*^12233"*
 
 

 jo>>##AG#44;;qw;//!22488
***MM"7M33	
	;/////r%   c                     t          j                    }t          j        ||          }d}t          j        t
          |          5  |                    d           d d d            d S # 1 swxY w Y   d S )Nz.Given freq M does not match PeriodIndex freq BrE   Mr/   )r   r   rV   rI   rJ   rK   r   )r   r    r   r   s       r#   -test_period_index_frame_shift_with_freq_errorz@TestDataFrameShift.test_period_index_frame_shift_with_freq_error  s    !!ZO,,>]:S111 	 	HH#H	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A**A.1A.c                     t          j        ||          }|j        g d         }d}t          j        t
          |          5  |                    d           d d d            d S # 1 swxY w Y   d S )N)r   r'      z6Freq was not set in the index hence cannot be inferredrE   r
  r/   )r   rV   rO   rI   rJ   rK   r   )r   rY   r    r  no_freqr   s         r#   )test_datetime_frame_shift_with_freq_errorz<TestDataFrameShift.test_datetime_frame_shift_with_freq_error  s     
>?;;*YYY'F]:S111 	( 	(MMwM'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s   A&&A*-A*c                 ^   t          t          j        d          t          j        d          g          }t          j        t
          d          5  |                    dd           d d d            n# 1 swxY w Y   |                                }t          j        t
          d          5  |                    dd           d d d            n# 1 swxY w Y   t          ||d          }|	                                 |                    ddd	          }t          ddg|d
         d          }t          j        ||           t          d
|i          }||d<   t          |j        j                  dk    sJ |                    ddd	          }t          j        ||           d S )N
2020-01-01z
2020-01-02zvalue should be arE   r   r   rG   r   r   r  r   r   r   )r   r   	TimestamprI   rJ   r   r   rA   r   _consolidate_inplacer   r   r   r   r   )r   rP   rQ   r  r!   r"   r  s          r#   )test_shift_dt64values_int_fill_deprecatedz<TestDataFrameShift.test_shift_dt64values_int_fill_deprecated  s   bl<00",|2L2LMNN]9,?@@@ 	' 	'IIaAI&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' \\^^]9,?@@@ 	& 	&HHQ1H%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& c,,--  """1133Aq6C99::
fh/// c
##C38?##q((((1133
fh/////s$   A55A9<A9/CCCas_catTz1_can_hold_element incorrectly always returns True)reason)marksFvalsr  r   z
US/Pacific)r+   rl   r   z	2020 Daysr   rD   r   Int64r   Float32c                 *    t          | j                  S r@   )strr   )xs    r#   r   zTestDataFrameShift.<lambda>:  s    c!'ll r%   )idsc                    t          |          }|r|                    d          }t          d|i          }|                    ddd          }t          dddgi          }t	          j        ||           t          ||d          }|                                 |                    ddd          }t          |d         ddgd          }t	          j        ||           t          d|i          }||d<   t          |j        j	                  d	k    sJ |                    ddd          }t	          j        ||           d S )
Nr   r   r   r   r   r  r  r   r   )
r   rM   r   r   r   r   r  r   r   r   )	r   r"  r  rP   rQ   r!   r"   r  r  s	            r#   (test_shift_dt64values_axis1_invalid_fillz;TestDataFrameShift.test_shift_dt64values_axis1_invalid_fill  sS   J Tll 	)**Z((CSz"""177cE5>233
fh/// c,,--  """2A%883s85%.AABB
fh/// c
##C38?##q((((2A%88
fh/////r%   c                 &   t          g d          }t          ddgddgddgd|d d         |	          }|                    d
          }t          t          j        t          j        gddgddgd|d d         |	          }t          j        ||           |                    dd
          }t          t          j        t          j        gt          j        t          j        gddgd|d d         |	          }t          j        ||           d S )Nr   r   rD   r   r1   r'   r   r   r   r   )r   r   r   r2   r_   r   r   )r   cirQ   r!   r"   s        r#   $test_shift_axis1_categorical_columnsz7TestDataFrameShift.test_shift_axis1_categorical_columnsV  s,   ooo..a&1vQF332crc7B
 
 
 q!!626"!Qq!f==RWVX
 
 
 	fh/// !!$$626""&"&)9AGGSbS'
 
 

 	fh/////r%   c                 2   t          t          j                            dd                    }|                    ddd           }|t          j        z  }t          j        ||           |                    ddd           }t          j        ||           d S )Nr'   rD   r   r   r  i)r   r2   r3   r   r   r_   r   r   )r   rQ   rZ   r"   r   s        r#   test_shift_axis1_many_periodsz0TestDataFrameShift.test_shift_axis1_many_periodsl  s    ry~~a++,,((11(66;
gx00088BQ4888
h11111r%   N)8__name__
__module____qualname__rI   markparametrizer2   emptyonesr_   r$   r9   r   rL   r   r   rB   rT   r[   rc   rf   rw   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  td&skip_array_manager_not_yet_implementedr  r  r  r  r  r  paramxfailr   period_rangetimedelta_rangeinterval_ranger   r*  r-  r/   r%   r#   r   r      s(       [!
"(


	#gbgD&9&9&9BFC=%IJ * *	 *$7 7 7 [FIBIaLL>""Jz2C888F5588::fa#@#@#@AAA	
  [\999550 0 65 0' ' '$+ + + [Ww&899	* 	* :9	* [Y55* * 65*A A A* [T#5#5#566A A 76A( ( (T T T0E E E., , ,@
0 
0 
0	0 	0 	0( ( (& & &N N N6& & &( ( (% % %8& & &6 6 6,)0 )0 )0V .0 0 /.02+ + +0 0 0.  ( ( (0 0 04 [FLk''N (     	
  [J|Q///J|Q<@@@BOL!#>>>B{AC@@@BaA...FL!Qw///k''N (     FL!Qy111k''N (    	
& #"+   .0 0/  F040 0 0,	2 	2 	2 	2 	2r%   r   )numpyr2   rI   pandas.util._test_decoratorsutil_test_decoratorsr7  pandasr   r   r   r   r   r   r   r	   pandas._testing_testingr   r   r>  r%   r#   <module>rF     s         ) ) ) ) ) ) ) ) )                           b	2 b	2 b	2 b	2 b	2 b	2 b	2 b	2 b	2 b	2r%   