o
    Û­j#+  ã                   @   s°  d dl mZ d dlZd dlZd dlZd dlmZ d dlm	Z	m
Z
 d dlmZ d dlmZmZ ej dg d¢¡ej dejg i d	d
�ejdgi dd
�ejg ddidd
�ejg ddidd
�ejddgddidd
�g¡ej dddg¡dd„ ƒƒƒZej dg d¢¡dd„ ƒZej dg d¢¡ej dddg¡dd„ ƒƒZej dg d¢¡ej dd dg¡d!d"„ ƒƒZej d#ee e
ejd$�d%d&ejfd'ejfd(d)d*ejfd+d,ejfd-ejfd.ejfg
¡e e
ejdd/d0gƒg d1¢¡e e
d2 ¡ ƒg d3¢¡ƒ¡d4d5„ ƒZej d#ee e
ejd$�d6e
g ejd$�fd7e
g ejd$�fg¡e e
ejdd/d0gƒd6e
ejdd/d8gƒfd7e
ejdd0d8gƒfg¡e e
d2 ¡ ƒd7e
g d9¢ƒfg¡ƒ¡d:d;„ ƒZej d<ee e	ƒ d=e
d>d$�fd&e
d>d$�fd'e
d>d$�fd?e
ed$�fd@e
ed$�fd*e
d>d$�fdAe
d>d$�fd,e
d>d$�fd-e
d>d$�fd.e
d>d$�fg
¡e e	ejdgdd/ggƒd=e
dBd0gƒfd&e
dBd/gƒfd'e
dBdgƒfd?e
ddgƒfd@e
ddgƒfd*e
ddCgƒfdAe
dBd/gƒfd,e
ejdDgƒfd-e
ejdEgƒfd.e
ddCgƒfg
¡ƒ¡dFdG„ ƒZej d<ee e	ƒ d6e	ƒ fd7e	ƒ fg¡e e	ejdgdd/ggƒd6e	ejdgdd/ggƒfd7e	ejdgdd0ggƒfg¡ƒ¡dHdI„ ƒZ ej de¡dJdK„ ƒZ!ej de¡dLdM„ ƒZ"ej dNg dO¢¡dPdQ„ ƒZ#dS )Ré    )ÚchainN)Ú	is_number)Ú	DataFrameÚSeries)Úframe_transform_kernelsÚseries_transform_kernelsÚfunc)ÚsumÚmeanÚminÚmaxÚstdz	args,kwdsÚno_args_or_kwds)Úidé   Úaxis_from_argsÚaxisÚaxis_from_kwdsÚnumeric_onlyTÚoptional_kwdsÚargs_and_kwdsÚhowÚaggÚapplyc                 C   sj   t |ƒdkr|dkr|  tjjtdd�¡ t||ƒ|g|¢R i |¤Ž}t||ƒ|i |¤Ž}t ||¡ d S )Nr   r   z>agg/apply signature mismatch - agg passes 2nd argument to func©ÚraisesÚreason)	ÚlenÚapplymarkerÚpytestÚmarkÚxfailÚ	TypeErrorÚgetattrÚtmÚassert_series_equal)ÚrequestÚfloat_framer   ÚargsÚkwdsr   ÚresultÚexpected© r,   úX/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pandas/tests/apply/test_str.pyÚtest_apply_with_string_funcs   s   þÿr.   Úargc                 C   s&   |   |¡}t| |ƒƒ }||ksJ ‚d S )N)r   r#   )Údatetime_seriesr/   r*   r+   r,   r,   r-   Útest_with_string_args.   s   
r1   Úop)r
   Úmedianr   Úvarc                 C   sl   t ddgddgdœƒ}t||ƒ| ƒ}| dv rddini }ttt| ƒ|fdd	i|¤Ž|jd
�}t ||¡ d S )Nr   é   é   é   )ÚaÚb)r   r4   Úddofr   r   )Úindex)r   r#   r   ÚnpÚcolumnsr$   r%   )r2   r   r'   r*   Úkwargsr+   r,   r,   r-   Útest_apply_np_reducer5   s   ÿr?   )ÚabsÚceilÚcosÚcumsumÚexpÚlogÚsqrtÚsquareÚ	transformc                 C   st   d| j d< d }|dv rt}tj|dd�� t| |ƒ|ƒ}tt|ƒ| ƒ}W d   ƒ n1 s-w   Y  t ||¡ d S )Ng      ð¿)r   r   )rE   rF   F)Úcheck_stacklevel)ÚilocÚRuntimeWarningr$   Úassert_produces_warningr#   r<   Úassert_frame_equal)r'   r2   r   Úwarnr*   r+   r,   r,   r-   Útest_apply_np_transformerC   s   
	ürO   zseries, func, expected)Údtype)r	   r   r   r   ©ÚallT)ÚanyFr
   )Úprodr   r   r4   r3   r5   r6   )
)r	   é   )r   r6   )r   r   rQ   ©rS   T)r
   r5   )rT   rU   )r   r   )r4   r   )r3   r5   za b c))r	   Úabc)r   Úc)r   r8   rQ   rV   c                 C   sz   t |tƒrd nt}tj|dd�� |  |¡}W d   ƒ n1 s w   Y  t|ƒr5tj||dd�s3J ‚d S ||ks;J ‚d S )Núis currently using Series.*©ÚmatchT)Ú	equal_nan)	Ú
