o
    Eh                     @   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      | j S NZparamZrequest r   =lib/python3.10/site-packages/pandas/tests/groupby/conftest.pysort      r   c                 C   r	   r
   r   r   r   r   r   as_index   r   r   c                 C   r	   r
   r   r   r   r   r   dropna   r   r   c                 C   r	   r
   r   r   r   r   r   observed   r   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periodsZ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   )dullr/   shinyr/   r/   r0   r0   r/   r0   r0   r0   r      )r   r   r   r   EFr   r   r   r   r   three_groupA   s   r4   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   r5   Za1_at_2)   r7   Zb1_at_3)r*   cZc0_at_4)   r5   Za2_at_5)   r5   Za3_at_6)   r5   Za4_at_7)r   GroupZValue)r+   r   )r   Z	set_index)datar$   r   r   r   slice_test_dfs   s   

r?   c                 C   s   | j dddS )Nr=   F)r   )groupby)r?   r   r   r   slice_test_grouped   s   rA   c                 C   r	   )zT
    yields the string names of all groupby reduction functions, one at a time.
    r   r   r   r   r   reduction_func   s   rB   c                 C   r	   )z@yields the string names of all groupby transformation functions.r   r   r   r   r   transformation_func      rC   c                 C   r	   )z5yields both aggregation and transformation functions.r   r   r   r   r   groupby_func   rD   rE   c                 C   r	   )z'parallel keyword argument for numba.jitr   r   r   r   r   parallel   rD   rF   c                 C   r	   )z$nogil keyword argument for numba.jitr   r   r   r   r   nogil   rD   rG   c                 C   r	   )z'nopython keyword argument for numba.jitr   r   r   r   r   nopython   rD   rH   meanvarZddofr6   ZstdsumminmaxZ	min_countr   )rI   Zvar_1Zvar_0Zstd_1Zstd_0rK   rL   rM   zsum-min_countzmin-min_countzmax-min_count)r   Zidsc                 C   r	   )z(reductions supported with engine='numba'r   r   r   r   r   numba_supported_reductions   s   rN   )Znumpyr    ZpytestZpandasr   r   r   r   Zpandas.core.groupby.baser   r   Zfixturer   r   r   r   r$   r)   r.   r4   r?   rA   sortedrB   rC   rE   rF   rG   rH   rN   r   r   r   r   <module>   sh    







1





	








