o
    7?e@)                     @   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   sl   t |dkr|dkr| j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node
add_markerpytestmarkxfail	TypeErrorgetattrtmassert_series_equal)requestfloat_framer   argskwdsr   resultexpected r&   \/home/www/facesmatcher.com/pyenv/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   )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 rd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   r7   )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 s-w   Y  t|| d S )Ng      )r   r   )r=   r>   F)Zcheck_stacklevel)ZilocRuntimeWarningr   assert_produces_warningr   r4   assert_frame_equal)r!   r+   r   warnr$   r%   r&   r&   r'   test_apply_np_transformerC   s   
	rD   zseries, func, expected)Zdtype)r	   r   r   r   allT)anyFr
   )prodr   r   r-   r,   r.   r/   )
)r	      )r   r/   )r   r   rE   rG   T)r
   r.   )rH   rI   )r   r   )r-   r   )r,   r.   za b c))r	   abc)r   c)r   r1   rE   rJ   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)Z	equal_nan)	
isinstancestrFutureWarningr   rA   r   r   r4   iscloseZseriesr   r%   rC   r$   r&   r&   r'   test_agg_cython_table_seriesY   s   1rU   Zcumprodr;   rI   )r1   abrK   c                 C   sZ   t |trd nt}tj|dd | |}W d    n1 s w   Y  t|| d S )NrM   rN   rP   rQ   rR   r   rA   r   r   rT   r&   r&   r'   &test_agg_cython_table_transform_series   s
   rX   zdf, func, expectedr	   float64rF   rG   rH   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.*rN   r   rW   dfr   r%   r   rC   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 s+w   Y  t|| d S )N)r5   r   rY   rZ   rN   r[   )ZastyperP   rQ   rR   r   rA   r   rB   r\   r&   r&   r'   %test_agg_cython_table_transform_frame   s   
r_   c                 C   s~   |dkr| j tjjtdd |dkrdgng }t|jd }|	|j
|g|R  }|j
|dg|R  }t|| d S )Nngroupngroup not valid for NDFramer   fillna        r   )r   r   r   r   r   
ValueErrorr4   onesshapegroupbyr?   r   r   )r    Zstring_seriesr+   r"   re   r%   r$   r&   r&   r'   $test_transform_groupby_kernel_series   s   rh   c                 C   s  |dkr| j 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 sKw   Y  |j|g|R  }|j||g|R  }	t	|	| d|jvspJ |d  |d< t|jjd	ksJ |dv rt|jd }nt|jd	 }t	j
t|d |j||d}
W d    n1 sw   Y  |
j|g|R  }|j||g|R  }t	|| d S )Nr`   ra   r   rb   rc   )r   r3   r   z5The 'axis' keyword in DataFrame.groupby is deprecatedr   z+DataFrame.groupby with axis=1 is deprecatedrN   r[   EA)r   r   r   r   r   rd   r4   re   rf   r   rA   rR   rg   r?   rB   r5   copyr   Z_mgrZarrays)r    r   r!   r+   r"   re   msggbr%   r$   Zgb2Z	expected2Zresult2r&   r&   r'   #test_transform_groupby_kernel_frame  s8   rn   method)r8   shiftZ
pct_changer;   Zrankc                 C   s8   t dddgi}|| }t| |}t|| d S )Nrj   r.   )r   r?   operatormethodcallerr   rB   )ro   r]   r$   r%   r&   r&   r'   test_transform_method_name4  s   
rt   )$	itertoolsr   rr   numpyr4   r   Zpandas.core.dtypes.commonr   Zpandasr   r   Zpandas._testingZ_testingr   Zpandas.tests.apply.commonr   r   r   Zparametrizeparamr(   r*   r7   rD   Zget_cython_table_paramsrY   nansplitrU   rX   boolr^   r_   rh   rn   rt   r&   r&   r&   r'   <module>   s   




-



#


&