o
    d                  
   @   s  d dl Zd dlZd dlmZ d dl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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/d0ifd.d/d ifd1d/d0ifd1d/d ifd2i fd3i fd4i fgg d5d6d7d8 Z dS )9    N	DataFrame)reduction_kernelstransformation_kernelsTF)paramsc                 C      | j S Nparamrequest r   Q/app/.heroku/python/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   s   | S r   r   )Z multiindex_dataframe_random_datar   r   r   mframe    s   r   c                   C   s*   t g dg dtjdtjddS )Nfoobarr   r   r   r   r   r   oner   twothreer   r   r   r      ABCDr   nprandomrandnr   r   r   r   df%   s   

r&   c                   C      t  S r   )tmZmakeTimeSeriesr   r   r   r   ts1      r)   c                   C   r'   r   )r(   ZgetTimeSeriesDatar   r   r   r   tsd6   r*   r+   c                 C   s   t | S r   r   )r+   r   r   r   tsframe;   r*   r,   c                   C   s4   t g dg dtjdtjtjddddS )Nr   r   r   Zfloat32)Zdtyper   )r   r#   r$   r%   arrayr   r   r   r   df_mixed_floats@   s   
r.   c                	   C   s:   t g dg dg dtjdtjdtj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!   EFr"   r   r   r   r   three_groupL   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)   r5   Za1_at_2)   r7   Zb1_at_3)   cZc0_at_4)   r5   Za2_at_5)   r5   Za3_at_6)   r5   Za4_at_7)IndexGroupValue)columnsr?   )r   Z	set_index)datar&   r   r   r   slice_test_df~   s   

rD   c                 C   s   | j dddS )Nr@   F)r   )groupby)rD   r   r   r   slice_test_grouped   s   rF   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   rG   c                 C   r   )z@yields the string names of all groupby transformation functions.r	   r   r   r   r   transformation_func      rH   c                 C   r   )z5yields both aggregation and transformation functions.r	   r   r   r   r   groupby_func   rI   rJ   c                 C   r   )z'parallel keyword argument for numba.jitr	   r   r   r   r   parallel   rI   rK   c                 C   r   )z$nogil keyword argument for numba.jitr	   r   r   r   r   nogil   rI   rL   c                 C   r   )z'nopython keyword argument for numba.jitr	   r   r   r   r   nopython   rI   rM   meanvarZddofr6   Zstdsumminmax)rN   Zvar_1Zvar_0Zstd_1Zstd_0rP   rQ   rR   )r   Zidsc                 C   r   )z(reductions supported with engine='numba'r	   r   r   r   r   numba_supported_reductions   s   rS   )!numpyr#   ZpytestZpandasr   Zpandas._testingZ_testingr(   Zpandas.core.groupby.baser   r   Zfixturer   r   r   r   r   r&   r)   r+   r,   r.   r4   rD   rF   sortedrG   rH   rJ   rK   rL   rM   rS   r   r   r   r   <module>   sp    










1





	






