
    Mhl                        S SK rS SKrS SKrS SKJrJrJrJr  S SK	J
r  \R                  R                  S5      r\R                  " 5       S 5       r " S S5      r " S S\5      rS	 r " S
 S\5      r " S S\5      r " S S5      rg)    N)	DataFrameIndex
MultiIndexSerieszMignore:Passing a BlockManager|Passing a SingleBlockManager:DeprecationWarningc                  @   ^   " U 4S jS[         5      m T " S/ SQ05      $ )Nc                   ,   > \ rS rSr\U 4S j5       rSrg)2gpd_style_subclass_df.<locals>.SubclassedDataFrame   c                    > T$ N )selfSubclassedDataFrames    R/var/www/html/env/lib/python3.13/site-packages/pandas/tests/frame/test_subclass.py_constructor?gpd_style_subclass_df.<locals>.SubclassedDataFrame._constructor   s	    &&    r   N)__name__
__module____qualname____firstlineno__propertyr   __static_attributes__r   s   r   r   r	      s    		' 
	'r   r   a         )r   r   s   @r   gpd_style_subclass_dfr       s!    'i '
 Y/00r   c                      \ 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S rS rS rS rS rS rS rS rS rS rS rS r\R6                  R9                  SSS/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(g')(TestDataFrameSubclassing   c                     [         R                  " / SQ/ SQS./ SQS9n[         R                  " S 5         UR                  5         US   R                  5         S S S 5        g ! , (       d  f       g = f)Nr   XYr   bcindexr&   )tmr   assert_produces_warningisna)r   dfs     r   test_no_warning_on_mgr/TestDataFrameSubclassing.test_no_warning_on_mgr   sP    ##),O
 ''- GGIsGLLN	 .--s   $A""
A0c                 h  ^^	  " U	4S jS[         5      m	 " UU	4S jS[        5      m[        S5      [        S5      S.nT" U5      n[        UT5      (       d   eUR                  n[        UT	5      (       d   eUR                  5       S:X  d   eUSS	 n[        UT5      (       d   eUR                  5       S:X  d   e[        R                  " S
S/5      nT" SS/SS//US9n[        US   T5      (       d   e[        R                  " SS/5      nT" SS/SS//US9n[        US   T	5      (       d   eg )Nc                   2   > \ rS rSr\U 4S j5       rS rSrg)QTestDataFrameSubclassing.test_frame_subclassing_and_slicing.<locals>.CustomSeries,   c                    > T$ r   r   )r   CustomSeriess    r   r   ^TestDataFrameSubclassing.test_frame_subclassing_and_slicing.<locals>.CustomSeries._constructor-   s	    ##r   c                     gNOKr   r   s    r   custom_series_functionhTestDataFrameSubclassing.test_frame_subclassing_and_slicing.<locals>.CustomSeries.custom_series_function1       r   r   N)r   r   r   r   r   r   r>   r   )r8   s   r   r8   r5   ,   s    $ $r   r8   c                   T   >^  \ rS rSrSrSU 4S jjr\U4S j5       r YrS r	Sr
U =r$ )TTestDataFrameSubclassing.test_frame_subclassing_and_slicing.<locals>.CustomDataFrame4   z^
Subclasses pandas DF, fills DF with simulation results, adds some
custom plotting functions.
c                 &   > [         TU ]  " U0 UD6  g r   )super__init__)r   argskw	__class__s      r   rF   ]TestDataFrameSubclassing.test_frame_subclassing_and_slicing.<locals>.CustomDataFrame.__init__:   s     $-"-r   c                    > T$ r   r   )r   CustomDataFrames    r   r   aTestDataFrameSubclassing.test_frame_subclassing_and_slicing.<locals>.CustomDataFrame._constructor=   s	    &&r   c                     gr;   r   r=   s    r   custom_frame_functionjTestDataFrameSubclassing.test_frame_subclassing_and_slicing.<locals>.CustomDataFrame.custom_frame_functionC   r@   r   r   returnN)r   r   r   r   __doc__rF   r   r   _constructor_slicedrO   r   __classcell__)rI   rL   r8   s   @r   rL   rB   4   s3    
. ' ' #/ r   rL   
   )col1col2r<   r      )ArZ   )rZ   Br   r   r   columnsrZ   )rZ    )r[   r^   )	r   r   range
