a
    dV                     @   s  d dl Zd dlZd dlZd dlmZmZmZmZm	Z	m
Z
 d dlmZ d dlmZ ejddgddd Zd	d
 Zdd Zdd Zejdddgdd Zdd Zejddi d fdddidfdi dfdddidfgdd  Zd!d" Zd#d$ Zd%d& Zd'd( Zd)d* Zejd+d,d,ejgd,d-ejggd.d/ Z d0d1 Z!d2d3 Z"d4d5 Z#ejd6ed7d8 Z$d9d: Z%d;d< Z&ejd=e'd>d? gd@dA Z(dBdC Z)ejdDdEdFgdGdH Z*dIdJ Z+dKdL Z,ejdMdEi fdFddifdFddifgdNdO Z-dPdQ Z.ejdReddge/d dSgdTeej0ddggdd dUdVdWfej1dXdYeej0ddggdXd dUdVdWfgejdZddgd[d\ Z2ejd]dee3dXdVdWfd^gd_d` Z4dadb Z5ejdcej6gddgfej6ej7gdddegfe8ej6gddgfe8ej6ej7gdddegfgejdfdEi gdFddigdFddiggdgdh Z9ejdidjej6iej6ej7dkedjej6ieej6ej7dkgejdfdEi gdFddigdFddiggdldm Z:ejdcej;gdngfej<ej;gdodngfe8ej;gdngfe8ej<ej;gdodngfgdpdq Z=ejdrdsd? ged?g dtifdud? gedvgd?gdTfgdwdx Z>ejdidjej;iej;ej?dkedjej;ieej;ej?dkgdydz Z@ejdrdd{d? ieg dteAdgd| eBd|gdTfdd}d? iedvgdgdTfgd~d ZCdd ZDdd ZEdS )    N)	DataFrameIndex
MultiIndexSeriesconcattimedelta_range)series_transform_kernelsFcompat)paramsc                 C   s   | j S N)param)request r   m/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/pandas/tests/apply/test_series_apply.pyby_row   s    r   c                    sb   t tdddd} fdd}|j| d}|dd	 }t|| t g d
}t|| d S )Nz	1 day 1 s   h)periodsfreqc                    s    r|   S | j  S r   )total_secondsdtxr   r   r   f   s    z(test_series_map_box_timedelta.<locals>.fr   c                 S   s   |   S r   )r   r   r   r   r   <lambda>       z/test_series_map_box_timedelta.<locals>.<lambda>)g    @g    @g    @)r   r   applymaptmassert_series_equal)r   serr   resultexpectedr   r   r   test_series_map_box_timedelta   s    r$   c                 C   s  | j tj|d}tjdd t| }W d    n1 s<0    Y  t|| | j tj|d}t| }t|| ttdt	g ddd}|j dd	 |d}t|| ||usJ |j
|j
u sJ |j|jksJ |j|jksJ tg d
tjd}|j dd	 |d}t|| d S )Nr   ignoreallfoobarname)dtyper+   indexc                 S   s   | S r   r   r   r   r   r   r   3   r   ztest_apply.<locals>.<lambda>      r   r-   r,   c                 S   s   | S r   r   r   r   r   r   r   >   r   )r   npsqrterrstater   r    expr   objectr   r-   r,   r+   float64)datetime_seriesr   r"   r#   srsr   r   r   
test_apply&   s"    (
r;   c                  C   s<   t ddg} dd }| j|dd}| |}t|| d S )Nr/   r0   c                 S   s   | | d fS Nr/   r   r   r   r   r   r   E   s    z3test_apply_map_same_length_inference_bug.<locals>.fr	   r   )r   r   r   r   r    )r9   r   r"   r#   r   r   r   (test_apply_map_same_length_inference_bugB   s
    
r=   convert_dtypeTc                 C   s\   t tjdd}dd }tt  |j|| dd W d    n1 sN0    Y  d S )Nr0   
   c                 S   s   | dkr| S t jS )Nr   )r2   nanr   r   r   r   funcQ   s    z1test_apply_convert_dtype_deprecated.<locals>.funcr	   )r>   r   )	r   r2   randomZdefault_rngZstandard_normalr   assert_produces_warningFutureWarningr   )r>   r!   rA   r   r   r   #test_apply_convert_dtype_deprecatedM   s    rE   c                  C   sD   t dg} | jtjdd}|d ddgks.J t|d ts@J d S )Nzfoo,bar),argsr   r(   r)   )r   r   strsplit
