
    I j0                     P    S SK rS SKrS SKJrJr  S SKJr   " S S5      r	S r
S rg)    N)	DataFrameSeriesc                      \ rS rSr\R
                  R                  SS\R                  \R                  \R                  SSS\R                  \R                  /4S\R                  \R                  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, exp         ?g      g333333c                     [         R                  [         R                  SSSS[         R                  [         R                  /nU" U5      nUR                  US9n[        R                  " Xc" U5      5        g )Nr         
   )periods)npnan
pct_changetmassert_equal)selfr   expframe_or_seriesvalsobjress          {/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/pandas/tests/frame/methods/test_pct_change.pytest_pct_change_with_nas/TestDataFramePctChange.test_pct_change_with_nas   sW     1aRVVRVV<d#nnWn-
_S12    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5       H<  nXR                  US	9-  S
-
  nUR                  US	9n[        R                  " XC5        M>     g )Nr   (   r   )r   r   )r   r   <   )r      r   )axisr   )r   r   arangeastypefloat64r   iatrangeshiftr   r   assert_frame_equal)r   pnlr#   expectedresults        r   test_pct_change_numeric.TestDataFramePctChange.test_pct_change_numeric   s    YYq"b!299QB#71b"9MN

&
 	 !HDYYDY11A5H^^^.F!!&3 r   c                    UR                  5       n[        R                  " X!UR                  S5      -  S-
  5        UR                  S5      nUR	                  5       n[        R                  " X#UR                  S5      -  S-
  5        UR                  5       n[        R                  " X!UR                  S5      -  S-
  5        UR                  SS9n[        R                  " UXR                  SS9-  S-
  R                  U5      5        g )Nr   r   5Dfreq)r   r   r*   r)   ffillreindex_like)r   datetime_framersfilleds       r   test_pct_change&TestDataFramePctChange.test_pct_change(   s    &&(
b>3G3G3J"JQ"NO&&q)%%'
b6<<?":Q">?&&(
b>3G3G3J"JQ"NO&&D&1
222==AOO	
r   c                 4   [        SS[        R                  SS/5      n[        XS.5      nUR	                  5       n[        [        R                  S[        R                  [        R                  S/5      n[        XDS.5      n[
        R                  " X55        g )N      ?r	   g      @g      @)ab      ?g?)r   r   r   r   r   r   r*   )r   sdfchgr,   edfs         r   test_pct_change_shift_over_nas5TestDataFramePctChange.test_pct_change_shift_over_nas;   so    Cbffc3/0Q'(mmo2663<=h67
c'r   zfreq, periods))5B   )3Br"   )14B   c                    UR                  US9nUR                  U5      n[        R                  " XE5        [        UR                  UR
                  S9nUR                  US9nUR                  U5      n[        R                  " XE5        g )Nr2   )indexcolumns)r   r   r*   r   rL   rM   )r   r6   r3   r   rs_freq
rs_periodsempty_tss          r   test_pct_change_periods_freq3TestDataFramePctChange.test_pct_change_periods_freqE   s~     !+++6#..w7

g2>#7#7AWAWX%%4%0((1

g2r    N)__name__
__module____qualname____firstlineno__pytestmarkparametrizer   r   r   r.   r9   rD   rQ   __static_attributes__rS   r   r   r   r      s    [[AsBFFBFFCD"&&"&&$dBFFBFFBFFKL	
334
&( [[	
33r   r   c            	         [        [        R                  SSSSS/SS[        R                  SSS/S.SS	/S-  S
9n U R                  5       n[        R                  [        R                  [        R                  [        R                  SS/n[        [        R                  [        R                  SSSS/US.SS	/S-  S
9n[
        R                  " X5        g )Nr   r   r"   	      r   r   r   r=   r>   )rL   g       @r<   r?   )r   r   r   r   infr   r*   )datar-   second_columnr,   s       r   'test_pct_change_with_duplicated_indicesrc   ^   s    VVQ1a$!Q1b)AB3PS*WX.D __FVVRVVRVVRVVS#>MVVRVVS#sC0]CCj1nH &+r   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   rG   r?   gUUUUUU?g      ?r_   )r   r   r   r   r   r*   )rA   r-   r,   s      r   test_pct_change_none_beginningre   n   s    	IFFFF	

B ]]_FVVQUD)rvvrvvq#u.MNH &+r   )numpyr   rX   pandasr   r   pandas._testing_testingr   r   rc   re   rS   r   r   <module>rj      s,      P3 P3f, ,r   