
    Mh                         S SK rS SKrS SKJrJr  S SKJr   " S S5      r	\R                  R                  S/ SQ5      S 5       rS rg)	    N)	DataFrameSeriesc                      \ rS rSr\R
                  R                  SSSS\R                  \R                  \R                  SSSSS/4SSS\R                  \R                  \R                  SSSS\R                  /4SSS\R                  SSSSS\R                  \R                  /4SSS\R                  \R                  SSSS\R                  \R                  /4S	SS\R                  \R                  S
S
SSS\R                  /4S	SS\R                  \R                  S
S
SS\R                  \R                  /4S	SSSSS
S
S\R                  \R                  \R                  /4S	SS\R                  SS
S
S\R                  \R                  \R                  /4/5      S 5       r	S r
S rS r\R
                  R                  S/ SQ5      S 5       rSrg)TestDataFramePctChange   z periods, fill_method, limit, exp   ffillN      ?r   bfillg      g333333c                    [         R                  [         R                  SSSS[         R                  [         R                  /nU" U5      nS[        U5      R                   S3n[        R
                  " [        US9   UR                  XUS9n	S S S 5        [        R                  " W	U" U5      5        g ! , (       d  f       N,= f)	Nr         
   zDThe 'fill_method' keyword being not None and the 'limit' keyword in z.pct_change are deprecatedmatch)periodsfill_methodlimit)	npnantype__name__tmassert_produces_warningFutureWarning
pct_changeassert_equal)
selfr   r   r   expframe_or_seriesvalsobjmsgress
             \/var/www/html/env/lib/python3.13/site-packages/pandas/tests/frame/methods/test_pct_change.pytest_pct_change_with_nas/TestDataFramePctChange.test_pct_change_with_nas   s      1aRVVRVV<d# SCy!!""<> 	 ''SA..QV.WC B
_S12 BAs   =B44
Cc           	         [        [        R                  " SSS5      [        R                  " SSS5      [        R                  " SSS5      /5      R                  [        R                  5      n[        R
                  UR                  S'   [        R
                  UR                  S'   SUR                  S'   Sn[        S	5       H{  nUR                  US
9UR                  US
9R                  US
9-  S-
  n[        R                  " [        US9   UR                  USS9nS S S 5        [        R                  " WU5        M}     g ! , (       d  f       N*= f)Nr   (   r   )r   r   )r   r   <   )r      gThe 'fill_method' keyword being not None and the 'limit' keyword in DataFrame.pct_change are deprecatedr   )axisr   r   pad)r.   r   )r   r   arangeastypefloat64r   iatranger	   shiftr   r   r   r   assert_frame_equal)r   pnlr$   r.   expectedresults         r&   test_pct_change_numeric.TestDataFramePctChange.test_pct_change_numeric'   s   YYq"b!299QB#71b"9MN

&
 	 2 	
 !HDyydy+ciiTi.B.H.Hd.H.SSVWWH++METuE F!!&(3  FEs   E
E	c                    SnUR                  S S9n[        R                  " X1UR                  S5      -  S-
  5        UR                  S5      nUR	                  5       n[        R                  " X4UR                  S5      -  S-
  5        [        R
                  " [        US9   UR                  SSS9nS S S 5        UR                  SS9n[        R                  " X4UR                  S5      -  S-
  5        UR                  S	S
9nUR	                  5       n[        R                  " X4UR                  S	S
9-  S-
  R                  U5      5        g ! , (       d  f       N= f)Nr-   r   r   r   r   r   r   r   )r   5D)freq)	r   r   r6   r5   r	   r   r   r   reindex_like)r   datetime_framer$   rsfilleds        r&   test_pct_change&TestDataFramePctChange.test_pct_change<   s<   2 	
 &&4&8
b>3G3G3J"JQ"NO&&q)%%'
b6<<?":Q">?''SA**wa*HB B%%A%.
b6<<?":Q">?&&D&1%%'
&,,D,11A5CCFK	
 BAs   "E
