o
    Ti\*                     @   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   sP   |}d}t jt|d |jdd d| d W d    d S 1 s!w   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   c/var/www/html/evchargy.com/venv/lib/python3.10/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   sj   t g dg dg dgg dd} d}tjt|d | dd	 d
 W d    d S 1 s.w   Y  d S )Nr   )         )      	   )ar'   c)indexz)No axis named 2 for object type DataFramer   c                 S      | S Nr   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   sV   t ddgddgd} d}tjt|d |   W d    d S 1 s$w   Y  d S )Nr   r
   r   ABzMust provider   )r   r   r   	TypeErroraggr.   r   r   r   test_agg_raises.   s
   
"r5   c                  C   sV   t g d} d}tjt|d | jdd dd W d    d S 1 s$w   Y  d S )Nr   z)na_action must either be 'ignore' or Noner   c                 S   r*   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
   "r;   input_na_actionr6   Tc                 C   s^   t g d}d|  d}tjt|d |jddi| d W d    d S 1 s(w   Y  d S )Nr   z+na_action must either be 'ignore' or None, z was passedr   r
   r   r7   r8   )r<   r:   r   r   r   r   2test_map_arg_is_dict_with_invalid_na_action_raises?   s
   "r=   method)r   r4   	transformfuncr1   r2   sumc                 C   sT   | ddgi}d}t jt|d t||| W d    d S 1 s#w   Y  d S )Nr1   r
   nested renamer is not supportedr   )r   r   r   getattr)frame_or_seriesr>   r@   objr   r   r   r   test_nested_renamerH   s
   "rF   renamerminmaxmean)r	   barc                 C   sT   t tdddd}d}tjt|d ||  W d    d S 1 s#w   Y  d S )Nr#   Zint64series)ZdtypenamerB   r   )r   ranger   r   r   r4   )rG   r:   r   r   r   r   test_series_nested_renamerR   s
   "rO   c                  C   st   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    d S 1 s3w   Y  d S )Nr   )
   r   )r1   r2   Cz1/1/2000rP   )Zperiods)columnsr)   rB   r   r	   rA   rJ   )r   nprandomdefault_rngstandard_normalr   r   r   r   r1   r4   )Ztsdfr   r   r   r   test_apply_dict_depr]   s   
"rW   r4   r?   c                 C   sf   t tddd}d}tjt|d t|| ddiddid W d    d S 1 s,w   Y  d S )	Nr"   r0   rB   r   r	   rH   rK   rI   )r   rN   r   r   r   rC   )r>   r   r   r   r   r   test_dict_nested_renaming_deprh   s
   "rX   c                 C   sZ   t ddgi}td}tjt|d t|| | W d    d S 1 s&w   Y  d S )Nr1   r
   zColumn(s) ['B'] do not existr   )r   reescaper   r   KeyErrorrC   )r>   r@   rE   r   r   r   r   test_missing_columnr   s
   
"r\   c                  C   sX   t ddgi} d}tjt|d | tttd W d    d S 1 s%w   Y  d S )Nr'   1z#Column\(s\) \[1, 'b'\] do not existr   )r'   r
   b)r   r   r   r[   r?   intstrr.   r   r   r   'test_transform_mixed_column_name_dtypes|   
   "ra   z	how, args)Z
pct_changer   	nsmallestr'   r^   )tailr
   c                 C   sf   t ddgddgd}d|  d}tjt|d |j| d|d	 W d    d S 1 s,w   Y  d S )
Nr
   r   r   r!   )r'   r^   z
