o
    믪g*                     @   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   sz   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    d S 1 s6w   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/html/chatdoc2/venv/lib/python3.10/site-packages/pandas/tests/apply/test_invalid_arg.py<lambda>&       z(test_result_type_error.<locals>.<lambda>axisr   	r   nptilearangereshapepytestraises
ValueErrorapply)r   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   )      r   )      	   )ar3   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   r   r   zMust provider   )r   r'   r(   	TypeErroraggr:   r   r   r   test_agg_raises0   s
   
"r?   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   r6   r7   r   r   r   r   r   r   >   r8   z8test_map_with_invalid_na_action_raises.<locals>.<lambda>____	na_actionr   r'   r(   r)   map)sr,   r   r   r   &test_map_with_invalid_na_action_raises9   s
   "rF   input_na_actionr@   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   rA   rC   )rG   rE   r,   r   r   r   2test_map_arg_is_dict_with_invalid_na_action_raisesA   s
   "rH   method)r*   r>   	transformfuncr   r   sumc                 C   sT   | ddgi}d}t jt|d t||| W d    d S 1 s#w   Y  d S )Nr   r	   nested renamer is not supportedr   )r'   r(   r   getattr)frame_or_seriesrI   rK   objr   r   r   r   test_nested_renamerJ   s
   "rQ   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   r   series)r   namerM   r   )r   ranger'   r(   r   r>   )rR   rE   r,   r   r   r   test_series_nested_renamerT   s
   "rZ   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
   r   z1/1/2000r[   )periods)r   r5   rM   r   r   rL   rU   )r   r#   randomdefault_rngstandard_normalr   r'   r(   r   r   r>   )tsdfr,   r   r   r   test_apply_dict_depr_   s   
"ra   r>   rJ   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/   r<   rM   r   r   rS   rV   rT   )r   rY   r'   r(   r   rN   )rI   r+   r,   r   r   r   test_dict_nested_renaming_deprj   s
   "rb   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 )Nr   r	   zColumn(s) ['B'] do not existr   )r   reescaper'   r(   KeyErrorrN   )rI   rK   rP   r   r   r   r   test_missing_columnt   s
   
"rf   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 )Nr3   1z#Column\(s\) \[1, 'b'\] do not existr   )r3   r	   b)r   r'   r(   re   rJ   intstrr:   r   r   r   'test_transform_mixed_column_name_dtypes~   
   "rk   z	how, args)
pct_changer   	nsmallestr3   rh   )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.   )r3   rh   z
Operation z does not support axis=1r   )r!   argsr9   )howrp   r+   r,   r   r   r   test_apply_str_axis_1_raises   s
   "rr   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	   rL   r!   )r'   r(   r)   r   rJ   )r,   r   r   r   test_transform_axis_1_raises   s   "rt   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    d S 1 sLw   Y  d S )N)r   r   r   r   rV   rV   rV   rV   r   r   r   )oneru   ru   tworu   ru   ru   rv   rv   rv   ru   )dullrw   shinyrw   rw   rx   rx   rw   rx   rx   rx   r      )r   r   r   DEF)r.   r   c                 S   s&   | d  dr| d dkrd| d< | S )Nr   shinr   r   r0   rz   )
startswith)rowr   r   r   rJ      s   z.test_apply_modify_traceback.<locals>.transformz,'float' object has no attribute 'startswith'r   r	   rs   )r   r#   r]   r^   r_   nanlocr'   r(   AttributeErrorr*   )datarJ   r,   r   r   r   test_apply_modify_traceback   s   /"r   zdf, func, expectedcumprodc              	   C   s   |rdd l }||jjf}d}t|trd nt}tj||d/ tj	|dd | j
||d W d    n1 s8w   Y  W d    d S W d    d S 1 sPw   Y  d S )Nr   z>can't multiply sequence by non-int of type 'str'|has no kernelr   zusing DataFrame.cumprodrs   )pyarrowlibArrowNotImplementedError
isinstancerj   FutureWarningr'   r(   tmassert_produces_warningr>   )r+   rK   expectedr!   using_infer_stringpar,   warnr   r   r   "test_agg_cython_table_raises_frame   s   "r   zseries, func, expectedza b cprod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r)d nt}t	j
||d- tj|dd | | W d    n1 sJw   Y  W d    d S W d    d S 1 sbw   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#   	nanmedianr   r   r   r   r   rj   r   r'   r(   r   r   r>   )rW   rK   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    d S 1 s(w   Y  d S )Nr3   zint() argument must be a stringr   c                 S      t | jd S Nr   ri   ilocr   r   r   r   r         z'test_agg_none_to_type.<locals>.<lambda>)r   rc   rd   r'   r(   r=   r>   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 )Nr3   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(   r=   rJ   r:   r   r   r   test_transform_none_to_type  rl   r   c                 C   s   t ddgddS )Nr	   r   r   )r#   arrayr&   r   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   sv   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    d S 1 s4w   Y  d S )Nr
   r   r   r   r   r	   r   r   z2too many dims to broadcast|cannot broadcast resultr   	broadcastr    r"   )rK   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allrT   sqrtrs   r'   r(   r)   r#   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   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_seriesrK   r,   r   r   r   !test_transform_and_agg_err_series8  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   rs   r'   r(   r)   rJ   )r!   r   rK   r,   r   r   r   test_transform_wont_agg_frameJ  s   "r   c                 C   sB   d}t jt|d | | W d    d S 1 sw   Y  d S )Nr   r   r   r   r   r   r   test_transform_wont_agg_seriesS  s   "r   
op_wrapperc                 C   r6   r7   r   r   r   r   r   r   ^  r8   c                 C   s   | gS r7   r   r   r   r   r   r   ^  s    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   ^  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 )Nr   r   r   r   )r   r   get_objr'   r(   r)   rJ   )all_reductionsrO   r   oprP   r,   r   r   r   test_transform_reducer_raises]  s   "r   ).	itertoolsr   rc   numpyr#   r'   pandas.errorsr   pandasr   r   r   pandas._testing_testingr   markparametrizer-   r;   r?   rF   rH   rQ   rZ   ra   rb   rf   rk   rr   rt   r   get_cython_table_paramsr=   r   splitr   r   r   r   r   filterwarningsr   r   r   r   r   r   r   r   r   <module>   s   
	
"

	
<









	