Ec                 h   [        SS[        R                  SS/5      n[        XS.5      nSn[        R
                  " [        US9   UR                  5       nS S S 5        [        [        R                  SS	S
S/5      n[        XUS.5      n[        R                  " WU5        g ! , (       d  f       NQ= f)N      ?r
   g      @g      @)abzCThe default fill_method='pad' in DataFrame.pct_change is deprecatedr         ?        gVUUUUU?g?)	r   r   r   r   r   r   r   r   r6   )r   sdfr$   chgr8   edfs          r&   test_pct_change_shift_over_nas5TestDataFramePctChange.test_pct_change_shift_over_nasT   s    Cbffc3/0Q'(S''SA--/C B 2663]C@Ah67
c3' BAs   B##
B1z!freq, periods, fill_method, limit))5B   NN)3Br,   NN)rU   r,   r   N)7B   r/   r   )rV   rW   r   r,   )14B   NNc                    Sn[         R                  " [        US9   UR                  X$US9nS S S 5        [         R                  " [        US9   UR                  X4US9nS S S 5        [         R                  " WW5        [        UR                  UR                  S9n	[         R                  " [        US9   U	R                  X$US9nS S S 5        [         R                  " [        US9   U	R                  X4US9nS S S 5        [         R                  " Xx5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Ny= f! , (       d  f       NX= f)Nr-   r   )r@   r   r   r>   )indexcolumns)r   r   r   r   r6   r   r[   r\   )
r   rB   r@   r   r   r   r$   rs_freq
rs_periodsempty_tss
             r&   test_pct_change_periods_freq3TestDataFramePctChange.test_pct_change_periods_freqa   s4   2 	 ''SA$//% 0 G B ''SA'22 3 J B 	gz2>#7#7AWAWX''SA))% * G B ''SA!,, - J B 	g2' BA BA BA BAs/   DD(5D9'E

D%(
D69
E

E )r   
__module____qualname____firstlineno__pytestmarkparametrizer   r   r'   r:   rE   rQ   r`   __static_attributes__rb       r&   r   r      s   [[*1c1aHIRVVRVVRVVQ3266JK1aCHIRVVRVVQ1c266266JK$tT1a PQ!bffbffdD$266266RS$AtT4 PQ!bffatT266266266RS		
334*
0( [[+	

3
3rj   r   r   )r/   r	   Nc           	      r   [        [        R                  SSSSS/SS[        R                  SSS/S.SS	/S-  S
9nU c  S O[        nSn[        R
                  " X#S9   UR                  U S9nS S S 5        U cA  [        R                  [        R                  [        R                  [        R                  SS/nO$[        R                  [        R                  SSSS/n[        [        R                  [        R                  SSSS/US.SS	/S-  S
9n[        R                  " WU5        g ! , (       d  f       N= f)Nr   r   r,   	      r   r   r   rI   rJ   )r[   r-   r   r=   g       @rH   rL   rK   )	r   r   r   r   r   r   r   infr6   )r   datawarnr$   r9   second_columnr8   s          r&   'test_pct_change_with_duplicated_indicesrs      s    VVQ1a$!Q1b)AB3PS*WX.D &4MD	.  
	#	#D	4[9 
5 cBc3<VVRVVS#sC0]CCj1nH &(+ 
5	4s   D((
D6c                     [        SS /SS/SS/SS/SS//5      n U R                  5       n[        [        R                  SSSS/[        R                  [        R                  SSS/S	.5      n[        R
                  " X5        g )
Nr   r   r,   r   rT   rK   gUUUUUU?g      ?rn   )r   r   r   r   r   r6   )rN   r9   r8   s      r&   )test_pct_change_none_beginning_no_warningru      s    	IFFFF	

B ]]_FVVQUD)rvvrvvq#u.MNH &+rj   )numpyr   rf   pandasr   r   pandas._testing_testingr   r   rg   rh   rs   ru   rb   rj   r&   <module>rz      sN      }3 }3@ (>?, @,2,rj   