
    A>iQs                     l    S SK rS SKrS SKJr  S SKrS SKJrJrJ	r	J
r
JrJrJr  S SKJr   " S S5      rg)    N)Pandas4Warning)CategoricalIndex	DataFrameIndexNaTSeries
date_rangeoffsetsc                      \ rS rSrS rS r\R                  R                  S\	R                  " SS9/ 4\	R                  " SS9\	R                  S/4/5      S	 5       rS
 r\R                  R                  S\" \	R                   " S5      /5      \" SSSS9\" \" S5      \" SSS9S9/5      \R                  R                  S/ SQ5      S 5       5       rS rS r\R                  R                  SSS/5      S 5       r\R                  R                  S/ SQ5      S 5       rS  r\R                  R                  S!/ S"Q5      S# 5       rS$ rS% rS& rS' rS( rS) rS* r S+ r!S, r"S- r#S. r$S/ r%S0 r&S1 r'S2 r(S3 r)S4 r*S5 r+S6 r,S7 r-S8 r.\R                  R                  S9\R^                  " S:\R                  Ra                  S;S<9S=9S>/5      \R                  R                  S?\" S@SAS9\" S@SASBSC9\1Rd                  " S@SASDS9\1Rf                  " SESASDS9\1Rh                  " SFSGSAS9\R^                  " \1Rj                  " SHSA/SISJ9\R                  Ra                  S;S<9S=9\R^                  " \1Rj                  " SHSA/SKSJ9\R                  Ra                  S;S<9S=9/SL SM9SN 5       5       r6SO r7SP r8SQ r9SR r:SS r;ST r<SU r=SV r>SW r?SX r@SY rASZ rBS[rCg\)]TestDataFrameShift   c                    [         R                  R                  S5      R                  S5      n[	        U5      nUR                  SSSS9nUR                  R                  SSS9R                  n[        R                  " X45        US/   R                  S5      nUR                  SSSS9n[	        S/S	-  SS
9n[        R                  " Xg5        g )N            i90  )axisperiods
fill_value)r   r   r   Float64r   dtype)
nprandomdefault_rngstandard_normalr   shiftTtmassert_frame_equalastype)selfdatadfresexpecteddf2res2	expected2s           d/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/frame/methods/test_shift.py0test_shift_axis1_with_valid_fill_value_one_arrayCTestDataFrameShift.test_shift_axis1_with_valid_fill_value_one_array   s     yy$$Q'77?t_hhAqUh;44::aE::<<
c, !gnnY'yyauy=ugk;	
d.    c           	         U" [         R                  R                  S5      R                  S5      [	        SSSS9S9nSn[
        R                  " [        US9   UR                  S	S	SS
9  S S S 5        U[        L aE  [	        SS	SS9Ul
        [
        R                  " [        US9   UR                  S	S	S	SS9  S S S 5        g g ! , (       d  f       N]= f! , (       d  f       g = f)Nr   r   1/1/2000hr   freqindexz-Passing a 'freq' together with a 'fill_value'matchr   )r   r3   )r   r   r3   )r   r   r   r   r	   pytestraises
ValueErrorr   r   columns)r#   frame_or_seriesobjmsgs       r+   'test_shift_disallow_freq_and_fill_value:TestDataFrameShift.test_shift_disallow_freq_and_fill_value#   s    II!!!$44Q7Z=

 >]]:S1IIaACI0 2 i'$ZECKz5		!!	< 65 ( 21
 65s   C$C
C
C zinput_data, output_data)r   )shape)r         ?c                     UR                  SS9  U" U5      R                  S5      nU[        La%  U" U[        [	        U5      5      [        S5      SS9nOU" USS9n[
        R                  " XE5        g )NF)writer   float64)r5   r;   r   r   )setflagsr   r   rangelenr    assert_equal)r#   
input_dataoutput_datar<   resultr'   s         r+   test_shift_non_writable_array0TestDataFrameShift.test_shift_non_writable_array3   sp     	%( ,2215&(&C,-a	H '{)DH
)r.   c           	         U" [         R                  R                  S5      R                  S5      [	        SSSS9S9nUR                  SSS	9nUR                  R                  SSS	9n[        R                  " UR                  U5        UR                  SS
S	9nUR                  [        R                  " S5      -   n[        R                  " UR                  U5        g )Nr   r   r0   r1   r2   r4   r   5minr3   4h   )r   r   r   r   r	   r   r5   r    assert_index_equalr
   Hour)r#   r<   tsrL   	exp_indexs        r+   test_shift_mismatched_freq-TestDataFrameShift.test_shift_mismatched_freqI   s    II!!!$44Q7Z=

 !&)HHNN16N2	
