a
    Pf#+                     @   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,kwdsZno_args_or_kwds)id   Zaxis_from_argsaxisZaxis_from_kwdsZnumeric_onlyTZoptional_kwdsZ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Zraisesreason)	lenapplymarkerpytestmarkxfail	TypeErrorgetattrtmassert_series_equal)requestfloat_framer   argskwdsr   resultexpected r%   T/var/www/ai-form-bot/venv/lib/python3.9/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   )Zdatetime_seriesr(   r#   r$   r%   r%   r&   test_with_string_args.   s    
r)   op)r
   medianr   varc                 C   sl   t ddgddgd}t||| }| dv r4ddini }ttt| |fdd	i||jd
}t|| d S )Nr            )ab)r   r,   Zddofr   r   )index)r   r   r   npcolumnsr   r   )r*   r   r    r#   kwargsr$   r%   r%   r&   test_apply_np_reducer5   s    r6   )absceilcoscumsumexplogsqrtZsquare	transformc                 C   st   d| j d< d }|dv rt}tj|dd, t| ||}tt|| }W d    n1 sZ0    Y  t|| d S )Ng      )r   r   )r<   r=   F)Zcheck_stacklevel)ZilocRuntimeWarningr   assert_produces_warningr   r3   assert_frame_equal)r    r*   r   warnr#   r$   r%   r%   r&   test_apply_np_transformerC   s    	
,rC   zseries, func, expected)Zdtype)r	   r   r   r   allT)anyFr
   )prodr   r   r,   r+   r-   r.   )
)r	      )r   r.   )r   r   rD   rF   T)r
   r-   )rG   rH   )r   r   )r,   r   )r+   r-   za b c))r	   abc)r   c)r   r0   rD   rI   c                 C   sx   t |trd nt}tj|dd | |}W d    n1 s@0    Y  t|rhtj||ddstJ n||kstJ d S )Nis currently using Series.*matchT)Z	equal_nan)	
isinstancestrFutureWarningr   r@   r   r   r3   iscloseZseriesr   r$   rB   r#   r%   r%   r&   test_agg_cython_table_seriesY   s    1(rT   Zcumprodr:   rH   )r0   abrJ   c                 C   sZ   t |trd nt}tj|dd | |}W d    n1 s@0    Y  t|| d S )NrL   rM   rO   rP   rQ   r   r@   r   r   rS   r%   r%   r&   &test_agg_cython_table_transform_series   s    (rW   zdf, func, expectedr	   float64rE   rF   rG   g      ?g      ?g۞?g      ?c                 C   s^   t |trd nt}tj|dd | j||d}W d    n1 sD0    Y  t|| d S )Nis currently using DataFrame.*rM   r   rV   dfr   r$   r   rB   r#   r%   r%   r&   test_agg_cython_table_frame   s    ',r]   c                 C   sp   |dv r| d}t|tr d nt}tj|dd | j||d}W d    n1 sV0    Y  t|| d S )N)r4   r   rX   rY   rM   rZ   )ZastyperO   rP   rQ   r   r@   r   rA   r[   r%   r%   r&   %test_agg_cython_table_transform_frame   s    
,r^   c           	      C   s   |dkr|  tjjtdd |dkr,dgng }t|jd }|dkrLtnd }d}t	j
||d( ||j|g|R  }W d    n1 s0    Y  |j|dg|R  }t	|| d S )	Nngroupngroup not valid for NDFramer   fillna        r   z"SeriesGroupBy.fillna is deprecatedrM   )r   r   r   r   
ValueErrorr3   onesshaperQ   r   r@   groupbyr>   r   )	r   Zstring_seriesr*   r!   rd   rB   msgr$   r#   r%   r%   r&   $test_transform_groupby_kernel_series   s    6rh   c                 C   s.  |dkr|  tjjtdd |dkr,dgng }|dv rNt|jd }d}nt|jd	 }d
}tj	t
|d |j||d}W d    n1 s0    Y  |dkrt
nd }d}	tj	||	d" |j|g|R  }
W d    n1 s0    Y  |j||g|R  }t||
 d|jvs"J |d  |d< t|jjd	ksHJ |dv rdt|jd }nt|jd	 }tj	t
|d |j||d}W d    n1 s0    Y  |dkrt
nd }d}	tj	||	d" |j|g|R  }W d    n1 s 0    Y  |j||g|R  }t|| d S )Nr_   r`   r   ra   rb   )r   r2   r   z5The 'axis' keyword in DataFrame.groupby is deprecatedr   z+DataFrame.groupby with axis=1 is deprecatedrM   rZ   z%DataFrameGroupBy.fillna is deprecatedEA)r   r   r   r   rc   r3   rd   re   r   r@   rQ   rf   r>   rA   r4   copyr   Z_mgrZarrays)r   r   r    r*   r!   rd   rg   gbrB   Zop_msgr$   r#   Zgb2Z	expected2Zresult2r%   r%   r&   #test_transform_groupby_kernel_frame  s@    ,0
.2rm   method)r7   shiftZ
pct_changer:   Zrankc                 C   s8   t dddgi}|| }t| |}t|| d S )Nrj   r-   )r   r>   operatormethodcallerr   rA   )rn   r\   r#   r$   r%   r%   r&   test_transform_method_name@  s    
rs   )$	itertoolsr   rq   numpyr3   r   Zpandas.core.dtypes.commonr   Zpandasr   r   Zpandas._testingZ_testingr   Zpandas.tests.apply.commonr   r   r   Zparametrizeparamr'   r)   r6   rC   Zget_cython_table_paramsrX   nansplitrT   rW   boolr]   r^   rh   rm   rs   r%   r%   r%   r&   <module>   s
  



-



#



.