a
    Pf                     @   s   d dl Zd dlZd dlmZmZmZmZ d dlm	Z	m
Z
 ejddgddd Zejddgdd	d
 Zejddgddd Zejddgddd Zejdd Zejdd Zejdd Zejdd Ze dd Ze dd Zejee	ddd Zejee
ddd Zejee	ee
 ddd  Zejddgdd!d" Zejdgdd#d$ Zejdgdd%d& Zejd'i fd(d)d*ifd(d)d ifd+d)d*ifd+d)d ifd,i fd-i fd.i fd,d/d0ifd-d/d0ifd.d/d0ifgg d1d2d3d4 ZdS )5    N)	DataFrameIndexSeries
date_range)reduction_kernelstransformation_kernelsTF)paramsc                 C   s   | j S Nparamrequest r   V/var/www/ai-form-bot/venv/lib/python3.9/site-packages/pandas/tests/groupby/conftest.pysort   s    r   c                 C   s   | j S r	   r
   r   r   r   r   as_index   s    r   c                 C   s   | j S r	   r
   r   r   r   r   dropna   s    r   c                 C   s   | j S r	   r
   r   r   r   r   observed   s    r   c                   C   s6   t g dg dtjddtjdddS )N)foobarr   r   r   r   r   r   )oner   twothreer   r   r   r         )ABCDr   nprandomdefault_rngstandard_normalr   r   r   r   df$   s    r$   c                   C   s$   t tjddtdddddS )Nr      
2000-01-01r   Zperiodsfreq)index)r   r    r!   r"   r#   r   r   r   r   r   ts0   s    r*   c                   C   s2   t tjddttdtdtddddd	S )
Nr   )r%      ZABCD)Zdtyper&   r%   r   r'   )columnsr)   )	r   r    r!   r"   r#   r   listobjectr   r   r   r   r   tsframe8   s
    r/   c                	   C   sL   t g dg dg dtjddtjddtjdddS )N)r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   )dullr0   shinyr0   r0   r1   r1   r0   r1   r1   r1   r      )r   r   r   r   EFr   r   r   r   r   three_groupA   s    r5   c               	   C   sN   g dg dg dg dg dg dg dg dg} t | g d	d
}|dS )N)r   aZa0_at_0)   bZb0_at_1)r   r6   Za1_at_2)   r8   Zb1_at_3)r+   cZc0_at_4)   r6   Za2_at_5)   r6   Za3_at_6)   r6   Za4_at_7)r   GroupValue)r,   r   )r   Z	set_index)datar$   r   r   r   slice_test_dfs   s    
rA   c                 C   s   | j dddS )Nr>   F)r   )groupby)rA   r   r   r   slice_test_grouped   s    rC   c                 C   s   | j S )zT
    yields the string names of all groupby reduction functions, one at a time.
    r
   r   r   r   r   reduction_func   s    rD   c                 C   s   | j S )z@yields the string names of all groupby transformation functions.r
   r   r   r   r   transformation_func   s    rE   c                 C   s   | j S )z5yields both aggregation and transformation functions.r
   r   r   r   r   groupby_func   s    rF   c                 C   s   | j S )z'parallel keyword argument for numba.jitr
   r   r   r   r   parallel   s    rG   c                 C   s   | j S )z$nogil keyword argument for numba.jitr
   r   r   r   r   nogil   s    rH   c                 C   s   | j S )z'nopython keyword argument for numba.jitr
   r   r   r   r   nopython   s    rI   meanvarZddofr7   ZstdsumminmaxZ	min_countr   )rJ   Zvar_1Zvar_0Zstd_1Zstd_0rL   rM   rN   zsum-min_countzmin-min_countzmax-min_count)r   Zidsc                 C   s   | j S )z(reductions supported with engine='numba'r
   r   r   r   r   numba_supported_reductions   s    rO   )numpyr    ZpytestZpandasr   r   r   r   Zpandas.core.groupby.baser   r   Zfixturer   r   r   r   r$   r*   r/   r5   rA   rC   sortedrD   rE   rF   rG   rH   rI   rO   r   r   r   r   <module>   sf   







1





	