fllI6 !$'HHw||A.	
fllI6r.   r=   r   z1/1/2011   r1   r2   2017r   r4   
shift_sizer   r   r   c                 b    U[         La  UR                  5       nUR                  U5      ULd   eg N)r   to_framer   )r#   r=   r]   r<   s       r+   test_shift_always_copy)TestDataFrameShift.test_shift_always_copyX   s.     &(,,.Cyy$C///r.   c                 J   [        [        S5      5      n[        R                  " [        SS9   UR                  S/ S9  S S S 5        UR                  5       n[        R                  " [        SS9   UR                  S[        R                  " S5      S9  S S S 5        UR                  [        5      nUR                  S0 S9nUS   0 :X  d   eUR                  5       nUR                  S0 S9nUR                  S   0 :X  d   eg ! , (       d  f       N= f! , (       d  f       N= f)Nr   zfill_value must be a scalarr6   r   r   r   )r   r   )r   rG   r8   r9   r:   r   ra   r   aranger"   objectiloc)r#   serr%   obj_serrL   obj_dfs         r+   !test_shift_object_non_scalar_fill4TestDataFrameShift.test_shift_object_non_scalar_fillg   s    U1X]]:-JKIIaBI' L \\^]]:-JKHHQ299Q<H0 L **V$qR0ayB!!#aB/{{4 B&&& LK LKs   D0%D
D
D"c                     [         R                  " X5      R                  [        5      nUR	                  S5      nUR                  [
        5      R	                  S5      n[         R                  " XE5        g )Nr   )r    get_objr"   intr   floatrI   )r#   datetime_framer<   rV   shiftedr'   s         r+   test_shift_int!TestDataFrameShift.test_shift_inty   sM    ZZ8??D((1+99U#))!,
*r.   r   int32int64c                     [        SSS9n[        R                  " SUS9nU" XCS9nUS   nUR                  US9nU" [        R                  SSSS	/US9n[
        R                  " Xx5        g )
Nz
2000-01-01r   r\   r   r4   r   r   r   r   )r	   r   rf   r   nanr    rI   )	r#   r<   r   r5   arrs1prL   r'   s	            r+   test_shift_32bit_take(TestDataFrameShift.test_shift_32bit_take   sj     <3ii'S.F!$"BFFAq!Q#7uE
)r.   r   )r   r   r   rS   c           	          U" [        U5      [        SUSS9S9nUR                  SS5      nU" [        U5      [        SUSS9S9n[        R                  " XE5        g )Nz2016-1-1 00:00:00r1   r2   r4   r   2hz2016-1-1 02:00:00)rG   r	   r   r    rI   )r#   r   r<   r=   rL   r'   s         r+   test_shift_preserve_freqstr.TestDataFrameShift.test_shift_preserve_freqstr   s`     'N0'L

 1d#"'N0'L
 	)r.   c                    [        SSSSSS9nU" U5      nUR                  S5      n[        R                  " XC5        [        R                  " U5      S:X  d   eUR                  S	5      n[
        /UR                  [        5      R                  R                  5       S S
 QnU" U5      n[        R                  " XF5        [        R                  " U5      S:X  d   eUR                  S5      n/ UR                  [        5      R                  R                  5       SS  Q[
        P[
        PnU" U5      n[        R                  " XF5        [        R                  " U5      S:X  d   eg )N
2016-11-06r1   
   
US/Easternnsr3   r   tzunitr   datetime64[ns, US/Eastern]r   	   r   )
r	   r   r    rI   	get_dtyper   r"   rg   valuestolist)r#   r<   datesr=   r&   exp_valsexps          r+   test_shift_dst!TestDataFrameShift.test_shift_dst   s)   sB<d
 e$iil
!||C $@@@@iilC%,,v.55<<>rBCh'
!||C $@@@@iimHU\\&)00779!"=HsHCHh'
!||C $@@@@r.   ex)r   i   ic                     [        SSSSSS9nU" U5      nUR                  U5      nU" [        /S-  SS9n[        R                  " XV5        [        R
                  " U5      S:X  d   eg )	Nr   r1   r   r   r   r   r   r   )r	   r   r   r    rI   r   )r#   r<   r   r   r=   r&   r   s          r+   test_shift_dst_beyond(TestDataFrameShift.test_shift_dst_beyond   si     sB<d
 e$iimsebj0LM
!||C $@@@@r.   c                 ~    [         R                  " X5      nUR                  S5      n[         R                  " XC5        g Nr   )r    ro   r   rI   )r#   rr   r<   r=   	unshifteds        r+   test_shift_by_zero%TestDataFrameShift.test_shift_by_zero   s)    jj9IIaL	
	'r.   c                    US   nUR                  S5      n[        R                  " UR                  UR                  5        UR                  S5      n[        R                  " US   U5        UR                  S5      n[        R                  " UR                  UR                  5        UR                  S5      n[        R                  " US   U5        UR                  S5      R                  S5      n[        R
                  " UR                  5       R                  UR                  S S 5        UR                  S5      R                  S5      n[        R
                  " UR                  5       R                  UR                  S S 5        g )NAr   )r   r    rT   r5   assert_series_equalassert_numpy_array_equaldropnar   )r#   rr   ri   rs   shifted_serr   unshifted_sers          r+   
test_shiftTestDataFrameShift.test_shift   s/   S! &&q)
gmm^-A-ABiil
ws|[9 &&r*
gmm^-A-ABiim
ws|[9"((+11"5	
##%%~'<'<Sb'A	
 		!**2.
##M$8$8$:$A$A3::cr?Sr.   c                    [         R                  " X5      n[        R                  " 5       nUR	                  SUS9n[        U5      [        U5      :X  d   eUR	                  SUS9n[         R                  " Xc5        UR	                  SSS9n[         R                  " XW5        UR	                  SUS9n[         R                  " Xc5        UR                  S   nXS-  -   n	U[        L a5  [         R                  " UR                  U5      UR                  U	5      SS9  g [         R                  " UR                  U   UR                  U	   5        g )Nr   rQ   r   Br   F)check_names)r    ro   r
   BDayr   rH   rI   r5   r   r   xsassert_almost_equalat)
r#   rr   r<   r=   offsetrs   r   shifted2d	shifted_ds
             r+   test_shift_by_offset'TestDataFrameShift.test_shift_by_offset   s   jj9))AF)+7|s3x'''MM"6M2	
	'99QS9)
*IIafI-	
	'IIaL
N	i'""366!9gjj.CQVW""366!9gjj.CDr.   c                    [        [        R                  " S[        S9[        R
                  " SSS9S9n[        R                  " X!5      nUR                  S5      nUR                  S5      n[        R                  " UR                  UR                  5        [        R                  " UR                  UR                  5        U[         L a\  [        R                  " UR                  S S 2S4   R                  5       R                  UR                  S S2S4   R                  5        O<[        R                  " UR                  5       R                  UR                  S S 5        UR                  SS	5      nUR                  S[        R                   " 5       5      n[        R"                  " XV5        [        R"                  " X%R                  SS	5      5        S
n[$        R&                  " [(        US9   UR                  SS9  S S S 5        UR                  SS	S9n[        R"                  " XX5        UR                  S[        R                   " 5       S9n	[        R"                  " X5        g ! , (       d  f       Nn= f)NrS   r   
2020-01-01r\   r4   r   r   Dzdoes not match PeriodIndex freqr6   WrQ   )r   r   rf   rq   pdperiod_ranger    ro   r   rT   r5   r   rh   r   r   r
   DayrI   r8   r9   r:   )
r#   r<   psrs   r   r   shifted3r>   shifted4shifted5s
             r+   test_shift_with_periodindex.TestDataFrameShift.test_shift_with_periodindex   s   IIau%R__\ST-U
 ZZ,((1+MM"%	
gmmRXX6
ioorxx8i'''q!t$++-44bggcrc1fo6L6L ''	(8(8(:(A(A299Sb>R88As#88Aw{{}-
+
NN2s34/]]:S1HH#H 2 88AC8(
+88AGKKM82
+ 21s   2I**
I8c                 X   [        [        R                  R                  S5      R                  S5      5      n[        R
                  " [        [        R                  UR                  S/S9UR                  S S 2SS24   /SSS9nUR                  SSS	9n[        R                  " X25        g )
Nr   r   r   r   r5   r;   r   Tr   ignore_indexr   r   r   r   r   r   r   concatry   r5   rh   r   r    r!   r#   r%   r'   rL   s       r+   test_shift_other_axis(TestDataFrameShift.test_shift_other_axis  s     ryy,,Q/66w?@99rvvRXXs;RWWQ"W=MN

 !!$
f/r.   c                 X   [        [        R                  R                  S5      R                  S5      5      n[        R
                  " [        [        R                  UR                  S/S9UR                  S S 2SS24   /SSS9nUR                  SS	S
9n[        R                  " X25        g )Nr   r   r   r   r   Tr   r   r;   r   r   r   s       r+   test_shift_named_axis(TestDataFrameShift.test_shift_named_axis!  s    ryy,,Q/66w?@99rvvRXXs;RWWQ"W=MN

 !),
f/r.   c                     UR                   n[        R                  " 5       nUR                  SUSS9n[	        U5      [	        U5      :X  d   eUR                  SUSS9n[
        R                  " XR5        g )Nr   r   )r3   r   r   )r   r
   r   r   rH   r    rI   )r#   rr   r=   r   rs   r   s         r+   test_shift_other_axis_with_freq2TestDataFrameShift.test_shift_other_axis_with_freq,  sd     ))AF)37|s3x'''MM"6M:	
	'r.   c                     [        SS/SS/S.5      nUR                  S5      n[        [        R                  " [        R                  [        R                  /SS//[
        S9SS/S9n[        R                  " X#5        g )	NTF)highlowr   r   r   r   r;   )r   r   r   arrayry   rg   r    r!   )r#   r%   rsxps       r+   test_shift_bool"TestDataFrameShift.test_shift_bool6  sk    uuenEFXXa[HHrvvrvv&u6fEUO
 	b%r.   c                 P   U" / SQSS9nUR                  S5      R                  S5      n[        R                  " UR                  S S UR	                  5       5        S nU" U5      nUR                  S5      n[        R
                  " UR                  UR                  5        [        R                  " U" U5      R                  S S S:H  5      (       d   e[        R                  " UR                  S S U" U5      R                  SS  :H  5      (       d   eUR                  S5      n[        R
                  " UR                  UR                  5        [        R                  " U" U5      R                  SS  S:H  5      (       d   e[        R                  " UR                  SS  U" U5      R                  S S :H  5      (       d   e[        R
                  " UR                  U" U5      R                  5        [        R
                  " UR                  U" U5      R                  5        g )	Nabcr   categoryr   r   r   c                 H    U R                   R                  S   R                  $ r   )_mgrblocksr   )ndframes    r+   get_cat_valuesBTestDataFrameShift.test_shift_categorical1.<locals>.get_cat_valuesF  s     <<&&q)000r.   r   r   )r   r    rI   rh   r   rT   r5   r   allcodes
categories)r#   r<   r=   rtr   catsp1sn2s           r+   test_shift_categorical1*TestDataFrameShift.test_shift_categorical1?  s   2*EYYq\#
"ryy{3	1
 S!iil
cii3vvnS)//3r9::::vvciins(;(A(A!"(EEFFFFiim
cii3vvnS)//4:;;;;vvciim~c':'@'@"'EEFFFF
cnnnS.A.L.LM
cnnnS.A.L.LMr.   c                     [        / SQSS9n[        / SQSS9n[        XS.5      nUR                  S5      n[        UR                  S5      UR                  S5      S.5      n[        R                  " XE5        g )Nr   r   r   r   r   )r   r   C)onetwor   )r   r   r   r    r!   )r#   r{   s2r%   r   r   s         r+   test_shift_categorical)TestDataFrameShift.test_shift_categoricalZ  sa    O:6O:6r-.XXa[rxx{288A;?@
b%r.   c                 ,   U" / SQSS9nUR                  SSS9nU" [        R                  " / SQ/ SQSS	95      n[        R                  " X45        S
n[
        R                  " [        US9   UR                  SSS9  S S S 5        g ! , (       d  f       g = f)Nr   r   r   r   r   re   )r   r   r   r   F)r   orderedz9Cannot setitem on a Categorical with a new category \(f\)r6   f)r   r   Categoricalr    rI   r8   r9   	TypeError)r#   r<   rV   r&   r'   r>   s         r+   !test_shift_categorical_fill_value4TestDataFrameShift.test_shift_categorical_fill_valuec  s    1DhhqSh)"NN$1Eu

 	& K]]9C0HHQ3H' 100s   +B
Bc                 J   [        SSSS9nU" / SQUS9nU" / SQUS9nUR                  SS	S
9n[        R                  " XT5        U" / SQUS9nUR                  SS	S
9n[        R                  " XT5        U" / SQ5      nUR                  SSS
9n[        R                  " U5      [        R                  " U5      :X  d   eU" / SQUS9nU" / SQUS9nUR                  SSS
9n[        R                  " XT5        U" / SQUS9nUR                  SSS
9n[        R                  " XT5        g )Nr0   r   r1   r2   )rB          @      @      @      @r4   )        rB   r  r  r  r   r  re   )r  r  rB   r  r  r   r   r   r   r   )r   r   r   rS   r   )r   r   r   r   rS   )r   r   r   r   r   )r	   r   r    rI   r   )r#   r<   dtirV   r   rL   r&   r=   s           r+   test_shift_fill_value(TestDataFrameShift.test_shift_fill_valuer  s   QS96cB7sC!,
$7sC!,
$Y'hhqQh'||C BLL$4444 oS9oS91+
$oS91+
$r.   c                 l    [        S/ 05      nUR                  S5      n[        R                  " X5        g )Nfoor   r   r   r    r!   )r#   r%   r   s      r+   test_shift_empty#TestDataFrameShift.test_shift_empty  s+    r{#XXb\
b%r.   c           	         [        [        S5      5      S/S-  / SQ/n[        R                  R	                  S5      R                  S5      n/ nU H  n[        UR                  5       US9n[        S5       H9  nUR                  S S 2U4   R                  US-   5      UR                  S S 2U4'   M;     [        S5      Ul
        UR                  U5        M     US   R                  5       R                  5       n[        R                  " U[!        [        SS5      S	S
95        [        R"                  " US   US   5        [        R"                  " US   US   5        g )Nr   r   )r   r   r   r   r   r   )r   r   r   r      rw   r   )listrG   r   r   r   r   r   copyrh   r   r;   appendisnasumr    r   r   r!   )r#   column_listsr$   rs   r;   r%   snullss           r+   test_shift_duplicate_columns/TestDataFrameShift.test_shift_duplicate_columns  s    U1XaAyy$$Q'77@#G499;8B1X "1 3 3AE :1 qBJNN2 $ 
!%%'
ufU1a[&HI 	gaj'!*5
gaj'!*5r.   c                    [        [        R                  R                  S5      R	                  SSS95      n[        [        R                  R                  S5      R	                  SSS95      n[
        R                  " X/SS9n[        UR                  R                  5      S:X  d   eUR                  SSS9nUR                  / SQSS9nUR                  S	 5      n[        R                  UR                  S S 2S S24'   UR                  Ul        [         R"                  " XE5        [
        R                  " X/SS9n[        UR                  R                  5      S:X  d   eUR                  S
SS9nUR                  / SQSS9nUR                  S 5      n[        R                  UR                  S S 2S
S 24'   UR                  Ul        [         R"                  " XE5        g )Nr     r   )sizer   r   r   r   )r   r   r   r   r   c                     U R                  [        U R                  S   5      SS9R                  SSS.5      R                  U R                  SS9$ )Nr   r   rq   )r   r   set_axisrG   rA   r"   r;   r%   s    r+   <lambda>ETestDataFrameShift.test_shift_axis1_multiple_blocks.<locals>.<lambda>  D    r{{5!#5A{>VG,-XbjjqX)*r.   r   )r   r   rS   r   r   c                     U R                  [        U R                  S   5      SS9R                  SSS.5      R                  U R                  SS9$ )Nr   r   rq   )r   rS   r#  r%  s    r+   r&  r'    r(  r.   )r   r   r   r   integersr   r   rH   r   r   r   takepipery   rh   r;   r    r!   )r#   df1r(   df3rL   r'   s         r+    test_shift_axis1_multiple_blocks3TestDataFrameShift.test_shift_axis1_multiple_blocks  s   		--a099$V9LM		--a099$V9LMii
+388??#q(((11%88-A86 ==*

  "vva!e;;
f/ ii
+388??#q(((2A&88-A86 ==*

 !#af;;
f/r.   c                 ^   [         R                  R                  S5      n[        UR	                  SS[
        S95      n[        UR	                  SS[
        S95      n[        R                  " UR                  S S2SS24   UR                  S S2S S 24   /SS	9nUR                  SS[         R                  " S
5      S9n[        UR                  R                  5      S:X  d   eUR                  / SQSS	9n[         R                  " S
5      UR                  S S 2S S24'   UR                  Ul        [         R"                  " XV5        [        R                  " UR                  S S2SS24   UR                  S S2S S 24   /SS	9nUR                  SS[         R                  " S
5      S9n[        UR                  R                  5      S:X  d   eUR                  / SQSS	9n[         R                  " S
5      UR                  S S 2SS 24'   UR                  Ul        [         R"                  " XV5        g )Nr   r  r   )r   r   r!  rS   r   r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   )r   r   r   r   r*  rp   r   r   rh   r   int_rH   r   r   r+  r;   r    r!   )r#   rngr-  r(   r.  rL   r'   s          r+   .test_shift_axis1_multiple_blocks_with_int_fillATestDataFrameShift.test_shift_axis1_multiple_blocks_with_int_fill  s   ii##A&TcBCTcBCii"1"ac'*CHHRaRUO<1E11<388??#q(((88N83!wwqza!e;;
f/ ii"1"ac'*CHHRaRUO<1E2A"''!*=388??#q(((88N83 "
af;;
f/r.   c                    [        [        S5      [        R                  " SSS9S9n[        R
                  " X!5      nUR                  SSS9nUR                  SSS9n[        R                  " XB5        UR                  S	S9n[        R                  " X55        UR                  [        R                  " 5       S9n[        R                  " X65        g )
NrS   r   r\   r4   r   inferrQ   r   r   )
r   rG   r   r   r    ro   r   rI   r
   r   )r#   r<   r   rs   r   r   r   s          r+   'test_period_index_frame_shift_with_freq:TestDataFrameShift.test_period_index_frame_shift_with_freq  s    uQxr|Q'OPZZ,((17(+MM"7M3	
	&888%
*888/
*r.   c                    [         R                  " X5      nUR                  SSS9nUR                  SSS9n[         R                  " X55        UR                  UR                  R
                  S9n[         R                  " XF5        [        UR                  [        [        R                  " UR                  5      5      UR                  S9n[         R                  " Xr5      nUR                  SSS9nUR                  SSS9nUR                  R                  S 5      Ul        [         R                  " XH5        UR                  SSS9n[         R                  " XW5        g )Nr   r8  rQ   r   r   )r    ro   r   rI   r5   r3   r   r   r   r   asarrayr;   
_with_freq)	r#   rr   r<   dtobjrs   r   r   inferred_tsr'   s	            r+   #test_datetime_frame_shift_with_freq6TestDataFrameShift.test_datetime_frame_shift_with_freq  s   

>;++ag+.MM"7M3	
);;EKK$4$4;5
*!!"**^1123"**

 jj>##AG#4;;qw;/!2248
*MM"7M3	
	/r.   c                    [        [        S5      [        R                  " SSS9S9n[        R
                  " X!5      nSn[        R                  " [        US9   UR                  SS9  S S S 5        g ! , (       d  f       g = f)	NrS   r   r\   r4   z.Given freq M does not match PeriodIndex freq Dr6   MrQ   )
r   rG   r   r   r    ro   r8   r9   r:   r   )r#   r<   r   r>   s       r+   -test_period_index_frame_shift_with_freq_error@TestDataFrameShift.test_period_index_frame_shift_with_freq_error  sX    uQxr|Q'OPZZ,>]]:S1HH#H 211s   A11
A?c                     [         R                  " X5      nUR                  / SQ   nSn[        R                  " [
        US9   UR                  SS9  S S S 5        g ! , (       d  f       g = f)N)r   r      z6Freq was not set in the index hence cannot be inferredr6   r8  rQ   )r    ro   rh   r8   r9   r:   r   )r#   rr   r<   r>  no_freqr>   s         r+   )test_datetime_frame_shift_with_freq_error<TestDataFrameShift.test_datetime_frame_shift_with_freq_error  sM     

>;**Y'F]]:S1MMwM' 211s   A
A*c                    [        [        R                  " S5      [        R                  " S5      /5      n[        R                  " [
        SS9   UR                  SSS9  S S S 5        UR                  5       n[        R                  " [
        SS9   UR                  SSS9  S S S 5        [        XS.5      nUR                  5         UR                  SSSS	9n[        SS/US
   S.5      n[        R                  " XE5        [        S
U05      nXS'   [        UR                  R                  5      S:X  d   eUR                  SSSS	9n[        R                  " XE5        g ! , (       d  f       GN= f! , (       d  f       N= f)Nr   z
2020-01-02zvalue should be ar6   r   r   re   r   r   r2  r   r   r   )r   r   	Timestampr8   r9   r   r   ra   r   _consolidate_inplacer    r!   rH   r   r   )r#   ri   r%   r(   rL   r'   r.  s          r+   )test_shift_dt64values_int_fill_deprecated<TestDataFrameShift.test_shift_dt64values_int_fill_deprecated#  s6   bll<0",,|2LMN]]9,?@IIaAI& A \\^]]9,?@HHQ1H% A c,-  "113Aq6C9:
f/ c
#C388??#q(((113
f/) A@ A@s   EE1
E.1
E?as_catTz1_can_hold_element incorrectly always returns True)reason)marksFvalsr   r   z
US/Pacific)r   r   r   z	2020 Daysr   r   r   Int64r   Float32c                 ,    [        U R                  5      $ r`   )strr   xs    r+   r&  TestDataFrameShift.<lambda>^  s    c!''lr.   )idsc                 8   [        U5      nU(       a  UR                  S5      n[        SU05      nUR                  SSSS9n[        SSS/05      n[        R
                  " XV5        [        X3S.5      nUR                  5         UR                  SSSS9n[        US   SS/S.5      n[        R
                  " XV5        [        SU05      nX8S'   [        UR                  R                  5      S	:X  d   eUR                  SSSS9n[        R
                  " XV5        g )
Nr   r   r   r   r  r2  rL  r   r   )
r   r"   r   r   r    r!   rN  rH   r   r   )	r#   rT  rQ  ri   r%   rL   r'   r(   r.  s	            r+   (test_shift_dt64values_axis1_invalid_fill;TestDataFrameShift.test_shift_dt64values_axis1_invalid_fill=  s
   J Tl**Z(CSz""17cE5>23
f/ c,-  "2A%83s85%.AB
f/ c
#C388??#q(((2A%8
f/r.   c                    [        / SQ5      n[        SS/SS/SS/S.US S US	9nUR                  SS
9n[        [        R                  [        R                  /SS/SS/S.US S US	9n[
        R                  " X45        UR                  SSS
9n[        [        R                  [        R                  /[        R                  [        R                  /SS/S.US S US	9n[
        R                  " X45        g )Nr   r   r   r   rS   r   r  r   r   r   )r   r   r   r   ry   r    r!   )r#   cir%   rL   r'   s        r+   $test_shift_axis1_categorical_columns7TestDataFrameShift.test_shift_axis1_categorical_columnsz  s    o.a&1vQF32cr7B
 q!66266"!Qq!f=RWVX
 	f/ !!$66266""&&"&&)9AGSb'

 	f/r.   c                 4   [        [        R                  R                  S5      R                  S5      5      nUR	                  SSS S9nU[        R
                  -  n[        R                  " X#5        UR	                  SSS S9n[        R                  " XC5        g )Nr   r   r  r   r2  i)r   r   r   r   r   ry   r    r!   )r#   r%   rs   r'   r   s        r+   test_shift_axis1_many_periods0TestDataFrameShift.test_shift_axis1_many_periods  sw    ryy,,Q/66v>?((11(6;
g088BQ488
h1r.   c           	          [        S/ SQ0[        SSS9S9nUR                  SS9n[        S/ SQ0[        S	S	SS
9S9n[        R                  " X#5        g )NrZ  r	  2000r   r\   r4   1MSrQ   z
02/01/2000)startendr   )r   r	   r   r    r!   )r#   r%   rs   r'   s       r+   test_shift_with_offsets_freq/TestDataFrameShift.test_shift_with_offsets_freq  sX    Y'z&!/LM(((&)<\1M
 	g0r.   c           
      n   / SQ/ SQS.n/ SQn[        U5      nUR                  U5      n[        / SQ/ SQ[        R                  SS/[        R                  SS/[        R                  [        R                  S/[        R                  [        R                  S/S	.5      n[        R
                  " XT5        g )
Nr	  )rS   r   r  r   r   r^   rB   r  r  r  )a_0b_0a_1b_1a_2b_2)r   r   r   ry   r    r!   )r#   r$   shiftsr%   rs   r'   s         r+   ,test_shift_with_iterable_basic_functionality?TestDataFrameShift.test_shift_with_iterable_basic_functionality  s    Y/t_((6"  S)S),,	
 	h0r.   c                     S/ SQ0n/ SQn[        U5      nUS   n[        R                  " UR                  U5      UR                  U5      5        g )Nr   r	  r^   )r   r    r!   r   )r#   r$   rv  r%   r  s        r+   test_shift_with_iterable_series2TestDataFrameShift.test_shift_with_iterable_series  sD    Yt_sG
aggforxx/?@r.   c           	         [        [        R                  R                  S5      R	                  S5      [        SSSS9S9n[        R                  " UR                  S/SS9R                  S	 S
9UR                  SSS95        [        R                  " UR                  S/SS9R                  S S
9UR                  SSS95        g )Nr   r   r0   r1   r2   r4   r   re   c                     [        U S   5      $ r   rp   rY  s    r+   r&  QTestDataFrameShift.test_shift_with_iterable_freq_and_fill_value.<locals>.<lambda>  s    QqTr.   r   rQ   c                     [        U S   5      $ r   r~  rY  s    r+   r&  r    s    S1Yr.   )
r   r   r   r   r   r	   r    r!   r   rename)r#   r%   s     r+   ,test_shift_with_iterable_freq_and_fill_value?TestDataFrameShift.test_shift_with_iterable_freq_and_fill_value  s    II!!!$44Q7Z=

 	HHaSQH'..7J.KHHQ1H%	
 	HHaSsH#**3F*GHHQSH!	
r.   c                    SS/SS/S.nSS/n[        U5      nUS/   R                  USS	9n[        SS/[        R                  S
/S.5      n[        R
                  " XE5        Sn[        R                  " [        US9   UR                  USS9  S S S 5        Sn[        R                  " [        US9   UR                  S/5        S S S 5        Sn[        R                  " [        US9   UR                  / 5        S S S 5        Sn[        R                  " [        US9   UR                  SSS	9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Ne= f! , (       d  f       g = f)Nr   r   rS   r   ro  r   r   _suffix)suffixrB   )
a_suffix_0
a_suffix_1z:If `periods` contains multiple shifts, `axis` cannot be 1.r6   r   z0Periods must be integer, but s is <class 'str'>.r  z0If `periods` is an iterable, it cannot be empty.z/Cannot specify `suffix` if `periods` is an int.fails)
r   r   r   ry   r    r!   r8   r9   r:   r   )r#   r$   rv  r%   rs   r'   r>   s          r+   .test_shift_with_iterable_check_other_argumentsATestDataFrameShift.test_shift_with_iterable_check_other_arguments  s4   V1a&)Qt_ cU)//&/;QF2663-PQ
g0 K]]:S1HHV!H$ 2 A]]9C0HHcUO 1 A]]:S1HHRL 2 @]]:S1HHQwH' 21 21 10 21 21s0   >D72E(EE*7
E
E
E'*
E8c                 d    [        5       nUR                  SSS9n[        R                  " X!5        g )Nr   r   r  )r#   r%   rL   s      r+   test_shift_axis_one_empty,TestDataFrameShift.test_shift_axis_one_empty  s)    [!!$
f)r.   c                     [        SSSS9n[        R                  " 5       nX-   n[        US9n[        US9nUR	                  US9n[
        R                  " Xe5        g )Nr   r   r   r2   r4   rQ   )r	   r
   r   r   r   r    r!   )r#   r   r   shifted_datesr%   
df_shiftedrL   s          r+   "test_shift_with_offsets_freq_empty5TestDataFrameShift.test_shift_with_offsets_freq_empty  sT    <=U#]3
v&
f1r.   c           	         [        [        R                  " SSSS9[        R                  " SSSS9/5      nUR                  S5      n[        [        R
                  [        R                  " SSSS9/5      n[        R                  " X#5        g )Nr   r   right)closedr   )r   r   Intervalr   r   ry   r    r   )r#   ri   rL   r'   s       r+   +test_series_shift_interval_preserves_closed>TestDataFrameShift.test_series_shift_interval_preserves_closed  sk    [[Ag.Aq0QR
 12662;;q!G#DEF
v0r.   c                    [        / SQ/ SQS.5      nSn[        R                  " [        US9   UR	                  SSS9  S S S 5        [        R                  " [        US9   US	   R	                  SSS9  S S S 5        [        R                  " [        US9   US
   R	                  SSS9  S S S 5        [        R                  " [        US9   UR	                  S[
        S9  S S S 5        [        R                  " [        US9   US	   R	                  S[
        S9  S S S 5        [        R                  " [        US9   US
   R	                  S[
        S9  S S S 5        g ! , (       d  f       GN"= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nr	  )TFTro  z&shifting with a fill value that cannotr6   r   r  re   r   r   )r   r    assert_produces_warningr   r   r   )r#   r%   r>   s      r+   )test_shift_invalid_fill_value_deprecation<TestDataFrameShift.test_shift_invalid_fill_value_deprecation  sL   (
 7''cBHHQ5H) C ''cBsGMM!M. C''cBsGMM!M. C ''cBHHQ3H' C''cBsGMM!M, C''cBsGMM!M, CB CB CBBB CBBBBBsG   E E,E=
F F9F0
E),
E:=
F
F
F-0
F>c                    [        SSSS9n[        SSS/0US   US   /S	9nUR                  SS/SS9n[        S
S[        R                  /S[        R                  S
/S.US   US   US   /S	9n[
        R                  " X45        g )Nr0   rS   r   r2   r   r   r   r   r4   rB   r  )rr  rt  r   )r	   r   r   r   ry   r    r!   )r#   r   r%   rL   r'   s        r+   -test_shift_dt_index_multiple_periods_unsorted@TestDataFrameShift.test_shift_dt_index_multiple_periods_unsorted"  s    J<aV}VAYq	,BC1a&s3S"&&)RVVS) !9fQi3
 	f/r.    N)D__name__
__module____qualname____firstlineno__r,   r?   r8   markparametrizer   emptyonesry   rM   rX   r   rf   r	   rG   rb   rl   rt   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r/  r5  r9  r@  rD  rI  rO  paramxfailr   r   timedelta_rangeinterval_ranger   r^  rb  re  rl  rw  rz  r  r  r  r  r  r  r  __static_attributes__r  r.   r+   r   r      sO   /=  [[!
((
	#bggD&9BFFC=%IJ*	*$7 [[BIIaL>"z2C858:fa#@A	
 [[\950 60'$+ [[Ww&89	* :	* [[Y5* 6*A. [[T#56	A 7	A(T0E. ,D
0	0(&N6&(%8&6,'0R04+0.(04 [[LLkk''N (  	
 [[|Q/|Q<@OOL!#>{AC@aA.LL!Qw/kk''N (  LL!Qy1kk''N ( 	
& #+  .0/F040,	211(A
$(8*21-40r.   r   )numpyr   r8   pandas.errorsr   pandasr   r   r   r   r   r   r	   r
   pandas._testing_testingr    r   r  r.   r+   <module>r     s1      (    [0 [0r.   