a
    j=ic'                     @   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
mZ d dl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d0d1gg d2eed3 g d4d5d6 Zejd$eeeejd%d7eg e
g ejd%fd8eg e
g ejd%fgeeejdd0d1gd7eejdd0d9gfd8eejdd1d9gfgeed3 d8eg d: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dAee!d%fd+ed?d%fdBe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d0ggd>edCd1gfd'edCd0gfd(edCdgfd@eddgfdAeddgfd+eddDgfdBedCd0gfd-eejdEgfd.eejdFgfd/eddDgfg
dGdH Z"ejd=eee	 d7e	 fd8e	 fgee	ejdgdd0ggd7e	ejdgdd0ggfd8e	ejdgdd1ggfgdIdJ Z#ejdedKdL Z$ejdedMdN Z%ejdOg dPdQdR Z&dS )S    )chainN)	is_number)	DataFrameIndexSeries)"maybe_normalize_deprecated_kernels)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(   l/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/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_args0   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   r0   Zddofr   r   )index)r   r   r   npcolumnsr    r!   )r.   r   r#   r&   kwargsr'   r(   r(   r)   test_apply_np_reducer7   s    r:   )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@   rA   F)Zcheck_stacklevel)ZilocRuntimeWarningr    Zassert_produces_warningr   r7   assert_frame_equal)r#   r.   r   warnr&   r'   r(   r(   r)   test_apply_np_transformerE   s    	
,rF   zseries, func, expected)Zdtype)r   r   r   r   allT)anyFr   )prodr   r   r0   r/   r1   r2   )
)r      )r   r2   )r   r   rG   rI   T)r   r1   )rJ   rK   )r   r   )r0   r   )r/   r1   za b c))r   abc)r   c)r   r4   rG   rL   c                 C   s8   |  |}t|r(tj||dds4J n||ks4J d S )NT)Z	equal_nan)r   r   r7   iscloseZseriesr
   r'   r&   r(   r(   r)   test_agg_cython_table_series[   s    1
rQ   Zcumprodr>   rK   )r4   abrM   c                 C   s   |  |}t|| d S r,   r   r    r!   rP   r(   r(   r)   &test_agg_cython_table_transform_series   s    
rT   zdf, func, expectedr   float64rH   rI   rJ   g      ?g      ?g۞?g      ?c                 C   s   | j ||d}t|| d S )Nr   rS   dfr
   r'   r   r&   r(   r(   r)   test_agg_cython_table_frame   s    'rY   c                 C   s8   |dks|dkr| d}| j||d}t|| d S )Nr8   r   rU   rV   )Zastyper   r    rD   rW   r(   r(   r)   %test_agg_cython_table_transform_frame   s    
rZ   c                 C   s   |dkr | j tjjtdd t|}|dkr6d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   
ValueErrorr   r7   onesshapegroupbyrB   r    r!   )r"   Zstring_seriesr.   r$   r`   r'   r&   r(   r(   r)   $test_transform_groupby_kernel_series   s    rc   c           
      C   sL  t |}|dkr(| jtjjtdd |dkr6dgng }|dksJ|dkr\t|j	d }nt|j	d }|j
||d	j|g|R  }|j||g|R  }t|| d
|jvsJ |d  |d
< t|jjdksJ |dks|dkrt|j	d }nt|j	d }|j
||d	j|g|R  }|j||g|R  }	t|	| d S )Nr[   r\   r   r]   r^   r   r6   r   rV   EA)r   r   r   r   r   r   r_   r7   r`   ra   rb   rB   r    rD   r8   copyr   Z_mgrZarrays)
r"   r   r#   r.   r$   r`   r'   r&   Z	expected2Zresult2r(   r(   r)   #test_transform_groupby_kernel_frame  s*    rg   method)r;   shiftZ
pct_changer>   Zrankc                 C   s8   t dddgi}|| }t| |}t|| d S )Nre   r1   )r   rB   operatormethodcallerr    rD   )rh   rX   r&   r'   r(   r(   r)   test_transform_method_name*  s    
rm   )'	itertoolsr   rk   numpyr7   r   Zpandas.core.dtypes.commonr   Zpandasr   r   r   Zpandas._testingZ_testingr    Zpandas.core.groupby.baser   Zpandas.tests.apply.commonr   r	   r   Zparametrizeparamr*   r-   r:   rF   Zget_cython_table_paramsrU   nansplitrQ   rT   boolrY   rZ   rc   rg   rm   r(   r(   r(   r)   <module>   s  



-


#



"