
    bMh#                     Z   d dl Z d dlmZmZmZ d dlmZ e j        	                    dddg          d             Z
d Zd Zd	 Zd
 Ze j        	                    dddg          d             Zd Zd Ze j        	                    dg dg dfg dg dfg          d             Zd Zd ZdS )    N)	DataFrameIndexSerieszn, frac)   N)Ng?c                    dgdz  dgdz  z   }t          ||d          }|                    d                              | |          }dgdz  dgdz  z   }t          ||d|j                  }t	          j        ||           |                    d          d                             | |          }t          |d|j        	          }t	          j        ||           d S 
N   
   r   abr   nfracindexr   namer   r   groupbysampler   tmassert_frame_equalr   assert_series_equal)r   r   valuesdfresultexpecteds         h/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/groupby/methods/test_sample.py)test_groupby_sample_balanced_groups_shaper       s    S2Xb F	f--	.	.BZZ__##ad#33FS1WsQwFvF336<HHHH&(+++ZZ__S!((14(88Ff3fl;;;H68,,,,,    c                     dgdz  dgdz  z   } t          | | d          }|                    d                              d          }dgdz  dgdz  z   } t          | | d|j        	          }t	          j        ||           |                    d          d
                             d          }t          | d
|j                  }t	          j        ||           d S )Nr	   r
   r      r   r      r   r   r   r   r   r   r   r   r   s       r   +test_groupby_sample_unbalanced_groups_shaper'      s    S2Xb F	f--	.	.BZZ__##a#((FS1WsQwFvF336<HHHH&(+++ZZ__S!((1(--Ff3fl;;;H68,,,,,r!   c                     dgdz  dgdz  z   } t          | | dg d          }|                    d                              d          }dgdz  dgdz  z   } t          | | d|j                  }t	          j        ||           |                    d          d	                             d          }t          | d	|j        
          }t	          j        ||           d S )Nr	      r   r   )r	   r   r   r   r   r   r   r   r%   r   r   r   r&   s       r   ,test_groupby_sample_index_value_spans_groupsr*   (   s    S1WsQwF	f--5G5G5G	H	H	HBZZ__##a#((FS1WsQwFvF336<HHHH&(+++ZZ__S!((1(--Ff3fl;;;H68,,,,,r!   c                     t          ddgddgd          } d}t          j        t          |          5  |                     d                              dd           d d d            n# 1 swxY w Y   t          j        t          |          5  |                     d          d	                             dd           d d d            d S # 1 swxY w Y   d S )
Nr	   r   r   z0Please enter a value for `frac` OR `n`, not bothmatchr   g      ?r   r   r   pytestraises
ValueErrorr   r   r   msgs     r   %test_groupby_sample_n_and_frac_raisesr4   6   sT   	!Qq!f--	.	.B
<C	z	-	-	- . .


3---. . . . . . . . . . . . . . . 
z	-	-	- 3 3


3##ac#2223 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3#   +A++A/2A/1CCCc                     t          ddgddgd          } d}t          j        t          |          5  |                     d                              dd	           d d d            n# 1 swxY w Y   t          j        t          |          5  |                     d          d
                             dd	           d d d            d S # 1 swxY w Y   d S )Nr	   r   r   zJReplace has to be set to `True` when upsampling the population `frac` > 1.r,   r         ?Fr   replacer   r.   r2   s     r   :test_groupby_sample_frac_gt_one_without_replacement_raisesr:   A   sT   	!Qq!f--	.	.B
VC	z	-	-	- 8 8


3C7778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 
z	-	-	- = =


3##e#<<<= = = = = = = = = = = = = = = = = =r5   r   r7   c                    t          ddgddgd          }| dk     rd}nd}t          j        t          |          5  |                    d                              | 	           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    d          d
                             | 	           d d d            d S # 1 swxY w Y   d S )Nr	   r   r   r   z=A negative number of rows requested. Please provide `n` >= 0.z$Only integers accepted as `n` valuesr,   r   r%   r   r.   )r   r   r3   s      r   $test_groupby_sample_invalid_n_raisesr=   L   s`   	!Qq!f--	.	.B1uuM4	z	-	-	- $ $


3###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 
z	-	-	- ) )


3##a#((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )s#   *A33A7:A70CCCc                     dgdz  dgdz  z   } t          | | d          }|                    d                              dd          }dgd	z  dgd	z  z   } t          | | d|j        
          }t	          j        ||           |                    d          d                             dd          }t          | d|j                  }t	          j        ||           d S )Nr	   r
   r   r   r   g       @Tr8   r#   r   r   r   r   r&   s       r   test_groupby_sample_oversampler?   \   s    S2Xb F	f--	.	.BZZ__##d#;;FS2Xb FvF336<HHHH&(+++ZZ__S!((c4(@@Ff3fl;;;H68,,,,,r!   c                     dgdz  dgdz  z   } t          | | d          }|                    d                              d d           }t          ddgddgd|j                  }t	          j        ||           |                    d          d                             d d           }t          ddgd|j        	          }t	          j        ||           d S r   r   r&   s       r   %test_groupby_sample_without_n_or_fracrA   j   s    S2Xb F	f--	.	.BZZ__##d#66F1vQF336<HHHH&(+++ZZ__S!((4d(;;Fq!f3fl;;;H68,,,,,r!   zindex, expected_index)wxyz)rB   rB   rD   rD   )r)      r$      )r)   r)   r$   r$   c                    dgdz  dgdz  z   }t          ||dt          |                     }|                    d                              ddg d          }t          ||dt          |                    }t	          j        ||           |                    d          d	                             ddg d          }t          |d	t          |          
          }t	          j        ||           d S )Nr	   r   r   r   r   T)r	   r   r	   r   )r   r9   weightsr   r   )r   r   r   r   r   r   r   r   )r   expected_indexr   r   r   r   s         r    test_groupby_sample_with_weightsrK   w   s     S1WsQwF	f--U5\\	B	B	BBZZ__##a|||#LLFvF335;P;PQQQH&(+++ZZ__S!((1dLLL(QQFf3eN.C.CDDDH68,,,,,r!   c                     dgdz  dgdz  z   } t          | | | d          }|                    d          ddg                             d d           }t          ddgddgd	|j        
          }t	          j        ||           d S )Nr	   r
   r   )r   r   cr   r   rM   r   )r   rM   r   )r   r   r   r   r   r   r&   s       r   #test_groupby_sample_with_selectionsrN      s    S2Xb F	f6::	;	;BZZ__c3Z(//$T/BBF1vQF336<HHHH&(+++++r!   c                      t          g g d          } |                     d          }|                                }| }t          j        ||           d S )Nr   r   )r   r   r   r   r   )r   
groupby_dfr   r   s       r   %test_groupby_sample_with_empty_inputsrQ      sU    	"%%	&	&BCJ  FH&(+++++r!   )r/   pandasr   r   r   pandas._testing_testingr   markparametrizer    r'   r*   r4   r:   r=   r?   rA   rK   rN   rQ    r!   r   <module>rX      s            
       Y$<==- - >=-- - -- - -3 3 3= = = r3i(() ) )()- - -
- 
- 
- 0001LLL,,,3OP - -	 -, , ,, , , , ,r!   