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
mZ d dlmZ ejdddgdd	 Zd
d Zdd Zdd Zejdddgdd Zejdg dejddddiidddgiigdd Zejddddgiddgdd gd!gd"d# Zd$d% Zejdd&d'gd(d) Zejdg dejdddiddgigd*d+ Zd,d- Zejd.d/d0dd1d2gffd3gd4d5 Zd6d7 Zd8d9 Zejd:ee	d1d2gd2d1ggd;e ggd<d= Z!ejd>eee
d?" d e fd@e fdAe fdBe fdCe fd;e fgdDdE Z#dFdG Z$dHdI Z%ejddJdK dLdK dMdK gdNdO Z&dPdQ Z'ej(dRejdSdTdgdUfej)dd!dVfgdWdX Z*ejdddgddTggdYdZ Z+ejdddgdTdggd[d\ Z,ejd]d^dK d_dK d`dK dadK gdbdc Z-dS )d    )chainN)SpecificationError)	DataFrameSeries
date_rangeresult_typefoo   c                 C   sx   t ttjddddddd g dd}d	}tjt|d
$ |jdd d| d W d    n1 sj0    Y  d S )N   int64dtype   r	   ABCcolumnszUinvalid value for result_type, must be one of {None, 'reduce', 'broadcast', 'expand'}matchc                 S   s   g dS )Nr	      r
    xr   r   \/var/www/ai-form-bot/venv/lib/python3.9/site-packages/pandas/tests/apply/test_invalid_arg.py<lambda>&       z(test_result_type_error.<locals>.<lambda>axisr   	r   npZtileZarangereshapepytestraises
ValueErrorapply)r   dfmsgr   r   r   test_result_type_error   s     r+   c                  C   sh   t g dg dg dgg dd} d}tjt|d  | dd	 d
 W d    n1 sZ0    Y  d S )Nr   )      r   )      	   )ar1   c)indexz)No axis named 2 for object type DataFramer   c                 S   s   | S Nr   r   r   r   r   r   -   r   z/test_apply_invalid_axis_value.<locals>.<lambda>r   r   r%   r&   r'   r(   r)   r*   r   r   r   test_apply_invalid_axis_value)   s    "r7   c                  C   sT   t ddgddgd} d}tjt|d |   W d    n1 sF0    Y  d S )Nr   r	   r   r   r   zMust provider   )r   r%   r&   	TypeErroraggr6   r   r   r   test_agg_raises0   s    r;   c                  C   sT   t g d} d}tjt|d" | jdd dd W d    n1 sF0    Y  d S )Nr   z)na_action must either be 'ignore' or Noner   c                 S   s   | S r4   r   r   r   r   r   r   >   r   z8test_map_with_invalid_na_action_raises.<locals>.<lambda>____Z	na_actionr   r%   r&   r'   map)sr*   r   r   r   &test_map_with_invalid_na_action_raises9   s    rA   input_na_actionr<   Tc                 C   s\   t g d}d|  d}tjt|d" |jddi| d W d    n1 sN0    Y  d S )Nr   z+na_action must either be 'ignore' or None, z was passedr   r	   r   r=   r>   )rB   r@   r*   r   r   r   2test_map_arg_is_dict_with_invalid_na_action_raisesA   s    rC   method)r(   r:   	transformfuncr   r   sumc                 C   sR   | ddgi}d}t jt|d t||| W d    n1 sD0    Y  d S )Nr   r	   nested renamer is not supportedr   )r%   r&   r   getattr)frame_or_seriesrD   rF   objr   r   r   r   test_nested_renamerJ   s    rL   renamerminmaxmean)r   barc                 C   sR   t tdddd}d}tjt|d ||  W d    n1 sD0    Y  d S )Nr   r   series)r   namerH   r   )r   ranger%   r&   r   r:   )rM   r@   r*   r   r   r   test_series_nested_renamerT   s    rU   c                  C   sr   t tjddg dtdddd} d}tjt|d	$ | j	
