a
    d\*                     @   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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notnaresult_typefoo   c                 C   sN   |}d}t jt|d$ |jdd d| d W d    n1 s@0    Y  d S )NzUinvalid value for result_type, must be one of {None, 'reduce', 'broadcast', 'expand'}matchc                 S   s   g dS )Nr
          xr   r   l/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/pandas/tests/apply/test_invalid_arg.py<lambda>$       z(test_result_type_error.<locals>.<lambda>r
   axisr   pytestraises
ValueErrorapply)r   int_frame_const_col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   )         )      	   )ar'   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    "r-   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   ABzMust provider   )r   r   r   	TypeErroraggr,   r   r   r   test_agg_raises.   s    r3   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 r*   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_raises7   s    r9   input_na_actionr4   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   r5   r6   )r:   r8   r   r   r   r   2test_map_arg_is_dict_with_invalid_na_action_raises?   s    r;   method)r   r2   	transformfuncr/   r0   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_seriesr<   r>   objr   r   r   r   test_nested_renamerH   s    rD   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#   int64series)Zdtypenamer@   r   )r   ranger   r   r   r2   )rE   r8   r   r   r   r   test_series_nested_renamerR   s    rN   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/   r0   Cz1/1/2000rO   )Zperiods)columnsr)   r@   r   r	   r?   rH   )r   nprandomdefault_rngstandard_normalr   r   r   r   r/   r2   )Ztsdfr   r   r   r   test_apply_dict_depr]   s    
rV   r2   r=   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"   r.   r@   r   r	   rF   rI   rG   )r   rM   r   r   r   rA   )r<   r   r   r   r   r   test_dict_nested_renaming_deprh   s    rW   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   KeyErrorrA   )r<   r>   rC   r   r   r   r   test_missing_columnr   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 )Nr'   1z#Column\(s\) \[1, 'b'\] do not existr   )r'   r
   b)r   r   r   rZ   r=   intstrr,   r   r   r   'test_transform_mixed_column_name_dtypes|   s    r`   z	how, args)Z
pct_changer   	nsmallestr'   r]   )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!   )r'   r]   z
Operation z does not support axis=1r   )r   argsr+   )howrc   r   r   r   r   r   test_apply_str_axis_1_raises   s    re   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
   r?   r   )r   r   r   r   r=   )r   r   r   r   test_transform_axis_1_raises   s    rg   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
d }d}tjt	|d | j
|dd W d    n1 s0    Y  d S )N)r	   r	   r	   r	   rI   rI   rI   rI   r	   r	   r	   )onerh   rh   tworh   rh   rh   ri   ri   ri   rh   )dullrj   shinyrj   rj   rk   rk   rj   rk   rk   rk   r      )r/   r0   rP   DEF)r!   rP   c                 S   s&   | d  dr"| d dkr"d| d< | S NrP   Zshinr/   r	   r$   rm   )
startswithrowr   r   r   r=      s    z.test_apply_modify_traceback.<locals>.transformc                 S   s2   t | d r.| d dr.| d dkr.d| d< | S rp   )r   rq   rr   r   r   r   
transform2   s    &z/test_apply_modify_traceback.<locals>.transform2z,'float' object has no attribute 'startswith'r   r
   rf   )r   rR   rS   rT   rU   nanlocr   r   AttributeErrorr   )datar=   rt   r   r   r   r   test_apply_modify_traceback   s    /ry   zdf, func, expectedZcumprodc              	   C   s   d}t |trd nt}tj||dL tj|dd | j||d W d    n1 sX0    Y  W d    n1 sv0    Y  d S )Nz0can't multiply sequence by non-int of type 'str'r   zusing DataFrame.cumprodrf   )
isinstancer_   FutureWarningr   r   tmassert_produces_warningr2   )r   r>   expectedr   r   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}t|tr2d nt}tj||dH tj	|dd | 
| W d    n1 st0    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is currently using Series.*)rR   Z	nanmedianr   rz   r_   r{   r   r   r|   r}   r2   )rK   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 )Nr'   zint() argument must be a stringr   c                 S   s   t | jd S Nr   r^   Zilocr   r   r   r   r     r   z'test_agg_none_to_type.<locals>.<lambda>)r   rX   rY   r   r   r1   r2   r,   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 )Nr'   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   r1   r=   r,   r   r   r   test_transform_none_to_type  s    r   c                 C   s   t ddgddS )Nr
   r   )rR   arrayZreshaper   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   sJ   | }d}t jt|d  |j|ddd W d    n1 s<0    Y  d S )Nz2too many dims to broadcast|cannot broadcast resultr   r
   	broadcastr   r   )r   r>   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allrG   sqrtrf   r   r   r   rR   Zerrstater2   )r   float_framer   r   r   r   test_transform_and_agg_err_agg$  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   )string_seriesr>   r   r   r   r   !test_transform_and_agg_err_series,  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   rf   )r   r   r   r=   )r   r   r>   r   r   r   r   test_transform_wont_agg_frame>  s    r   c              	   C   s   d}|d dkrt nd }d}tjt|dJ tj||dd | | W d    n1 s\0    Y  W d    n1 sz0    Y  d S )Nr   r   r   z!invalid value encountered in sqrtr   F)r   Zcheck_stacklevel)RuntimeWarningr   r   r   r|   r}   r=   )r   r>   r   r   Zwarn_msgr   r   r   test_transform_wont_agg_seriesG  s    r   
op_wrapperc                 C   s   | S r*   r   r   r   r   r   r   U  r   c                 C   s   | gS r*   r   r   r   r   r   r   U  r   c                 C   s   d| iS Nr/   r   r   r   r   r   r   U  r   c                 C   s
   d| giS r   r   r   r   r   r   r   U  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   r=   )Zall_reductionsrB   r   oprC   r   r   r   r   test_transform_reducer_raisesT  s    r   )/	itertoolsr   rX   numpyrR   r   Zpandas.errorsr   Zpandasr   r   r   r   Zpandas._testingZ_testingr|   markZparametrizer    r-   r3   r9   r;   rD   rN   rV   rW   r[   r`   re   rg   ry   Zget_cython_table_paramsr1   r   splitr   r   r   r   r   filterwarningsr   r   r   r   r   r   r   r   r   <module>	   s   
	
"

	
A
	


	





