o
    _~#g#                     @   s   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d Z
dd	 Zd
d Zdd Zdd Ze j	dddgdd Zdd Zdd Ze j	dg dg dfg dg dfgdd Zd d! Zd"d# ZdS )$    N)	DataFrameIndexSerieszn, frac)   N)Ng?c                 C   s   dgd dgd  }t ||d}|dj| |d}dgd dgd  }t ||d|jd}t|| |dd j| |d}t|d|jd	}t|| 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expected r   /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/pandas/tests/groupby/methods/test_sample.py)test_groupby_sample_balanced_groups_shape   s   r   c                  C   s   dgd dgd  } t | | d}|djdd}dgd dgd  } t | | d|jd	}t|| |dd
 jdd}t| d
|jd}t|| d S )Nr   r   r      r	   r
      r   r   r   r   r   r   r   r   r   r   r   r   +test_groupby_sample_unbalanced_groups_shape   s   r$   c                  C   s   dgd dgd  } t | | dg dd}|djdd}dgd dgd  } t | | d|jd}t|| |dd	 jdd}t| d	|jd
}t|| d S )Nr      r   r	   )r   r   r   r   r   r   r   r
   r"   r   r   r   r#   r   r   r   ,test_groupby_sample_index_value_spans_groups(   s   r&   c                  C   s   t ddgddgd} d}tjt|d | djddd W d    n1 s)w   Y  tjt|d | dd	 jddd W d    d S 1 sMw   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   msgr   r   r   %test_groupby_sample_n_and_frac_raises6      "r/   c                  C   s   t ddgddgd} d}tjt|d | djddd	 W d    n1 s)w   Y  tjt|d | dd
 jddd	 W d    d S 1 sMw   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)   r-   r   r   r   :test_groupby_sample_frac_gt_one_without_replacement_raisesA   r0   r4   r   r1   c                 C   s   t ddgddgd}| dk rd}nd}tjt|d |dj| d	 W d    n1 s/w   Y  tjt|d |dd
 j| d	 W d    d S 1 sRw   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   r.   r   r   r   $test_groupby_sample_invalid_n_raisesL   s   "r6   c                  C   s   dgd dgd  } t | | d}|djddd}dgd	 dgd	  } t | | d|jd
}t|| |dd jddd}t| d|jd}t|| d S )Nr   r   r   r	   r
   g       @Tr2   r    r   r   r   r   r#   r   r   r   test_groupby_sample_oversample\   s   r7   c                  C   s   dgd dgd  } t | | d}|djd d d}t ddgddgd|jd}t|| |dd jd d d}tddgd|jd	}t|| d S r   r   r#   r   r   r   %test_groupby_sample_without_n_or_fracj   s   r8   zindex, expected_index)wxyz)r9   r9   r;   r;   )r%      r!      )r%   r%   r!   r!   c                 C   s   dgd dgd  }t ||dt| d}|djddg dd}t ||dt|d}t|| |dd	 jddg dd}t|d	t|d
}t|| d S )Nr   r   r	   r   r
   T)r   r   r   r   )r   r3   weightsr   r   )r   r   r   r   r   r   r   r   )r   expected_indexr   r   r   r   r   r   r    test_groupby_sample_with_weightsw   s   rA   c                  C   sl   dgd dgd  } t | | | d}|dddg jd d d}t ddgddgd	|jd
}t|| d S )Nr   r   r   )r
   r   cr
   r   rB   r   )r   rB   r   )r   r   r   r   r   r   r#   r   r   r   #test_groupby_sample_with_selections   s
   rC   c                  C   s4   t g g d} | d}| }| }t|| d S )Nr	   r
   )r   r   r   r   r   )r   
groupby_dfr   r   r   r   r   %test_groupby_sample_with_empty_inputs   s
   
rE   )r*   pandasr   r   r   pandas._testing_testingr   markparametrizer   r$   r&   r/   r4   r6   r7   r8   rA   rC   rE   r   r   r   r   <module>   s(    