isinstancerW   r>   rO   r   from_tuples)
r   datacdf
cdf_seriescdf_rowsmcol	cdf_multi
cdf_multi2rL   r8   s
           @@r   "test_frame_subclassing_and_slicing;TestDataFrameSubclassing.test_frame_subclassing_and_slicing(   sK   	6 		 	i 	$ b	595d# #//// XX
*l3333002d::: q8(O4444--/4777 %%z:&>?#aVaV$4dC	)C./::::%%y)&<=$q!fq!f%5tD
*S/<8888r   c                 D   [         R                  " / SQ/ SQS./ SQS9nSUl        UR                  S:X  d   eUS/   R                  S:X  d   eUR                  SS/S S 24   R                  S:X  d   eUR                  S	S
/S S 24   R                  S:X  d   eUR                  S	S
2S S 24   R                  S:X  d   e[         R
                  " U5      n[         R                  " X5        UR                  UR                  :X  d   eUR                  UR                  :X  d   eg )Nr   r%   r(   r+   XXXr&   r   r)   r   r   )r-   r   testattrlocilocround_trip_pickleassert_frame_equal	_metadata)r   r0   	unpickleds      r   test_dataframe_metadata0TestDataFrameSubclassing.test_dataframe_metadata_   s   ##),O
 {{e###3%y!!U***vvsCj!m$--666ww1vqy!**e333 wwqsAv''5000 ((,	
b,||y22222{{i00000r   c                 J   [         R                  " / SQ/ SQ/ SQS./ SQS9nUR                  S S 2S4   n[         R                  " / SQ[	        S5      SS	9n[         R
                  " X#5        [        U[         R                  5      (       d   eUR                  S S 2S
4   n[         R                  " / SQ[	        S5      SS	9n[         R
                  " X#5        [        U[         R                  5      (       d   eUR                  S S 2S4   n[         R                  " / SQ[	        S5      SS	9n[         R
                  " X#5        [        U[         R                  5      (       d   eUR                  SS S 24   n[         R                  " / SQ[	        S5      SS	9n[         R
                  " X#5        [        U[         R                  5      (       d   eUR                  S
S S 24   n[         R                  " / SQ[	        S5      SS	9n[         R
                  " X#5        [        U[         R                  5      (       d   eUR                  SS S 24   n[         R                  " / SQ[	        S5      SS	9n[         R
                  " X#5        [        U[         R                  5      (       d   eg )Nr      rY            	   r&   r'   Zr(   r+   r&   abcr,   namer   r'   r   r   )r   rx   r{   XYZ)r   rY   r|   r)   r*   )r   ry   r}   )r-   r   rn   SubclassedSerieslistassert_series_equalr`   ro   r   r0   resexps       r   test_indexing_sliced-TestDataFrameSubclassing.test_indexing_sliceds   s    ##))<O
 ffQVn!!)4;SI
s(#r223333ggadm!!)4;SI
s(#r223333ffQVn!!)4;SI
s(#r223333ffS!Vn!!)4;SI
s(#r223333ggadm!!)4;SI
s(#r223333ffS!Vn!!)4;SI
s(#r223333r   c                      " S S[         5      n[        R                  " [        SS9   U" 5       R                    S S S 5        g ! , (       d  f       g = f)Nc                   $    \ rS rSr\S 5       rSrg)FTestDataFrameSubclassing.test_subclass_attr_err_propagation.<locals>.A   c                     U R                   $ r   )i_dont_existr=   s    r   nonexistenceSTestDataFrameSubclassing.test_subclass_attr_err_propagation.<locals>.A.nonexistence   s    (((r   r   N)r   r   r   r   r   r   r   r   r   r   rZ   r      s    ) )r   rZ   z.*i_dont_exist.*)match)r   pytestraisesAttributeErrorr   )r   rZ   s     r   "test_subclass_attr_err_propagation;TestDataFrameSubclassing.test_subclass_attr_err_propagation   s7    	)	 	)
 ]]>1CDC EDDs   A
Ac                 v   [         R                  " / SQ/ SQS.[        S5      S9n[         R                  " / SQ/ SQS.[        S5      S9nUR                  USS	9u  p4[         R                  " S
[        R
                  S[        R
                  S/S
[        R
                  S[        R
                  S/S.[        S5      S9n[         R                  " S
S[        R
                  S[        R
                  /S
S[        R
                  S[        R
                  /S.[        S5      S9n[        U[         R                  5      (       d   e[         R                  " X55        [        U[         R                  5      (       d   e[         R                  " XF5        UR                  R                  UR                  5      u  p4[        U[         R                  5      (       d   e[         R                  " X5R                  5        [        U[         R                  5      (       d   e[         R                  " XFR                  5        g )Nr   r   rY   r   r)   ACEr+   r   r   rx   )r*   dABDr   axisr   r   rY   ABCDEr   rx   )r-   r   r   alignnpnanr`   rq   r   r*   r   r   )r   df1df2res1res2exp1exp2s          r   test_subclass_align,TestDataFrameSubclassing.test_subclass_align   s   $$),DK
 $$),DK
 YYsY+
%%bffa+1bffa2KLw-
 %%aBFF+1aBFF2KLw-
 $ 6 67777
d)$ 6 67777
d)UU[['
$ 3 34444
tVV,$ 3 34444
tVV,r   c                    [         R                  " / SQ/ SQS.[        S5      S9n[         R                  " / SQ[        S5      SS9nUR	                  US	S
9u  p4[         R                  " S[
        R                  S[
        R                  S/S[
        R                  S[
        R                  S/S.[        S5      S9n[         R                  " SS[
        R                  S[
        R                  /[        S5      SS9n[        U[         R                  5      (       d   e[         R                  " X55        [        U[         R                  5      (       d   e[         R                  " XF5        UR	                  U5      u  p4[        U[         R                  5      (       d   e[         R                  " X65        [        U[         R                  5      (       d   e[         R                  " XE5        g )Nr   r   r   r+   r   r   xr   r   r   r   r   rY   r   r   rx   )
r-   r   r   r   r   r   r   r`   rq   r   )r   r0   sr   r   r   r   s          r    test_subclass_align_combinations9TestDataFrameSubclassing.test_subclass_align_combinations   sp   ##))$DDQVKX	e3G XXaaX(
%%bffa+1bffa2KLw-

 ""2661bff%T']
 $ 6 67777
d)$ 3 34444
t* WWR[
$ 3 34444
t*$ 6 67777
d)r   c                     [         R                  " SS/05      nUR                  5        HI  u  p#[        U[         R                  5      (       d   e[         R
                  " X1R                  U   5        MK     g )Nr   r   )r-   r   iterrowsr`   r   r   rn   )r   r0   irows       r   test_subclass_iterrows/TestDataFrameSubclassing.test_subclass_iterrows   sY    ##S1#J/kkmFAc2#6#67777""3q	2 $r   c                     [         R                  " / SQ/ SQ/ SQ// SQ/ SQS9nUR                  SS9n[         R                  " / S	Q[	        S
5      [	        S5      /S9n[         R
                  " X#5        g )Nr   rw   rz   r(   r~   r,   r]   Tfuture_stack)	r   r   r   rx   rY   ry   r{   r|   r}   	aaabbbccc	XYZXYZXYZr+   )r-   r   stackr   r   r   r   s       r   test_subclass_stack,TestDataFrameSubclassing.test_subclass_stack   sh    ##	9-!#
 hhDh)!!'[0A4CT/U
 	s(r   c                    [         R                  " / SQ/ SQ/ SQ/ SQ/[        R                  " [	        [        [	        S5      [	        S5      5      5      SS/S	9[        R                  " [	        [        [	        S
5      [	        S5      5      5      SS/S	9S9n[         R                  " SS/SS/SS/SS/SS/SS/SS/SS//[        R                  " [	        [        [	        S5      [	        S 5      [	        S!5      5      5      / S"QS	9[        S#S$/SS%9S9nUR                  S&S'9n[         R                  " X25        UR                  SS&S'9n[         R                  " X25        [         R                  " SS/SS/SS/SS/SS/SS/SS/SS//[        R                  " [	        [        [	        S5      [	        S 5      [	        S(5      5      5      / S)QS	9[        S*S+/SS%9S9nUR                  SS&S'9n[         R                  " X25        g ),NrV            r
                      !   (   )   *   +   AABBcdcdaaacccnamesWWXXyzyzwwwyyyr   rV   r   r   r   r
   r   r   r   r   r   r   r   r   r   r   r   AAAABBBBccddccddyzyzyzyzr   r   r   Wr&   r   Tr   WXWXWXWXr   r   r   yz	r-   r   r   ra   r   zipr   r   rq   r   r0   r   r   s       r   test_subclass_stack_multi2TestDataFrameSubclassing.test_subclass_stack_multi   s   ##/1ACST((SftF|45eU^ **SftF|45eU^
 $$RRRRRRRR	 ((Sj)4
+;T*=MNO+ 3*51
$ hhDh)
c'hhu4h0
c'$$RRRRRRRR	 ((Sj)4
+;T*=MNO+ 3*51
$ hhu4h0
c'r   c                    [         R                  " / SQ/ SQ/ SQ/ SQ/[        R                  " [	        [        [	        S5      [	        S5      5      5      SS/S	9[        R                  " [	        [        [	        S
5      [	        S5      5      5      SS/S	9S9n[         R                  " SS/SS/SS/SS/SS/SS/SS/SS//[        R                  " [	        [        [	        S5      [	        S 5      [	        S!5      5      5      / S"QS	9[        S#S$/SS%9S9nUR                  S&S'9n[         R                  " X25        UR                  SS&S'9n[         R                  " X25        [         R                  " S(S)/SS/S*S+/SS/S,S-/SS/S.S//SS//[        R                  " [	        [        [	        S5      [	        S 5      [	        S05      5      5      / S1QS	9[        S2S3/SS%9S9nUR                  SS&S'9n[         R                  " X25        g )4NrV   r         (@      *@r
   r         6@      7@r   r         @@     @@r   r         E@     E@r   r   r   r   r   r   r   r   r   r   rV   r   r   r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r&   r   Tr   g      $@g      &@g      4@      5@g      >@g      ?@g      D@g     D@r   r   r   r   r   r   s       r   test_subclass_stack_multi_mixed8TestDataFrameSubclassing.test_subclass_stack_multi_mixed(  s   ##$$$$	 ((SftF|45eU^ **SftF|45eU^
 $$T
T
T
T
T
T
T
T
	 ((Sj)4
+;T*=MNO+ 3*51
$ hhDh)
c'hhu4h0
c'$$tttttttt	 ((Sj)4
+;T*=MNO+ 3*51
$ hhu4h0
c'r   c                     [         R                  " / SQ/ SQ/ SQ// SQ/ SQS9nUR                  5       n[         R                  " / SQ[	        S5      [	        S	5      /S
9n[         R
                  " X#5        g )Nr   rw   rz   r(   r~   r   )	r   rx   r{   r   rY   r|   r   ry   r}   	XXXYYYZZZ	abcabcabcr+   )r-   r   unstackr   r   r   r   s       r   test_subclass_unstack.TestDataFrameSubclassing.test_subclass_unstackf  sc    ##	9-!#
 jjl!!'[0A4CT/U
 	s(r   c                    [         R                  " / SQ/ SQ/ SQ/ SQ/[        R                  " [	        [        [	        S5      [	        S5      5      5      SS/S	9[        R                  " [	        [        [	        S
5      [	        S5      5      5      SS/S	9S9n[         R                  " / SQ/ SQ/[        SS/SS9[        R                  " [	        [        [	        S5      [	        S5      [	        S5      5      5      / SQS	9S9nUR                  5       n[         R                  " X25        UR                  S5      n[         R                  " X25        [         R                  " / SQ/ SQ/[        SS/SS9[        R                  " [	        [        [	        S5      [	        S5      [	        S5      5      5      / SQS	9S9nUR                  S5      n[         R                  " X25        g )Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   )rV   r
   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   rZ   r[   r   WWWWXXXXyyzzyyzzcdcdcdcdr   r   r   )rV   r   r   r   r   r   r   r   )r
   r   r   r   r   r   r   r   r*   r   ABABABABr   r   r   	r-   r   r   ra   r   r   r   r  rq   r   s       r   test_subclass_unstack_multi4TestDataFrameSubclassing.test_subclass_unstack_multiu  s   ##/1ACST((SftF|45eU^ **SftF|45eU^
 $$-/OPc
/**Sj)4
+;T*=MNO+
 jjl
c'jj
c'$$-/OPc
/**Sj)4
+;T*=MNO+
 jj
c'r   c                    [         R                  " / SQ/ SQ/ SQ/ SQ/[        R                  " [	        [        [	        S5      [	        S5      5      5      SS/S	9[        R                  " [	        [        [	        S
5      [	        S5      5      5      SS/S	9S9n[         R                  " / SQ/ SQ/[        SS/SS9[        R                  " [	        [        [	        S5      [	        S5      [	        S5      5      5      / SQS	9S9nUR                  5       n[         R                  " X25        UR                  S5      n[         R                  " X25        [         R                  " / SQ/ SQ/[        SS/SS9[        R                  " [	        [        [	        S5      [	        S5      [	        S5      5      5      / SQS	9S9nUR                  S5      n[         R                  " X25        g )Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   )rV   r
   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   rZ   r[   r   r  r  r  r	  )rV   r   r   r   r   r   r   r   )r
   r   r   r   r   r   r   r   r*   r   r
  r  r  r   s       r   !test_subclass_unstack_multi_mixed:TestDataFrameSubclassing.test_subclass_unstack_multi_mixed  s   ##$$$$	 ((SftF|45eU^ **SftF|45eU^
 $$88 c
/**Sj)4
+;T*=MNO+

 jjl
c'jj
c'$$88 c
/**Sj)4
+;T*=MNO+

 jj
c'r   c                    [         R                  " / SQ/ SQ/ SQS.5      nUR                  SSSS9n[         R                  " SS	S
S.SS	S
S.S.5      nSu  UR                  l        UR
                  l        [         R                  " X#5        g )N)rZ   r[   Cr  r[   rZ   )Oner  r  Twor  r  )      ?       @      @r  r  r  )r,   r]   valuesr,   r]   r  r  r  r  rZ   r[   r  )r  r  r   )r-   r   pivotr,   r   r]   rq   )r   r0   pivotedexpecteds       r   test_subclass_pivot,TestDataFrameSubclassing.test_subclass_pivot  s    ##7E8
 (()H(M)) s5 s5
 6H2X--2
g0r   c                     [         R                  " SS/SS/SS/SS/S	.5      n[        R                  " US
S/S9n[         R                  " / SQ/ SQ/ SQ/ SQ// SQS9n[         R                  " X#5        g )NJohnMaryDoeBo      @      @      )firstlastheightweightr)  r*  )id_varsr!  r#  r+  r%  r"  r$  r+  r&  r!  r#  r,  r'  r"  r$  r,  r(  r)  r*  variablevaluer\   )r-   r   pdmeltrq   )r   cheesemeltedr  s       r   test_subclassed_melt-TestDataFrameSubclassing.test_subclassed_melt  s    '' &)**	
 '6):;)).-.-	 ;
 	f/r   c                 &   [         R                  R                  S5      R                  S5      n[        R
                  " SSSS.SSS	S.S
SSS.SSSS.[        [        [        S5      U5      5      S.5      nUR                  US'   UR                  5       UR                  5       -   / SQ/ SQ/ SQ/ SQS.n[        R
                  " U5      nUR                  SS/5      / SQ   n[        R                  " USS/SSS9n[        R                  " XT5        g )Nr   r   r   r)   r*   r   r   r   r   ef      @333333?ffffff?皙	@?皙?)A1970A1980B1970B1980r&   id)r   r)   r*   r   r=  r>  )r?  r@  rA  rB  rC  rD  )  rJ  rJ    rK  rK  )r   r   r   r   r   r   )r&   rZ   r[   yearrI  rL  )r&   rZ   r[   rZ   r[   )r   j)r   randomdefault_rngstandard_normalr-   r   dictr   r_   r,   tolist	set_indexr5  wide_to_longrq   )r   r   r0   exp_datar  
long_frames         r   test_subclassed_wide_to_long5TestDataFrameSubclassing.test_subclassed_wide_to_long  s     II!!!$44Q7## SS1 SS1 SS1 SS1#eAh*+
 884ahhj(//8$
 ))(3%%tVn5oF__R#stvF

j3r   c                   ^^ S mS m[         R                  " / SQ/ SQ/ SQ/ SQ// SQS9nUR                  U4S	 j5        UR                  U4S
 jSS9  [         R                  " / SQ/ SQ/ SQ/ SQ// SQS9nUR                  U4S jSS9n[        U[         R                  5      (       d   e[         R                  " X25        [         R                  " / SQ/ SQ/ SQ/ SQ/5      nUR                  S SS9n[        U[         R                  5      (       d   e[         R                  " X25        UR                  S SSS9n[        U[         R                  5      (       d   e[         R                  " X25        [         R
                  " / SQ/ SQ/ SQ/ SQ/5      nUR                  S SS9n[        U[         R                  5      (       a   e[         R                  " X25        g )Nc                 F    [        U [        R                  5      (       d   eg r   )r`   r-   r   r   s    r   check_row_subclassJTestDataFrameSubclassing.test_subclassed_apply.<locals>.check_row_subclass  s    c2#6#67777r   c                 2    U S   S:X  a  U S==   S-  ss'   U $ )Nr3  r+  r4  g      ?r   r[  s    r   stretch?TestDataFrameSubclassing.test_subclassed_apply.<locals>.stretch   s!    :(*G#Jr   r.  r/  r0  r1  r2  r\   c                    > T" U 5      $ r   r   r   r\  s    r   <lambda>@TestDataFrameSubclassing.test_subclassed_apply.<locals>.<lambda>/      -a0r   c                    > T" U 5      $ r   r   rb  s    r   rc  rd  0  re  r   r   r   )r!  r#  r+  r&  )r"  r$  r+  g      @c                    > T" U 5      $ r   r   )r   r_  s    r   rc  rd  <  s	    GAJr   r   c                 2    [         R                  " / SQ5      $ Nr   )r-   r   r   s    r   rc  rd  B  s    B$7$7	$Br   c                 
    / SQ$ ri  r   rj  s    r   rc  rd  F      Ir   expand)r   result_typec                 
    / SQ$ ri  r   rj  s    r   rc  rd  L  rl  r   )r-   r   applyr`   rq   r   r   )r   r0   r  resultr\  r_  s       @@r   test_subclassed_apply.TestDataFrameSubclassing.test_subclassed_apply  s   	8	
 ##.-.-	 ;
 	01
0q9)).-.-	 ;
 .Q7&""8"89999
f/))9iI*VWBK&""8"89999
f/-A8L&""8"89999
f/&&	9i'ST-A6fb&<&<====
v0r   c                     [         R                  " / SQ/ SQ/ SQS.5      n[        X!5      " 5       n[        U[         R                  5      (       d   eg Nr   rw   rz   r  r-   r   getattrr`   r   )r   all_reductionsr0   rq  s       r   test_subclassed_reductions3TestDataFrameSubclassing.test_subclassed_reductionsP  sA     ##)))$TU,.&""5"56666r   c                    [         R                  " / SQS[        R                  SSS// SQS.5      nUR	                  5       n[        U[         R                  5      (       d   e[         R                  " / SQ/ S	Q/ S
QS.5      nUR	                  5       n[        U[         R                  5      (       d   e[         R                  " / SQ/ SQ/ SQ/ SQ/[        R                  " [        [        [        S5      [        S5      5      5      SS/S9[        R                  " [        [        [        S5      [        S5      5      5      SS/S9S9nUR	                  5       n[        U[         R                  5      (       d   e[         R                  " 5       nUR	                  5       n[        U[         R                  5      (       d   eg )N)r!  MylaLewisr!  r|  g      8@r   r      )FTTTF)PersonAgeSingle)r   r   r   )r   rY   ry   )r{   r|   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r-   r   r   r   countr`   r   r   ra   r   r   r   r0   rq  s      r   test_subclassed_count.TestDataFrameSubclassing.test_subclassed_countW  s_   ##CbffdB3:
 &""5"56666##)))$TU&""5"56666##/1ACST((SftF|45eU^ **SftF|45eU^
 &""5"56666##%&""5"56666r   c                     [         R                  " SS/SS/S.SS/S9nUR                  SS/5      n[        U[         R                  5      (       d   eg )Nr   rx   r   )num_legs	num_wingsfalcondogr+   )r-   r   isinr`   r  s      r   	test_isin"TestDataFrameSubclassing.test_isinv  sU    ##Qq!f5h=N
 !Q&""8"89999r   c                 2   [         R                  " / SQ/ SQ/ SQS.5      nUR                  5       n[        U[         R                  5      (       d   e[         R                  " 5       nUR                  5       n[        U[         R                  5      (       d   eg ru  )r-   r   
duplicatedr`   r   r  s      r   test_duplicated(TestDataFrameSubclassing.test_duplicated}  so    ##)))$TU&""5"56666##%&""5"56666r   
idx_methodidxmaxidxminc                     [         R                  " / SQ/ SQ/ SQS.5      n[        X!5      " 5       n[        U[         R                  5      (       d   eg ru  rv  )r   r  r0   rq  s       r   test_idx!TestDataFrameSubclassing.test_idx  s?    ##)))$TU(*&""5"56666r   c                    [         R                  " / SQ/ SQ/5      n[         R                  " / SQ5      nUR                  U5      n[	        U[         R                  5      (       d   e[         R                  " / SQ/ SQ/5      n[         R                  " / SQ5      nUR                  U5      n[	        U[         R                  5      (       d   eg )N)r   r   )r   r   r   r   )r   r   r   r   )r-   r   r   dotr`   )r   r0   r   rq  s       r   test_dot!TestDataFrameSubclassing.test_dot  s    ##^\$BC-&""5"56666##^\$BC""<0&""8"89999r   c                    [         R                  " / SQ/ SQ/ SQS.5      nUR                  5       n[        U[         R                  5      (       d   eUR                  SS9n[        U[         R                  5      (       d   eg )Nr   rw   rz   r  Fr+   )r-   r   memory_usager`   r   r  s      r   test_memory_usage*TestDataFrameSubclassing.test_memory_usage  sg    ##)))$TU"&""5"56666u-&""5"56666r   c                    [         R                  " S5        / SQn/ SQn[        R                  " [        R
                  R                  S5      R                  S5      UUS9n[        R                  " [        R
                  R                  S5      R                  S5      US S US9nUR                  US	S
SS9n[        U[        R                  5      (       d   eg )Nscipy)r   r)   r*   r   r=  )onetwothreefourr   )rY   rx   r   )rx   rx   rx   r   Tkendall)r   dropmethod)r   importorskipr-   r   r   rN  rO  rP  corrwithr`   r   )r   r,   r]   r   r   correlss         r   test_corrwith&TestDataFrameSubclassing.test_corrwith  s    G$)1$$II!!!$44V<

 $$II!!!$44V<)

 ,,si,H'B$7$79999r   c                    Sn[         R                  " SUSS9n[        R                  " [        R
                  [        R
                  [        R
                  /[        R
                  [        R
                  [        R
                  /[        R
                  [        R
                  [        R
                  /S.US9nUR                  USS  5      n[        U[        R                  5      (       d   eUR                  US   5      n[        U[        R                  5      (       d   eUR                  S5      n[        U[        R                  5      (       d   eg )	Nr   z1/1/199053s)periodsfreqr  r+   r  z
1989-12-31)	r5  
date_ranger-   r   r   r   asofr`   r   )r   Nrngr0   rq  s        r   	test_asof"TestDataFrameSubclassing.test_asof  s    mmJ>##ffbffbff-ffbffbff-ffbffbff-
 
 RS"&""8"89999R!&""5"56666&&""5"56666r   c                     [         R                  " / SQ/ SQ/ SQS.5      nUR                  5       n[        U[         R                  5      (       d   eg ru  )r-   r   r  r`   r   r  s      r   test_idxmin_preserves_subclass7TestDataFrameSubclassing.test_idxmin_preserves_subclass  ?     ##)))$TU&""5"56666r   c                     [         R                  " / SQ/ SQ/ SQS.5      nUR                  5       n[        U[         R                  5      (       d   eg ru  )r-   r   r  r`   r   r  s      r   test_idxmax_preserves_subclass7TestDataFrameSubclassing.test_idxmax_preserves_subclass  r  r   c                     [         R                  " / SQ/ SQ/ SQS.5      nUR                  5       n[        U[         R                  5      (       d   eUR                  5       n[        U[	        U5      5      (       d   eg ru  )r-   r   convert_dtypesr`   type)r   r    r0   rq  s       r   &test_convert_dtypes_preserves_subclass?TestDataFrameSubclassing.test_convert_dtypes_preserves_subclass  sg    ##)))$TU""$&""8"89999&557&$'<"=>>>>r   c                    [         R                  " / SQ/ SQ/ SQS.5      nUR                  [        R                  [        R
                  [        R                  S.5      n[        U[         R                  5      (       d   eg ru  )r-   r   astyper   int64int32float64r`   r  s      r   test_astype_preserves_subclass7TestDataFrameSubclassing.test_astype_preserves_subclass  sS    ##)))$TUrzzJK&""8"89999r   c                     [        S/ SQ05      n[        R                  " S/ SQ05      nUR                  U5      (       d   eUR                  U5      (       d   eg Nr   r   )r   r-   r   equals)r   r   r   s      r   test_equals_subclass-TestDataFrameSubclassing.test_equals_subclass  sL     i()$$c9%56zz#zz#r   c                 j   [         R                  " S/ SQ05      nSn[         R                  " [        USS9   UR	                  SS/SS	9nS S S 5        [         R                  " S/ S
Q05      n[        W[         R                  5      (       d   e[         R                  " X45        g ! , (       d  f       N`= f)NrZ   r<  zAThe 'method' keyword in SubclassedDataFrame.replace is deprecatedF)r   raise_on_extra_warningsr   r   ffill)r  )r   r   r   )r-   r   r.   FutureWarningreplacer`   rq   )r   r0   msgrq  r  s        r   test_replace_list_method1TestDataFrameSubclassing.test_replace_list_method  s    ##S)$45Q''e
 ZZAwZ7F
 ))3	*:;&""8"89999
f/
 
s   B$$
B2r   N))r   r   r   r   r1   ri   rt   r   r   r   r   r   r   r   r   r  r  r  r  r9  rW  rr  ry  r  r  r  r   markparametrizer  r  r  r  r  r  r  r  r  r  r  r   r   r   r   r"   r"      s    	59n1(!4F-:*83)7(r<(|)%(N0(d1.024841l77>:7 [[\Hh+?@7 A7
	:7:$7*77?:
0r   r"   c                   B   ^  \ rS rSrS/rSU 4S jjr\S 5       rSrU =r	$ )MySubclassWithMetadatai  my_metadatac                    > [         TU ]  " U0 UD6  UR                  SS 5      nU(       a'  [        US   [        5      (       a  US   R
                  nX0l        g )Nr  r   )rE   rF   popr`   r  r  )r   rG   kwargsr  rI   s       r   rF   MySubclassWithMetadata.__init__  sN    $)&)jj5JtAw(>??q'--K&r   c                     [         $ r   )r  r=   s    r   r   #MySubclassWithMetadata._constructor  s    %%r   )r  rQ   )
r   r   r   r   rr   rF   r   r   r   rU   )rI   s   @r   r  r    s#    I' & &r   r  c                      [        [        R                  R                  S5      R                  S5      / SQS9n U SS/   n[	        U[         5      (       d   eg )Nr   )rY   r   r  r\   rZ   r[   )r  r   rN  rO  r`   )r0   subsets     r   test_constructor_with_metadatar  	  sP     
 
		a ''/
B c
^Ff45555r   c                       \ rS rSrSrSrg)SimpleDataFrameSubClassi  z;A subclass of DataFrame that does not define a constructor.r   Nr   r   r   r   rS   r   r   r   r   r  r    s    Er   r  c                       \ rS rSrSrSrg)SimpleSeriesSubClassi  z8A subclass of Series that does not define a constructor.r   Nr  r   r   r   r  r    s    Br   r  c                   ,    \ rS rSrS rS rS rS rSrg)TestSubclassWithoutConstructori  c                     [        S/ SQ05      n[        U5      R                  5       n[        U5      [         L d   e[        R
                  " X!5        g r  )r   r  copyr  r-   rq   r   r  rq  s      r   test_copy_df+TestSubclassWithoutConstructor.test_copy_df  sH    c9-.(2779 LI%	
%
f/r   c                 |    [        / SQ5      n[        U5      R                  5       n[        R                  " X!5        g ri  )r   r  r  r-   r   r  s      r   test_copy_series/TestSubclassWithoutConstructor.test_copy_series%  s-    )$%h/446
v0r   c                     [        / SQ5      nUR                  5       n[        U5      R                  5       n[        U5      [        L d   e[
        R                  " X25        g ri  )r   to_framer  r  r   r-   rq   )r   origr  rq  s       r   test_series_to_frame3TestSubclassWithoutConstructor.test_series_to_frame+  sN    i ==?%d+446 LI%	
%
f/r   c                     [        [        S/ SQ05      5      nUR                  S5       H  u  p#[        U5      [        L a  M   e   g r  )r  r   groupbyr  )r   r0   _vs       r   test_groupby+TestSubclassWithoutConstructor.test_groupby5  s<    $YY/?%@AJJsODA7i''' $r   r   N)	r   r   r   r   r  r  r  r   r   r   r   r   r  r    s    010(r   r  )numpyr   r   pandasr5  r   r   r   r   pandas._testing_testingr-   r  filterwarnings
pytestmarkfixturer    r"   r  r  r  r  r  r   r   r   <module>r	     s        [[''S

 1 1Z0 Z0z&Y & 6Fi FC6 C( (r   