isinstancelist)r9   r"   r   r   r   test_apply_argsX   s    
rM   zargs, kwargs, incrementr   ar/   )r0   r       )r/   cr0      c                 C   sz   ddd}t ddg}d}tjt|d* |j|dg| R i |}W d    n1 sX0    Y  || }t|| d S )	Nr   c                 S   s   | | d|  d|  S )Nr?   d   r   )r   rN   brP   r   r   r   r   f   s    ztest_agg_args.<locals>.fr/   r0   zhin Series.agg cannot aggregate and has been deprecated. Use Series.transform to keep behavior unchanged.match)r   r   r   )r   r   rC   rD   aggr    )rH   kwargs	incrementr   r9   msgr"   r#   r   r   r   test_agg_args`   s    
8rZ   c                  C   s   t g d} ddd}ddd}d	}tjt|d
" | j|dddd W d    n1 sZ0    Y  tjt|d
& | j||gdddd W d    n1 s0    Y  tjt|d
( | j||ddddd W d    n1 s0    Y  d S )Nr.   r/   r   c                 S   s   | | | S r   r   )r   rN   rP   r   r   r   foo1x   s    z.test_agg_mapping_func_deprecated.<locals>.foo1r0   c                 S   s   | | | S r   r   )r   rS   rP   r   r   r   foo2{   s    z.test_agg_mapping_func_deprecated.<locals>.foo2z+using .+ in Series.agg cannot aggregate andrT   r      )rP   )rN   rS   )r/   r   )r0   r   )r   r   rC   rD   rV   )r9   r[   r\   rY   r   r   r    test_agg_mapping_func_deprecatedt   s    

04r^   c                 C   s   t tjddd}dd }| sbd}tjt|d |j|| d W d    n1 sT0    Y  d S |j|| d}||}t	|| d S )	Nz1/1/2000r?   )r   c                 S   s   | j | j| jfS r   )hourdaymonthr   r   r   r   rA      s    z2test_series_apply_map_box_timestamps.<locals>.funcz&Series' object has no attribute 'hour'rT   r   )
r   pd
date_rangepytestraisesAttributeErrorr   r   r   r    )r   r!   rA   rY   r"   r#   r   r   r   $test_series_apply_map_box_timestamps   s    ,
rg   c                  C   sf  t dt dg} t| }|jdks*J |jdd dd}tdd	g}t|| t jdd
dt jdd
dg} t| }|jdksJ |jdd dd}tddg}t|| t dt dg} t| }|jdksJ |jdd dd}tddg}t|| t jdddt jdddg} t| }|jdks8J |jdd dd}tddg}t|| d S )N
2011-01-01
2011-01-02zdatetime64[ns]c                 S   s   t | j d| j d| j S N_type__name__r`   tzr   r   r   r   r      r   z test_apply_box.<locals>.<lambda>r	   r   ZTimestamp_1_NoneZTimestamp_2_Nonez
US/Eastern)ro   zdatetime64[ns, US/Eastern]c                 S   s   t | j d| j d| j S rj   rl   r   r   r   r   r      r   zTimestamp_1_US/EasternzTimestamp_2_US/Easternz1 daysz2 daysztimedelta64[ns]c                 S   s   t | j d| j S rj   )rm   rn   daysr   r   r   r   r      r   ZTimedelta_1ZTimedelta_2Mr   z	Period[M]c                 S   s   t | j d| j S rj   )rm   rn   Zfreqstrr   r   r   r   r      r   ZPeriod_M)	rb   	Timestampr   r,   r   r   r    Z	TimedeltaZPeriod)valsr9   resr5   r   r   r   test_apply_box   s4    rv   c                    s   t jddddd}t|dd}|jdd	  d
}t jddddd}t|dd}t|| |j fdd	 d
}tttddg d rdndd}t||  fdd}|j| d
} rtdgd dd}t|| n|dk d S )Nrh   ri   Hrr   z
Asia/TokyoXXr*   c                 S   s   | t j  S r   )rb   offsetsZDayr   r   r   r   r      r   z'test_apply_datetimetz.<locals>.<lambda>r   z
2011-01-03c                    s    r
| j S | jj S r   )r_   r   r   r   r   r   r      r      r   int64int32r+   r,   c                    s    rt | jS t | jjS r   )rI   ro   r   r   r   r   r   r      s    z test_apply_datetimetz.<locals>.f   )	rb   rc   tz_localizer   r   r   r    rL   range)r   valuesr9   r"   Z
exp_valuesr5   r   r   r   r   test_apply_datetimetz   s&    $r   c                 C   s.  t jtdtddd}t|dtdd}| sd}tjt|d	" |jd
d | d W d    n1 sh0    Y  |jdd | ddksJ d S |jdd | d}t jtdtddd}t|dtdd}t	|| t
|j|j |dd }tdgd dtdd}t	|| |jtks*J d S )NZABBABCDZDCBAT)
categoriesZorderedrx   Zabcdefg)r+   r-   z&Series' object has no attribute 'lowerrT   c                 S   s   |   S r   lowerr   r   r   r   r      r   z(test_apply_categorical.<locals>.<lambda>r   c                 S   s   dS NAr   r   r   r   r   r      r   r   c                 S   s   |   S r   r   r   r   r   r   r      r   ZabbabcdZdcbac                 S   s   dS r   r   r   r   r   r   r      r      )rb   ZCategoricalrL   r   rd   re   rf   r   r   r    Zassert_categorical_equalr   r,   r6   )r   r   r!   rY   r"   r5   r   r   r   test_apply_categorical   s"    0r   seriesz1-1z1-2c                 C   s   t | dd}|sXd}tjt|d" |jdd |d W d    n1 sJ0    Y  d S |jdd |d}|t}t d	d	tjgdd}|t}t	
|| d S )
Ncategoryr,   z('Series' object has no attribute 'split'rT   c                 S   s   |  dd S N-r   rJ   r   r   r   r   r      r   z8test_apply_categorical_with_nan_values.<locals>.<lambda>r   c                 S   s   |  dd S r   r   r   r   r   r   r      r   1)r   rd   re   rf   r   Zastyper6   r2   r@   r   r    )r   r   r9   rY   r"   r#   r   r   r   &test_apply_categorical_with_nan_values   s    0

r   c                 C   s:   t g tjdddtd}|jdd | d}t|| d S )Nz
2018-01-01r   )startr   r1   c                 S   s   | S r   r   r   r   r   r   r   	  r   zEtest_apply_empty_integer_series_with_datetime_index.<locals>.<lambda>r   )r   rb   rc   intr   r   r    )r   r9   r"   r   r   r   3test_apply_empty_integer_series_with_datetime_index  s    r   c                  C   sh   t tg ddgd} t g ddgd}dd }|d j|| fd}tg d	dd
d}t|| d S )N)r/   r0   r   r]      Numbers)columns)r0   r   r0   r/   r0   ZIndicesc                 S   s   |d j |  }|S )Nr   )Ziloc)Z	targetRowZtargetDFvalr   r   r   retrieve  s    z+test_apply_dataframe_iloc.<locals>.retrieverG   )r   r]   r   r0   r   uint64r}   )r   r2   r   r   r   r   r    )ZuintDFZindexDFr   r"   r#   r   r   r   test_apply_dataframe_iloc  s    r   c                 C   sH  t jdd$ t | }t | }| jt j|d}| }t|| | jt jg|d}|  }dg|_	t
|| | jdg|d}t
|| t||gdd}ddg|_	| jt jt jg|d}t
|| t||gdd}dd	g|_	| d
}| jt jt jd|d}t||| W d    n1 s:0    Y  d S )Nr%   r&   r   r3   r/   Zaxisabsoluter(   r)   r   )r(   r)   )r2   r4   r3   absr   copyr   r    Zto_framer   assert_frame_equalr   ZunstackrenameZreindex_like)string_seriesr   Zf_sqrtZf_absr"   r#   r   r   r   test_transform  s*    



r   opc                 C   s^  | dv r$|j tjj|  dd tdtg }| dv rDt}d}nt}d	dd	g}tj
||d
 || dg W d    n1 s0    Y  tj
||d
  || dd W d    n1 s0    Y  tj
||d
$ || gdgd W d    n1 s
0    Y  tj
||d
& || dg| gd W d    n1 sP0    Y  d S )N)ZffillZbfillpadZbackfillshiftz is successful on any dtype)reasonr   )ZfillnaZngroupTransform function failed|z4not supported between instances of 'type' and 'type'zunsupported operand typerT   r   r   B)nodeZ
add_markerrd   markZxfailr   r6   
ValueError	TypeErrorjoinre   	transform)r   r   r!   errorrY   r   r   r   test_transform_partial_failure@  s,    ,.4r   c                  C   s(  dd } dd }t dtg }d}tjt|d || |g W d    n1 sT0    Y  tjt|d  ||| d W d    n1 s0    Y  tjt|d$ ||g| gd W d    n1 s0    Y  tjt|d& || |g| gd W d    n1 s0    Y  d S )	Nc                 S   s   | S r   r   r   r   r   r   noopf  s    z7test_transform_partial_failure_valueerror.<locals>.noopc                 S   s   t d S r   )r   )rk   r   r   r   
raising_opi  s    z=test_transform_partial_failure_valueerror.<locals>.raising_opr   r   rT   r   )r   r6   rd   re   r   r   )r   r   r!   rY   r   r   r   )test_transform_partial_failure_valueerrord  s    ,.2r   c                  C   sr   t tdddd} | ddg}t ddgddgdd	}t|| | d
di}t dgd
gdd	}t|| d S )N   r{   r   )r,   r+   minmaxr   r   )r-   r+   r(   )r   r   rV   r   r    r9   r"   r#   r   r   r   	test_demo|  s    r   rA   c                 C   s   t | S r   )rI   r   r   r   r   r     r   r   c                 C   s>   | j ||d}|r*| |}t|| n|t| ks:J d S )Nr   )r   r   r   r    rI   )r   rA   r   r"   r#   r   r   r   (test_apply_map_evaluate_lambdas_the_same  s
    
r   c                 C   s   t t | dd }W d    n1 s.0    Y  t|trRt|t| ksVJ t t | t}W d    n1 s0    Y  t|trt|t| ksJ d S )Nc                 S   s   t | S r   )rm   r   r   r   r   r     r   z+test_agg_evaluate_lambdas.<locals>.<lambda>)r   rC   rD   rV   rK   r   lenrm   )r   r"   r   r   r   test_agg_evaluate_lambdas  s    ,(r   op_namerV   r   c                 C   sf   d}t jt|d" t| |dd }W d    n1 s:0    Y  t| | d d}t || d S )NBReturning a DataFrame from Series.apply when the supplied functionrT   c                 S   s   t | | d gddgdS )Nr0   r   x^2r-   r   r   r   r   r   r     r   z)test_with_nested_series.<locals>.<lambda>r0   )r   r   )r   rC   rD   getattrr   r   )r8   r   rY   r"   r#   r   r   r   test_with_nested_series  s    "r   c                 C   s<   |   }| dddddd ddd d	d
}t|| d S )Ncountmeanstdr   c                 S   s
   |  dS )Ng      ?Zquantiler   r   r   r   r     r   z)test_replicate_describe.<locals>.<lambda>Zmedianc                 S   s
   |  dS )Ng      ?r   r   r   r   r   r     r   r   )r   r   r   r   z25%z50%z75%r   )Zdescriber   r   r    )r   r#   r"   r   r   r   test_replicate_describe  s    r   c                 C   s>   |  ddg}t|  |  gddg| jd}t|| d S )Nsumr   r*   )rV   r   r   r   r+   r   r    )r   r"   r#   r   r   r   test_reduce  s    r   z	how, kwdsc                 C   s   t g d}t|| d	i |}|j}||ks2J t|| g dfi |}t dddd}t|| t|| ddddfi |}t|| d S )
N)r/   r0   Nsize)r   r   r   g      @       @g      ?r   r   )r   )r   r   r   r   r    )howkwdsr9   r"   r#   r   r   r   test_non_callable_aggregates  s    r   c                 C   sN   t dgd }|jddd dd g| d}t g dg dd	}t|| d S )
Nr]   r   r   c                 S   s   |   S r   r   r   r   r   r   r     r   z3test_series_apply_no_suffix_index.<locals>.<lambda>r   )   r   r   )r   r   r   r   )r   r   r   r    )r   r9   r"   r#   r   r   r   !test_series_apply_no_suffix_index  s    r   zdti,expl    ,b/ r   r   r{   r      Znperawarec                 C   sl   |r|  dj}n| j}d}tjt|d" t|dd }W d    n1 sR0    Y  t|| d S )NUTCr   rT   c                 S   s   t ddgS )Nr/   r0   r   r   r   r   r   r     r   zCtest_apply_series_on_date_time_index_aware_series.<locals>.<lambda>)r   r-   r   rC   rD   r   r   r   )Zdtir5   r   r-   rY   r"   r   r   r   1test_apply_series_on_date_time_index_aware_series  s    0r   zby_row, expected)Fr/   c                 C   s:   t jddd}t|jjdd | d}t || d S )Nr   r   r   c                 S   s   dS r<   r   r   r   r   r   r     r   zCtest_apply_scalar_on_date_time_index_aware_series.<locals>.<lambda>r   )r   makeTimeSeriesr   r   r-   r   assert_equal)r   r#   r   r"   r   r   r   1test_apply_scalar_on_date_time_index_aware_series
  s    r   c                 C   s~   ddg}t |}t|jt j| d}tt|| dtjt jt jg}t |}t|}|jt j| d}tt|| d S )Nz00:00:01z00:00:02r   )	rb   Zto_timedeltar   r   r   r    r2   r@   ZNaT)r   Zlist_of_valid_stringsrN   rS   Zlist_of_stringsr!   r   r   r   test_apply_to_timedelta  s    

r   z
ops, namesr   r   zhow, kwargsc           	         s   t  fddt||D }d|_|dkr.tnd }dd| d}tj||d& t ||fi |}W d    n1 s~0    Y  t|| d S )	Nc                    s   i | ]\}}|| qS r   r   .0r+   r   r   r   r   
<dictcomp>2  r   z/test_apply_listlike_reducer.<locals>.<dictcomp>r   rV   zusing Series.[r   ]rT   )	r   zipr+   rD   r   r   rC   r   r    )	r   opsnamesr   rW   r#   warnrY   r"   r   r   r   test_apply_listlike_reducer#  s    4r   r   r   r   c           	         s   t  fdd| D } j|_|dkr.tnd }d}tj||d& t ||fi |}W d    n1 sp0    Y  t|| d S )Nc                    s   i | ]\}}|| qS r   r   r   r   r   r   r   J  r   z/test_apply_dictlike_reducer.<locals>.<dictcomp>rV   zusing Series.[sum|mean]rT   )r   itemsr+   rD   r   rC   r   r    )	r   r   r   rW   r   r#   r   rY   r"   r   r   r   test_apply_dictlike_reducer;  s    4r   r3   r   c                    sj   t jddJ t fdd|D dd}||_ j||d}t|| W d    n1 s\0    Y  d S )Nr%   r&   c                    s   g | ]}| qS r   r   )r   r   r   r   r   
<listcomp>_  r   z3test_apply_listlike_transformer.<locals>.<listcomp>r/   r   r   )r2   r4   r   r   r   r   r   )r   r   r   r   r#   r"   r   r   r   test_apply_listlike_transformerS  s
    r   zops, expectedc                 C   s   | S r   r   r   r   r   r   r   h  r   r.   c                 C   s   |   S r   r   r   r   r   r   r   i  r   r   c                 C   s*   t g d}|j| |d}t|| d S Nr.   r   r   r   r   r   )r   r#   r   r!   r"   r   r   r   test_apply_listlike_lambdae  s    	r   c                    sl   t jddL t fdd| D } j|_ j||d}t|| W d    n1 s^0    Y  d S )Nr%   r&   c                    s   i | ]\}}|| qS r   r   r   r   r   r   r     r   z3test_apply_dictlike_transformer.<locals>.<dictcomp>r   )r2   r4   r   r   r+   r   r   r    )r   r   r   r#   r"   r   r   r   test_apply_dictlike_transformers  s
    r   c                 C   s   | S r   r   r   r   r   r   r     r   r   c                 C   s   |   S r   r   r   r   r   r   r     r   c                 C   s*   t g d}|j| |d}t|| d S r   r   )r   r   r#   r!   r"   r   r   r   test_apply_dictlike_lambda  s    r   c                 C   s  t dtdittddd}dd }| spd}tjt|d  |jj|| d W d    n1 sb0    Y  d S d	}tj	t
|d  |jj|| d}W d    n1 s0    Y  t d
tjtjgd
dtjgg dgttdddttdddd}t|| d S )Nr   r   r*   c                 S   s"   t t| d tt| d ddS )Nr/   yr*   )r   r   r   r   r   r   r   r     r   z0test_apply_retains_column_name.<locals>.<lambda>z3'Series' object cannot be interpreted as an integerrT   r   r                 ?)r   r   r   r   )r   r-   )r   r   r   rd   re   r   r   r   r   rC   rD   r2   r@   r   )r   ZdfrA   rY   r"   r#   r   r   r   test_apply_retains_column_name  s     ..r   c                  C   sF   t ddtgg dd} | t}t tttgg dd}t|| d S )Nr   string)rN   rS   rP   r   )r   floatr   rm   r   rI   r   r    r   r   r   r   test_apply_type  s    
r   )Fnumpyr2   rd   Zpandasrb   r   r   r   r   r   r   Zpandas._testingZ_testingr   Zpandas.tests.apply.commonr   Zfixturer   r$   r;   r=   r   ZparametrizerE   rM   rZ   r^   rg   rv   r   r   r@   r   r   r   r   r   r   r   rI   r   r   r   r   r   r   r   ZDatetimeIndexrepeatr   r   Zonesr   r   r   r   arrayr   r   r3   r   r   r   r5   r   Zfrom_arraysr   r   r   r   r   r   r   r   <module>   s    


*
% 
&
#


	

			
	
	
	
"