d
ddgi W d    n1 sd0    Y  d S )Nr   )
   r
   r   z1/1/2000rV   )Zperiods)r   r3   rH   r   r   rG   rP   )r   r#   randomdefault_rngstandard_normalr   r%   r&   r   r   r:   )Ztsdfr*   r   r   r   test_apply_dict_depr_   s    
rZ   r:   rE   c                 C   sd   t tddd}d}tjt|d, t|| ddiddid W d    n1 sV0    Y  d S )	Nr-   r8   rH   r   r   rN   rQ   rO   )r   rT   r%   r&   r   rI   )rD   r)   r*   r   r   r   test_dict_nested_renaming_deprj   s    r[   c                 C   sX   t ddgi}td}tjt|d t|| | W d    n1 sJ0    Y  d S )Nr   r	   zColumn(s) ['B'] do not existr   )r   reescaper%   r&   KeyErrorrI   )rD   rF   rK   r   r   r   r   test_missing_columnt   s    
r_   c                  C   sV   t ddgi} d}tjt|d" | tttd W d    n1 sH0    Y  d S )Nr1   1z#Column\(s\) \[1, 'b'\] do not existr   )r1   r	   b)r   r%   r&   r^   rE   intstrr6   r   r   r   'test_transform_mixed_column_name_dtypes~   s    rd   z	how, args)Z
pct_changer   	nsmallestr1   ra   )tailr	   c                 C   sd   t ddgddgd}d|  d}tjt|d  |j| d|d	 W d    n1 sV0    Y  d S )
Nr	   r   r
   r,   )r1   ra   z
