
    MhSl                     r    S SK rS SKrS SKJs  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)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(\)RT                  S3 5       r+S4 r,S5 r-S6 r.S7 r/S8 r0\R                  R                  S9\Rb                  " S:\R                  Re                  S;S<9S=9S>/5      \R                  R                  S?\" S@SAS9\" S@SASBSC9\3Rh                  " S@SASDS9\3Rj                  " SESASDS9\3Rl                  " SFSGSAS9\Rb                  " \3Rn                  " SHSA/SISJ9\R                  Re                  S;S<9S=9\Rb                  " \3Rn                  " SHSA/SKSJ9\R                  Re                  S;S<9S=9/SL SM9SN 5       5       r8SO r9SP r:SQ r;SR r<SS r=ST r>SU r?SV r@SWrAgX)Y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           W/var/www/html/env/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indexMPassing a 'freq' together with a 'fill_value' silently ignores the fill_valuematchr   r   r2   )r   r   r2   )r   r   r   r   r   r   assert_produces_warningFutureWarningr   r   columns)r"   frame_or_seriesobjmsgs       r*   (test_shift_deprecate_freq_and_fill_value;TestDataFrameShift.test_shift_deprecate_freq_and_fill_value#   s    II!!!$44Q7Z=
 	 ''SAIIaACI0 B i'$ZECK++ME		!!	< FE ( BA
 FEs   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)r4   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_array6   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   r/   r0   r1   r3   r   5minr2   4h   )r   r   r   r   r   r   r4   r   assert_index_equalr	   Hour)r"   r<   tsrL   	exp_indexs        r*   test_shift_mismatched_freq-TestDataFrameShift.test_shift_mismatched_freqL   s    II!!!$44Q7Z=

 !&)HHNN16N2	
fllI6 !$'HHw||A.	
fllI6r-   r=   r   z1/1/2011   r0   r1   2017r   r3   
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_copy[   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   pytestraises
ValueErrorr   ra   r   aranger!   objectiloc)r"   serr$   obj_serrL   obj_dfs         r*   !test_shift_object_non_scalar_fill4TestDataFrameShift.test_shift_object_non_scalar_fillj   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_int|   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   r3   r   r   r   r   )r   r   ri   r   nanr   rI   )	r"   r<   r   r4   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:00r0   r1   r3   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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	 -   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  [
        [
        /-   nU" U5      n[        R                  " XF5        [        R                  " U5      S:X  d   eg )N
2016-11-06r0   
   
US/Easternr2   r   tzr   datetime64[ns, US/Eastern]r   	   r   )
r   r   r   rI   	get_dtyper   r!   rj   valuestolist)r"   r<   datesr=   r%   exp_valsexps          r*   test_shift_dst!TestDataFrameShift.test_shift_dst   s   <c2,Oe$iil
!||C $@@@@iil55<</66==?CCh'
!||C $@@@@iim<<'..557;sCjHh'
!||C $@@@@r-   ex)r   i   ic                     [        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   r0   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   sb     <c2,Oe$iimsebj0LM
!||C $@@@@r-   c                 ~    [         R                  " X5      nUR                  S5      n[         R                  " XC5        g Nr   )r   rr   r   rI   )r"   ru   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   r4   assert_series_equalassert_numpy_array_equaldropnar   )r"   ru   rl   rv   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   rr   r	   BDayr   rH   rI   r4   r   r   xsassert_almost_equalat)
r"   ru   r<   r=   offsetrv   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\   r3   r   r   Dzdoes not match PeriodIndex freqr6   WrQ   )r   r   ri   rt   pdperiod_ranger   rr   r   rT   r4   r   rk   r   r   r	   DayrI   rf   rg   rh   )
r"   r<   psrv   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   r4   r;   r   Tr   ignore_indexr   r   r   r   r   r   r   concatr|   r4   rk   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   )r2   r   r   )r   r	   r   r   rH   r   rI   )r"   ru   r=   r   rv   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   arrayr|   rj   r   r    )r"   r$   rsxps       r*   test_shift_bool"TestDataFrameShift.test_shift_bool5  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                 4    U R                   R                  S   $ r   )_mgrarrays)ndframes    r*   get_cat_valuesBTestDataFrameShift.test_shift_categorical1.<locals>.get_cat_valuesE  s     <<&&q))r-   r   r   )r   r   rI   rk   r   rT   r4   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	*
 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_categoricalY  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   rf   rg   	TypeError)r"   r<   rV   r%   r&   r>   s         r*   !test_shift_categorical_fill_value4TestDataFrameShift.test_shift_categorical_fill_valueb  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 )Nr/   r   r0   r1   )rB          @      @      @      @r3   )        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_valueq  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      rz   r   )listrG   r   r   r   r   r   copyrk   r   r;   appendisnasumr   r   r   r    )r"   column_listsr#   rv   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(       d%  [        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"                  " XV5        [
        R                  " X#/SS9nU(       d%  [        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"                  " XV5        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   rt   )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   rt   )r   rS   r$  r&  s    r*   r'  r(    r)  r-   )r   r   r   r   integersr   r   rH   r   blocksr   takepiper|   rk   r;   r   r    )r"   using_array_manager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