Operation z does not support axis=1r   )r   argsr-   )howre   r   r   r   r   r   test_apply_str_axis_1_raises   s
   "rg   c                  C   sL   d} t jt| d tdgjddd W d    d S 1 sw   Y  d S )Nz&No axis named 1 for object type Seriesr   r
   rA   r   )r   r   r   r   r?   )r   r   r   r   test_transform_axis_1_raises   s   "ri   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    d S 1 sPw   Y  d S )N)r	   r	   r	   r	   rK   rK   rK   rK   r	   r	   r	   )onerj   rj   tworj   rj   rj   rk   rk   rk   rj   )dullrl   shinyrl   rl   rm   rm   rl   rm   rm   rm   r      )r1   r2   rQ   DEF)r!   rQ   c                 S   s&   | d  dr| d dkrd| d< | S NrQ   Zshinr1   r	   r$   ro   )
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 rr   )r   rs   rt   r   r   r   
transform2   s   &z/test_apply_modify_traceback.<locals>.transform2z,'float' object has no attribute 'startswith'r   r
   rh   )r   rS   rT   rU   rV   nanlocr   r   AttributeErrorr   )datar?   rv   r   r   r   r   test_apply_modify_traceback   s    /"r{   zdf, func, expectedZcumprodc              	   C   s   d}t |tr	d nt}tj||d/ tj|dd | j||d W d    n1 s,w   Y  W d    d S W d    d S 1 sDw   Y  d S )Nz0can't multiply sequence by non-int of type 'str'r   zusing DataFrame.cumprodrh   )
isinstancer`   FutureWarningr   r   tmassert_produces_warningr4   )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rd nt}tj||d- tj	|dd | 
| W d    n1 s:w   Y  W d    d S W d    d S 1 sRw   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.*)rS   Z	nanmedianr   r|   r`   r}   r   r   r~   r   r4   )rL   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    d S 1 s(w   Y  d S )Nr'   zint() argument must be a stringr   c                 S      t | jd S Nr   r_   Zilocr   r   r   r   r         z'test_agg_none_to_type.<locals>.<lambda>)r   rY   rZ   r   r   r3   r4   r.   r   r   r   test_agg_none_to_type  s
   
"r   c                  C   sX   t dd gi} d}tjt|d | ddd i W d    d S 1 s%w   Y  d S )Nr'   zargument must be ar   c                 S   r   r   r   r   r   r   r   r     r   z-test_transform_none_to_type.<locals>.<lambda>)r   r   r   r3   r?   r.   r   r   r   test_transform_none_to_type  rb   r   c                 C   s   t ddgddS )Nr
   r   )rS   arrayZreshaper   r   r   r   r     s    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     s    c                 C   sL   | }d}t jt|d |j|ddd W d    d S 1 sw   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   s   d}t jt|d0 tjdd |jddg| d W d    n1 s$w   Y  W d    d S W d    d S 1 s<w   Y  d S )Nz3cannot combine transform and aggregation operationsr   ignoreallrI   sqrtrh   r   r   r   rS   Zerrstater4   )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   sz   t jt|d, tjdd | | W d    n1 sw   Y  W d    d S W d    d S 1 s6w   Y  d S )Nr   r   r   r   )string_seriesr@   r   r   r   r   !test_transform_and_agg_err_series,  s   "r   c                 C   sF   d}t jt|d |j|| d W d    d S 1 sw   Y  d S )NFunction did not transformr   rh   )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. tj||dd | | W d    n1 s.w   Y  W d    d S W d    d S 1 sFw   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   r*   r+   r   r   r   r   r   r   U  r,   c                 C   s   | gS r+   r   r   r   r   r   r   U  s    c                 C   s   d| iS Nr1   r   r   r   r   r   r   U  r   c                 C   s
   d| giS r   r   r   r   r   r   r   U  s   
 c                 C   sf   || }t dg di}t||}d}tjt|d || W d    d S 1 s,w   Y  d S )Nr1   r   r   r   )r   r~   get_objr   r   r   r?   )Zall_reductionsrD   r   oprE   r   r   r   r   test_transform_reducer_raisesT  s   "r   )/	itertoolsr   rY   numpyrS   r   Zpandas.errorsr   Zpandasr   r   r   r   Zpandas._testingZ_testingr~   markZparametrizer    r/   r5   r;   r=   rF   rO   rW   rX   r\   ra   rg   ri   r{   Zget_cython_table_paramsr3   r   splitr   r   r   r   r   filterwarningsr   r   r   r   r   r   r   r   r   <module>   s   
	
"

	
A
	


	