isinstanceÚstrÚFutureWarningr$   rL   r   r   r<   Úisclose©Úseriesr   r+   rN   r*   r,   r,   r-   Útest_agg_cython_table_seriesY   s   1ÿrc   ÚcumprodrC   rU   )r8   ÚabrW   c                 C   sZ   t |tƒrd nt}tj|dd�� |  |¡}W d   ƒ n1 s w   Y  t ||¡ d S )NrY   rZ   ©r]   r^   r_   r$   rL   r   r%   ra   r,   r,   r-   Ú&test_agg_cython_table_transform_series“   s
   ÿrg   zdf, func, expectedr	   Úfloat64rR   rS   rT   g      ð?g      ø?g»¹øÛž æ?g      à?c                 C   s^   t |tƒrd nt}tj|dd�� | j||d�}W d   ƒ n1 s"w   Y  t ||¡ d S )Núis currently using DataFrame.*rZ   ©r   rf   ©Údfr   r+   r   rN   r*   r,   r,   r-   Útest_agg_cython_table_frame³   s
   'þrm   c                 C   sp   |dv r	|  d¡}t|tƒrd nt}tj|dd�� | j||d�}W d   ƒ n1 s+w   Y  t ||¡ d S )N)r=   r   rh   ri   rZ   rj   )Úastyper]   r^   r_   r$   rL   r   rM   rk   r,   r,   r-   Ú%test_agg_cython_table_transform_frameá   s   
þro   c           	      C   s¾   |dkr|   tjjtdd�¡ |dkrdgng }t |jd ¡}|dkr&tnd }d}t	j
||d�� | |¡j|g|¢R Ž }W d   ƒ n1 sHw   Y  |j|dg|¢R Ž }t	 ||¡ d S )	NÚngroupúngroup not valid for NDFramer   Úfillnaç        r   z"SeriesGroupBy.fillna is deprecatedrZ   )r   r   r    r!   Ú
ValueErrorr<   ÚonesÚshaper_   r$   rL   ÚgroupbyrH   r%   )	r&   Ústring_seriesr2   r(   ru   rN   Úmsgr+   r*   r,   r,   r-   Ú$test_transform_groupby_kernel_seriesÿ   s   ÿÿrz   c                 C   s"  |dkr|   tjjtdd�¡ |dkrdgng }|dv r't |jd ¡}d}n
t |jd	 ¡}d
}tj	t
|d�� |j||d�}W d   ƒ n1 sJw   Y  |dkrUt
nd }d}	tj	||	d�� |j|g|¢R Ž }
W d   ƒ n1 stw   Y  |j||g|¢R Ž }t ||
¡ d|jvs�J ‚|d  ¡ |d< t|jjƒd	ks¢J ‚|dv r¯t |jd ¡}nt |jd	 ¡}tj	t
|d�� |j||d�}W d   ƒ n1 sÐw   Y  |dkrÛt
nd }d}	tj	||	d�� |j|g|¢R Ž }W d   ƒ n1 súw   Y  |j||g|¢R Ž }t ||¡ d S )Nrp   rq   r   rr   rs   )r   r;   r   z5The 'axis' keyword in DataFrame.groupby is deprecatedr   z+DataFrame.groupby with axis=1 is deprecatedrZ   rj   z%DataFrameGroupBy.fillna is deprecatedÚEÚA)r   r   r    r!   rt   r<   ru   rv   r$   rL   r_   rw   rH   rM   r=   Úcopyr   Ú_mgrÚarrays)r&   r   r'   r2   r(   ru   ry   ÚgbrN   Úop_msgr+   r*   Úgb2Ú	expected2Úresult2r,   r,   r-   Ú#test_transform_groupby_kernel_frame  sH   ÿÿÿÿÿr…   Úmethod)r@   ÚshiftÚ
pct_changerC   Úrankc                 C   s8   t dddgiƒ}| | ¡}t | ¡|ƒ}t ||¡ d S )Nr|   éÿÿÿÿr5   )r   rH   ÚoperatorÚmethodcallerr$   rM   )r†   rl   r*   r+   r,   r,   r-   Útest_transform_method_name@  s   
r�   )$Ú	itertoolsr   r‹   Únumpyr<   r   Úpandas.core.dtypes.commonr   Úpandasr   r   Úpandas._testingÚ_testingr$   Úpandas.tests.apply.commonr   r   r    ÚparametrizeÚparamr.   r1   r?   rO   Úget_cython_table_paramsrh   ÚnanÚsplitrc   rg   Úboolrm   ro   rz   r…   r�   r,   r,   r,   r-   Ú<module>   s   ûþ

ÿ
öþþ
þáþ
-
þþþþÿñþ

öþöþðþ
#ÿþþüþ


.