+"sxx'1,,,11%88-A86 ==*

  "vva!e;;
f/ ii
+"sxx'1,,,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+  rs   r   r   rk   r   int_rH   r   r,  r-  r;   r   r    )r"   rngr0  r'   r1  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\   r3   r   inferrQ   r   r   )
r   rG   r   r   r   rr   r   rI   r	   r   )r"   r<   r   rv   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   r;  rQ   r   r   )r   rr   r   rI   r4   r2   r   r   r   r   asarrayr;   
_with_freq)	r"   ru   r<   dtobjrv   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\   r3   z.Given freq M does not match PeriodIndex freq Dr6   MrQ   )
r   rG   r   r   r   rr   rf   rg   rh   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   r;  rQ   )r   rr   rk   rf   rg   rh   r   )r"   ru   r<   rA  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   r5  r   r   r   )r   r   	Timestamprf   rg   r  r   ra   r   _consolidate_inplacer   r    rH   r   r   )r"   rl   r$   r'   rL   r&   r1  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  r5  rO  r   r   )
r   r!   r   r   r   r    rQ  rH   r   r   )	r"   rW  rT  rl   r$   rL   r&   r'   r1  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   r|   r   r    )r"   cir$   rL   r&   s        r*   $test_shift_axis1_categorical_columns7TestDataFrameShift.test_shift_axis1_categorical_columns|  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   r5  i)r   r   r   r   r   r|   r   r    )r"   r$   rv   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 )Nr]  r
  2000r   r\   r3   1MSrQ   z
02/01/2000)startendr   )r   r   r   r   r    )r"   r$   rv   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   r|   r   r    )r"   r#   shiftsr$   rv   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#   ry  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        Sn[        R                  " [        US9   UR                  SS/SSS9  S S S 5        g ! , (       d  f       g = f)Nr   r   r/   r0   r1   r3   r   re   c                     [        U S   5      $ r   rs   r\  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  r\  s    r*   r'  r    s    S1Yr-   r5   r6   r8   )r   r   r   r   r   r   r   r    r   renamer9   r:   )r"   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!	
 	 ''SAHHaVH4 BAAs   C<<
D
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   rr  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   r|   r   r    rf   rg   rh   r  )r"   r#   ry  r$   rv   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-    N)B__name__
__module____qualname____firstlineno__r+   r?   rf   markparametrizer   emptyonesr|   rM   rX   r   ri   r   rG   rb   ro   rw   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r2  td&skip_array_manager_not_yet_implementedr8  r<  rC  rG  rL  rR  paramxfailr   r   timedelta_rangeinterval_ranger   ra  re  rh  ro  rz  r}  r  r  r  __static_attributes__r  r-   r*   r   r      sP   /=& [[!
((
	#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,)0V ..0 /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52(8*r-   r   )numpyr   rf   pandas.util._test_decoratorsutil_test_decoratorsr  pandasr   r   r   r   r   r   r   r	   pandas._testing_testingr   r   r  r-   r*   <module>r     s4      ) )    i* i*r-   