Operation z does not support axis=1r   )r!   argsr5   )howrg   r)   r*   r   r   r   test_apply_str_axis_1_raises   s    ri   c                  C   sJ   d} t jt| d$ tdgjddd W d    n1 s<0    Y  d S )Nz&No axis named 1 for object type Seriesr   r	   rG   r!   )r%   r&   r'   r   rE   )r*   r   r   r   test_transform_axis_1_raises   s    rk   c               	   C   s   t g dg dg dtjddtjddtjddd} tj| jd< dd	 }d
}tjt	|d | j
|dd W d    n1 s0    Y  d S )N)r   r   r   r   rQ   rQ   rQ   rQ   r   r   r   )onerl   rl   tworl   rl   rl   rm   rm   rm   rl   )dullrn   shinyrn   rn   ro   ro   rn   ro   ro   ro   r      )r   r   r   DEF)r,   r   c                 S   s&   | d  dr"| d dkr"d| d< | S )Nr   Zshinr   r   r.   rq   )
startswith)rowr   r   r   rE      s    z.test_apply_modify_traceback.<locals>.transformz,'float' object has no attribute 'startswith'r   r	   rj   )r   r#   rW   rX   rY   nanlocr%   r&   AttributeErrorr(   )datarE   r*   r   r   r   test_apply_modify_traceback   s    /rz   zdf, func, expectedZcumprodc              	   C   s   |rdd l }||jjf}d}t|tr*d nt}tj||dL tj	|dd | j
||d W d    n1 sp0    Y  W d    n1 s0    Y  d S )Nr   z>can't multiply sequence by non-int of type 'str'|has no kernelr   zusing DataFrame.cumprodrj   )pyarrowlibArrowNotImplementedError
isinstancerc   FutureWarningr%   r&   tmassert_produces_warningr:   )r)   rF   expectedr!   using_infer_stringpar*   warnr   r   r   "test_agg_cython_table_raises_frame   s    r   zseries, func, expectedza b cprodZstdvarmedianc              	   C   s   d}|dks |t ju s |t ju r$d}|r<dd l}||jjf}|d }t|trRd nt}t	j
||dH tj|dd | | W d    n1 s0    Y  W d    n1 s0    Y  d S )Nz?[Cc]ould not convert|can't multiply sequence by non-int of typer   z)Cannot convert \['a' 'b' 'c'\] to numericr   z|does not support|has no kernelr   zis currently using Series.*)r#   Z	nanmedianr   r{   r|   r}   r~   rc   r   r%   r&   r   r   r:   )rR   rF   r   r   r*   r   r   r   r   r   #test_agg_cython_table_raises_series   s    r   c                  C   s\   t dd gi} td}tjt|d" | ddd i W d    n1 sN0    Y  d S )Nr1   zint() argument must be a stringr   c                 S   s   t | jd S Nr   rb   Zilocr   r   r   r   r     r   z'test_agg_none_to_type.<locals>.<lambda>)r   r\   r]   r%   r&   r9   r:   r6   r   r   r   test_agg_none_to_type  s    
r   c                  C   sV   t dd gi} d}tjt|d" | ddd i W d    n1 sH0    Y  d S )Nr1   zargument must be ar   c                 S   s   t | jd S r   r   r   r   r   r   r     r   z-test_transform_none_to_type.<locals>.<lambda>)r   r%   r&   r9   rE   r6   r   r   r   test_transform_none_to_type  s    r   c                 C   s   t ddgddS )Nr	   r   r   )r#   arrayr$   r   r   r   r   r     r   r   c                 C   s   ddgS Nr	   r   r   r   r   r   r   r      r   c                 C   s   t ddgS r   )r   r   r   r   r   r   !  r   c                 C   st   t ttjddddddd g dd}d	}tjt|d
  |j| ddd W d    n1 sf0    Y  d S )Nr
   r   r   r   r   r	   r   r   z2too many dims to broadcast|cannot broadcast resultr   	broadcastr    r"   )rF   r)   r*   r   r   r   test_apply_broadcast_error  s    	 r   c              	   C   st   d}t jt|dN tjdd" |jddg| d W d    n1 sH0    Y  W d    n1 sf0    Y  d S )Nz3cannot combine transform and aggregation operationsr   ignoreallrO   sqrtrj   r%   r&   r'   r#   Zerrstater:   )r!   float_framer*   r   r   r   test_transform_and_agg_err_agg0  s    r   zignore::FutureWarningz	func, msgr   z(cannot combine transform and aggregationz2cannot perform both aggregation and transformationc              	   C   sh   t jt|dF tjdd | | W d    n1 s<0    Y  W d    n1 sZ0    Y  d S )Nr   r   r   r   Zstring_seriesrF   r*   r   r   r   !test_transform_and_agg_err_series8  s    r   c                 C   sD   d}t jt|d |j|| d W d    n1 s60    Y  d S )NFunction did not transformr   rj   r%   r&   r'   rE   )r!   r   rF   r*   r   r   r   test_transform_wont_agg_frameJ  s    r   c                 C   s@   d}t jt|d | | W d    n1 s20    Y  d S )Nr   r   r   r   r   r   r   test_transform_wont_agg_seriesS  s    r   
op_wrapperc                 C   s   | S r4   r   r   r   r   r   r   ^  r   c                 C   s   | gS r4   r   r   r   r   r   r   ^  r   c                 C   s   d| iS Nr   r   r   r   r   r   r   ^  r   c                 C   s
   d| giS r   r   r   r   r   r   r   ^  r   c                 C   sd   || }t dg di}t||}d}tjt|d || W d    n1 sV0    Y  d S )Nr   r   r   r   )r   r   get_objr%   r&   r'   rE   )Zall_reductionsrJ   r   oprK   r*   r   r   r   test_transform_reducer_raises]  s    r   ).	itertoolsr   r\   numpyr#   r%   Zpandas.errorsr   Zpandasr   r   r   Zpandas._testingZ_testingr   markZparametrizer+   r7   r;   rA   rC   rL   rU   rZ   r[   r_   rd   ri   rk   rz   Zget_cython_table_paramsr9   r   splitr   r   r   r   r   filterwarningsr   r   r   r   r   r   r   r   r   <module>	   s   
	
"

	
<









	