o
    Û­jä  ã                
   @   sº   d dl m Z  d dlZd dlZd dlmZmZmZ d dlm	Z
 d dlmZ ej d¡Zej de
 de d d¡i¡e
je d d¡dd	�g¡d
d„ ƒZdd„ Zej dee
jg¡dd„ ƒZdS )é    )ÚdatetimeN)Ú	DataFrameÚIndexÚSeries)Úget_groupby_method_argszMignore:Passing a BlockManager|Passing a SingleBlockManager:DeprecationWarningÚobjÚAé
   ©Únamec           	      C   s^  t | tƒr|dv rt d|› �¡ |  t dd¡¡}t | d¡t| ƒƒs&J ‚t	|| ƒ}|dkr1t
nd }t|ƒj› d�}tj||dd�� t||ƒ|Ž }W d   ƒ n1 sUw   Y  tj||dd�� |j|g|¢R Ž }W d   ƒ n1 svw   Y  h d	£}t | tƒr‘||v r‘t |tjƒs�J ‚n	t |t| ƒƒsšJ ‚t |tƒr§t ||¡ d S t ||¡ d S )
N>   ÚcorrwithzNot applicable for Series and r   r	   Úfillnaz.fillna is deprecatedF)ÚmatchÚraise_on_extra_warnings>   ÚsizeÚngroupÚcumcount)Ú
isinstancer   ÚpytestÚskipÚgroupbyÚnpÚarangeÚ	get_groupÚtyper   ÚFutureWarningÚ__name__ÚtmÚassert_produces_warningÚgetattrÚaggr   ÚSubclassedSeriesÚassert_frame_equalÚassert_series_equal)	r   Úgroupby_funcÚgroupedÚargsÚwarnÚmsgÚresult1Úresult2Úslices© r,   úg/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pandas/tests/groupby/test_groupby_subclass.pyÚtest_groupby_preserves_subclass   s(   

ÿÿ
r.   c            	      C   sr  t  g d¢g d¢g d¢dœ¡} d| jv sJ ‚d| _|  d¡D ]\}}|jdks)J ‚qdd	„ }d
}t jt|ddd�� |  d¡ |¡}W d   ƒ n1 sLw   Y  t jdgd t	g d¢dd�d�}t  
||¡ |  d¡j|dd�}t  
||¡ |  d¡ddg  |¡}t  
||¡ dd„ }t  g d¢¡}d|_| | d ¡ |¡}t  
||¡ | | d ¡ |¡}t  
||¡ d S )N)é   é   é   )r/   r/   r0   )é   é   é	   )ÚaÚbÚcÚtestattrÚhellor7   c                 S   s2   t | tjƒsJ ‚t| dƒsJ ‚| jdksJ ‚| jS )Nr8   r9   )r   r   ÚSubclassedDataFrameÚhasattrr8   ©Úgroupr,   r,   r-   ÚfuncE   s   z-test_groupby_preserves_metadata.<locals>.funcz7DataFrameGroupBy.apply operated on the grouping columnsF©r   r   Úcheck_stacklevelr1   r
   )Úindex)Úinclude_groupsr5   r6   c                 S   s$   t | tjƒsJ ‚t| dƒsJ ‚| jS )Nr8   )r   r   r!   r;   r8   r<   r,   r,   r-   Úfunc2]   s   z.test_groupby_preserves_metadata.<locals>.func2)r   r:   Ú	_metadatar8   r   r   r   Úapplyr!   r   r#   r    )	Ú	custom_dfÚ_Úgroup_dfr>   r(   ÚresultÚexpectedrC   Úcustom_seriesr,   r,   r-   Útest_groupby_preserves_metadata<   s8   üú rL   c                 C   sÚ   | t d ¡ td�g d¢tdddddƒtddddd	ƒtdd
dddƒtdd
dd
dƒtdddddƒtdddddƒgdœƒ}| d¡}d}tjt|ddd�� | d¡ 	d¡ 
¡ }W d   ƒ n1 s_w   Y  t|| ƒskJ ‚d S )NzCarl Carl Carl Carl Joe Carl)Údtype)é   r1   é   r/   r4   r1   iÝ  r4   r/   é   r   rO   r	   é   r1   é   r0   é   )ÚBuyerÚQuantityÚDaterV   z:DataFrameGroupBy.resample operated on the grouping columnsFr?   rT   Ú5D)r   ÚsplitÚobjectr   Ú	set_indexr   r   r   r   ÚresampleÚsumr   )r   Údfr(   rI   r,   r,   r-   Ú(test_groupby_resample_preserves_subclassj   s.   úýÿ
üúr^   )r   Únumpyr   r   Úpandasr   r   r   Úpandas._testingÚ_testingr   Úpandas.tests.groupbyr   ÚmarkÚfilterwarningsÚ
pytestmarkÚparametrizer:   r   r!   r.   rL   r^   r,   r,   r,   r-   Ú<module>   s&    ÿþþ
".