
    h*                     x   d dl Zd dlZd dlmZ d dlmZmZmZm	Z	 d dl
mZ ej                  j                  dddddgg      d        Zej                  j                  dg dg d	g d
g d ej                   g dej                  j"                        g      d        Zej                  j                  dddddgg      ej                  j                  dddg      d               Zd Zd Zd Zej                  j                  dddg      d        Zej                  j                  dg d      d        Zd Zy)    N)is_integer_dtype)	DataFrameIndexPeriodIndexSeriesbyABc                     | j                  |      }|j                         }|D ]  \  }}||   t        |      k(  rJ  y )N)r   )groupbysizelen)dfr   groupedresultkeygroups         KD:\jyotish\venv\Lib\site-packages\pandas/tests/groupby/methods/test_size.py	test_sizer      sA    jjBjG\\^F
Uc{c%j(((     )r   r   r   r   )r      r   r   )r   r   r   r   )r   NNN)NNNN)marksc                    t         j                  |      D ci c]  t        fd|D               }}|r&|j                         D ci c]  \  }}|	|| }}}t	        |d      }|r|j                         }t        |j                  j                        r6t        d |D              s$|j                  j                  t              |_        d}	t        j                  t        |	      5  | j                  ||||      }
d d d        
j!                         }t        j"                  ||       y c c}w c c}}w # 1 sw Y   ;xY w)Nc              3   (   K   | ]	  }|k(    y wN ).0valuer   s     r   	<genexpr>z#test_size_axis_1.<locals>.<genexpr>#   s     4u|s   int64dtypec              3   $   K   | ]  }|d u  
 y wr   r   )r   xs     r   r   z#test_size_axis_1.<locals>.<genexpr>)   s     9PR!t)Rs   z+DataFrame.groupby with axis=1 is deprecated)match)r   axissortdropna)dictfromkeyssumitemsr   
sort_indexr   indexr"   anyastypeinttmassert_produces_warningFutureWarningr   r   assert_series_equal)r   axis_1r   r'   r(   r   countsr   expectedmsgr   r   s        `      r   test_size_axis_1r:      s    AEb@QR@Qc34444@QFR/5||~Q~e#u*~QfG,H&&(,,-c9PR9P6P!..s3
7C		#	#M	=**d6*J 
>\\^F68, SQ 
>	=s   D6
D;D;1EE
r'   TFc                 H   t        t        j                  j                  d      j	                  dd      t        d            }|j                  ||       j                         }|j                  ||       d   j                  d       }t        j                  ||d	
       y )N      )i     ABCcolumns)r   r'   Cc                      | j                   d   S )Nr   )shape)as    r   <lambda>z test_size_sort.<locals>.<lambda>8   s    aggajr   F)check_names)r   nprandomdefault_rngchoicelistr   r   applyr2   r5   )r'   r   r   leftrights        r   test_size_sortrP   3   s     
299((+222yA4PU;	WB::$:',,.DJJ"4J(-334HIE4E:r   c                      t        ddg      } t        dt        g d            }t        j                  | j                  d      j                         |       y )Nr	   r
   r@   r    namer"   r.   )r   r   r   r2   r5   r   r   )r   outs     r   test_size_series_dataframerV   <   sD    	C:	&B
weBS&9
:C2::c?//137r   c                      t        dd d gi      } | j                  d      j                         }t        dt	        g d            }t        j                  ||       y )Nr	   r    rR   rT   r   r   r   r   r   r2   r5   )r   r   r8   s      r   test_size_groupby_all_nullrY   C   sP     
C$&	'BZZ_!!#FG5#+>?H68,r   c                      t        dgt        dgdd            } | j                  d      }|j                         }t	        j
                  ||        y )Nr   2000r	   D)rS   freq)r.   level)r   r   r   r   r2   r5   )sergrpr   s      r   test_size_period_indexrb   L   sF    
!KsE
FC
++C+
 CXXZF63'r   as_indexc                    t        ddgddggddg      }|d   j                  d      |d<   |j                  ddg| d      j                         }t        g d	g d
g dg dgg d      }|d   j                  d      |d<   | r%|j	                  ddg      d   j                  d       }t        j                  ||       y )Nr   r<   r	   r
   r@   categoryF)rc   observedr   r   r   )r   r<   r   )r<   r   r   )r<   r<   r   )r	   r
   r   r   )r   r0   r   r   	set_indexrenamer2   assert_equal)rc   r   r   r8   s       r   test_size_on_categoricalrk   T   s    	QFQF#c3Z	8BgnnZ(BsGZZc
XZFKKMF	Iy)4>PH SM((4HSM%%sCj1&9@@FOOFH%r   r"   )Int64Float64booleanc                     t        g dg d|       }|j                  d      j                         }t        ddgdd	d
g      }t        j                  ||       y )Nrg   rE   rE   b)r.   r"   r   r^   r<   r   rl   rE   rq   rT   )r   r   r   r2   r5   )r"   r`   r   r8   s       r   *test_size_series_masked_type_returns_Int64rr   d   sQ     /
?C[[q[!&&(Fq!fGC:>H68,r   c                    | }t        g ddd|      }|j                  d      d   j                         }|dk(  rdnd}|r|d	k(  rd
n|}t        ddgt	        ddgd|      d|      }t        j                  ||       y )Nrp   rE   )rE   rq   r!   rq   zstring[pyarrow]rl   r    objectstrr<   r   )rS   r"   )r.   rS   r"   rX   )any_string_dtypeusing_infer_stringr"   r   r   	exp_dtypeexp_index_dtyper8   s           r   test_size_stringsrz   m   s    E	s35	ABZZ_S!&&(F $557I1ex6GeUO	
AS#JS@	H 68,r   )numpyrH   pytestpandas.core.dtypes.commonr   pandasr   r   r   r   pandas._testing_testingr2   markparametrizer   paramxfailr:   rP   rV   rY   rb   rk   rr   rz   r   r   r   <module>r      sP     6   S3*56) 7) -V[[5F5FG	-	-$ S3*56$/; 0 7;8-( dE]3& 4& "AB- C--r   