
    dr                     
   d dl mZmZ d dlmZ d dlZ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mZ d dlmZ d dlmZ d Zd Zd Zd	 Z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             Zd Zd Z d Z!d Z"d Z#d Z$ej                            dddej%        gddej%        gg          d             Z&d  Z'd! Z(ej                            d"e          d#             Z)d$ Z*d% Z+d& Z,d' Z-d( Z.d) Z/ej                            d*d+d,g          d-             Z0d. Z1d/ Z2d0 Z3d1 Z4d2 Z5d3 Z6d4 Z7d5 Z8d6 Z9d7 Z:d8 Z;d9 Z<ej                            d:dd;g          d<             Z=ej                            d:dd;g          d=             Z>ej                            d:dd;g          d>             Z?ej                            d?e@eg          d@             ZAdA ZBdB ZCdC ZDdD ZEdE ZFdF ZGdG ZHdH ZIdI ZJej                            dJ eKdK          ejL        dLiejL        gdMz  dLgz   f eKdK          ddNidNgejL        gdMz  z   f eK eMdM                    d dOidOgejL        gdMz  z   fg          dP             ZNej                            dQ eddg e
jO        d dRg          S           e ejP        ddggdd T          dUV          f ejQ        dWX           e ejP        ddggdWd T          dUV          fg          ej                            dYdZd[g          d\                         ZRd] ZSd^ ZTd_ ZUej                            d`ejV        gdagfejV        ejW        gdadbgf ejX        ejV        g          dagf ejX        ejV        ejW        g          dadbgfg          ej                            d*d+d,g          dc                         ZYej                            dddeejV        iejV        ejW        df edeejV        i           eejV        ejW        df          g          ej                            d*d+d,g          dg                         ZZej                            d`ej[        gdhgfej\        ej[        gdidhgf ejX        ej[        g          dhgf ejX        ej\        ej[        g          didhgfg          dj             Z]ej                            dddeej[        iej[        ej^        df edeej[        i           eej[        ej^        df          g          dk             Z_dl Z`dm ZadS )n    )Counterdefaultdict)DecimalN)	DataFrameIndex
MultiIndexSeriesconcatisnatimedelta_range)series_transform_kernelsc                      t          t          ddd                    } d }|                     |           |                     |           t	          |                               |           d S )Nz	1 day 1 s   h)periodsfreqc                 *    |                                  S N)total_secondsxs    `/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/apply/test_series_apply.pyfz(test_series_map_box_timedelta.<locals>.f   s           )r	   r   mapapplyr   applymap)serr   s     r   test_series_map_box_timedeltar      sm    
acBBB
C
CC! ! ! GGAJJJIIaLLLcNNAr   c                    t          j        d          5  t          j        |                     t           j                  t          j        |                      t          j        |                     t          j                  t          j        |                      d d d            n# 1 swxY w Y   t          t          dt          g d                    }|                    d           }t          j        ||           ||usJ |j        |j        u sJ |j        |j        k    sJ |j        |j        k    sJ t          g dt           j        	          }|                    d
           }t          j        ||           d S )Nignoreallfoobarname)dtyper'   indexc                     | S r    r   s    r   <lambda>ztest_apply.<locals>.<lambda>.       1 r            r)   r(   c                     | S r   r+   r   s    r   r,   ztest_apply.<locals>.<lambda>9   r-   r   )nperrstatetmassert_series_equalr   sqrtmathexpr	   objectr   r)   r(   r'   float64)datetime_seriessrss      r   
test_applyr@   %   s   		"	"	" Y Y
44RW==rw?W?WXXX 	44TX>>@W@WXXX	Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 	V%uRe/D/D/DEEEA	
		B1b!!! B;;;;7bh7bh6RW 	YYYbj111A	
		B1b!!!!!s   B	B++B/2B/c                  L   t          ddg          } d }|                     |          }|                     |          }t          j        ||           t          g d          } |                     |          }|                     |          }t          j        ||           d S )Nr/   r0   c                     | | dz   fS Nr/   r+   r   s    r   r   z/test_apply_same_length_inference_bug.<locals>.f@   s    1q5zr   r.   )r	   r   r   r6   r7   )r>   r   resultexpecteds       r   $test_apply_same_length_inference_bugrF   =   s    1vA   WWQZZFuuQxxH68,,,yyyAWWQZZFuuQxxH68,,,,,r   c                      t          t          j                            d                    } d }|                     |d          }|j        t          k    sJ d S )N
   c                 *    | dk    r| nt           j        S )Nr   )r4   nanr   s    r   r   z(test_apply_dont_convert_dtype.<locals>.fP   s    EEqqrv%r   F)convert_dtype)r	   r4   randomrandnr   r(   r;   )r>   r   rD   s      r   test_apply_dont_convert_dtyperN   M   s\    ryr""##A& & & WWQeW,,F<6!!!!!!r   c                      t          dg          } |                     t          j        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r>   rD   s     r   test_apply_argsrW   W   sa    	{AWWSYVW,,F!9&&&&fQi&&&&&&&r   zargs, kwargs, incrementr+   ar/   )r0   r1       r/   cr0      c                     dd}t          ddg          } |j        |dg| R i |}||z   }t          j        ||           d S )Nr   c                 $    | |z   d|z  z   d|z  z   S )NrH   d   r+   )r   rX   br[   s       r   r   ztest_agg_args.<locals>.fe   s    1urAv~a''r   r/   r0   )r   r   r   )r	   aggr6   r7   )rQ   kwargs	incrementr   r>   rD   rE   s          r   test_agg_argsrd   _   sl    ( ( ( ( 	1vAQU1a)$)))&))F9}H68,,,,,r   c                  f   t          g d          } dd}dd}d}t          j        t          |          5  |                     ||gdd	d	d
           d d d            n# 1 swxY w Y   |                     ||gdd	d
          }t          g dg dd          }t          j        ||           d S )Nr.   r/   r   c                     | |z   |z   S r   r+   )r   rX   r[   s      r   foo1z/test_agg_list_like_func_with_args.<locals>.foo1s       1uqyr   r0   c                     | |z   |z   S r   r+   )r   r`   r[   s      r   foo2z/test_agg_list_like_func_with_args.<locals>.foo2v   rh   r   z/foo1\(\) got an unexpected keyword argument 'b'matchr1      )r`   r[   )r[   )   	   rH   )rg   rj   )r/   r   )r0   r   )r	   pytestraises	TypeErrorra   r   r6   assert_frame_equal)r>   rg   rj   msgrD   rE   s         r   !test_agg_list_like_func_with_argsru   n   s#    	yyyA       =C	y	,	,	, , ,	tTlAqA+++, , , , , , , , , , , , , , , UUD$<AU++F***jjjAABBH&(+++++s   A  A$'A$c                      t          t          j        dd                    } d }|                     |           |                     |           d S )Nz1/1/2000rH   )r   c                 *    | j         | j        | j        fS r   )hourdaymonthr   s    r   funcz,test_series_map_box_timestamps.<locals>.func   s    qw''r   )r	   pd
date_ranger   r   )r   r{   s     r   test_series_map_box_timestampsr~      sQ    
z2666
7
7C( ( ( GGDMMMIIdOOOOOr   c                     t          g dg d|           }t          g d|           }|                    |          }t          dddt          j        g|           }t	          j        ||           d S )	N)catdograbbit)id1id2id3)datar)   r(   )r   r   r   id7000)r   r(   r   r   r   )r	   r   r|   NAr6   r7   )any_string_dtypeser1ser2rD   rE   s        r   test_series_map_stringdtyper      s    %%%###  D
 666>NOOODXXd^^FHeUBE:BRSSSH68,,,,,r   c                     t          j        d          t          j        d          g} t          |           }|j        dk    sJ |                    d           }t          ddg          }t          j        ||           t          j        dd          t          j        dd          g} t          |           }|j        d	k    sJ |                    d
           }t          ddg          }t          j        ||           t          j        d          t          j        d          g} t          |           }|j        dk    sJ |                    d           }t          ddg          }t          j        ||           t          j        dd          t          j        dd          g} t          |           }|j        dk    sJ |                    d           }t          ddg          }t          j        ||           d S )N
2011-01-01
2011-01-02datetime64[ns]c                 N    t          |           j         d| j         d| j         S N_type__name__ry   tzr   s    r   r,   z test_apply_box.<locals>.<lambda>   )    tAww/@@!%@@!$@@ r   Timestamp_1_NoneTimestamp_2_None
US/Easternr   datetime64[ns, US/Eastern]c                 N    t          |           j         d| j         d| j         S r   r   r   s    r   r,   z test_apply_box.<locals>.<lambda>   r   r   Timestamp_1_US/EasternTimestamp_2_US/Eastern1 days2 daystimedelta64[ns]c                 >    t          |           j         d| j         S r   r   r   daysr   s    r   r,   z test_apply_box.<locals>.<lambda>       tAww/::!&:: r   Timedelta_1Timedelta_2Mr   	Period[M]c                 >    t          |           j         d| j         S r   r   r   freqstrr   s    r   r,   z test_apply_box.<locals>.<lambda>       tAww/==!)== r   Period_M	r|   	Timestampr	   r(   r   r6   r7   	TimedeltaPeriodvalsr>   resr:   s       r   test_apply_boxr      s   L&&\(B(BCDtA7&&&&&
''@@
A
AC
$&89
:
:C3$$$ 	\l333
\l333D 	tA722222
''@@
A
AC
*,DE
F
FC3$$$ L""BL$:$:;DtA7'''''
''::
;
;C
-/
0
0C3$$$ Il---ryC/P/P/PQDtA7k!!!!
''==
>
>C
*j)
*
*C3$$$$$r   c                     t          j        ddd                              d          } t          | d          }|                    d           }t          j        dd	d                              d          }t          |d          }t          j        ||           |                    d
           }t          t          t          d                    dgz   dt          j
                  }t          j        ||           d }|                    |          }t          dgdz  d          }t          j        ||           d S )Nr   r   Hr   
Asia/TokyoXXr&   c                 D    | t           j                                        z   S r   r|   offsetsDayr   s    r   r,   z'test_apply_datetimetz.<locals>.<lambda>   s    q2:>>#3#33 r   
2011-01-03c                     | j         S r   rx   r   s    r   r,   z'test_apply_datetimetz.<locals>.<lambda>   s    qv r      r   r'   r(   c                 l    t          | t          j                  st          t	          | j                  S r   rT   r|   r   
ValueErrorrR   r   r   s    r   r   z test_apply_datetimetz.<locals>.f   *    !R\** 	14yyr      )r|   r}   tz_localizer	   r   r6   r7   rU   ranger4   int32r   valuesr>   rD   
exp_valuesr:   r   s         r   test_apply_datetimetzr      sG   ]<C@@@LL F 	vD!!!AWW3344F|\DDDPP J $
'
'
'C63'''WW%%&&F
eBiiA3&T
B
B
BC63'''  
 UU1XXF
,"$4
0
0
0C63'''''r   c                     t          j        t          d          t          d          d          } t          | dt          d                    }|                    d           }t          j        t          d	          t          d
          d          } t          | dt          d                    }t          j        ||           t          j        |j        |j                   |                    d           }t          dgdz  dt          d                    }t          j        ||           |j	        t          k    sJ d S )NABBABCDDCBAT
categoriesorderedr   abcdefgr'   r)   c                 *    |                                  S r   lowerr   s    r   r,   z(test_apply_categorical.<locals>.<lambda>   s     r   abbabcddcbac                     dS NAr+   r   s    r   r,   z(test_apply_categorical.<locals>.<lambda>   s     r   r      )r|   CategoricalrU   r	   r   r6   r7   assert_categorical_equalr   r(   r;   )r   r   rD   r:   s       r   test_apply_categoricalr      s   ^DOOVdSSSF
d$y//
:
:
:CYY**++F ^DOOVdSSSF
d$y//
:
:
:C63'''sz:::YY}}%%F
#T)__
=
=
=C63'''<6!!!!!!r   seriesz1-1z1-2c                 "   t          | d          }|                    d           }|                    t                    }t          ddt          j        gd          }|                    t                    }t          j        ||           d S )Ncategoryr(   c                 8    |                      d          d         S )N-r   )rS   r   s    r   r,   z8test_apply_categorical_with_nan_values.<locals>.<lambda>   s    qwws||A r   1)r	   r   astyper;   r4   NaNr6   r7   )r   r>   rD   rE   s       r   &test_apply_categorical_with_nan_valuesr      s     	vZ(((AWW..//F]]6""FsC(
;;;Hv&&H68,,,,,r   c                      t          g t          j        dd          t                    } |                     d           }t          j        ||            d S )Nz
2018-01-01r   )startr   r2   c                     | S r   r+   r   s    r   r,   zEtest_apply_empty_integer_series_with_datetime_index.<locals>.<lambda>   s    q r   )r	   r|   r}   intr   r6   r7   rV   s     r   3test_apply_empty_integer_series_with_datetime_indexr      sQ    r\1EEESQQQAWW[[!!F61%%%%%r   c                 D   t          j        d          5  t          j        |           }t          j        |           }|                     t           j                  }|                                }t          j        ||           |                     t           j        g          }|                                                                }dg|_	        t          j
        ||           |                     dg          }t          j
        ||           t          ||gd          }ddg|_	        |                     t           j        t           j        g          }t          j
        ||           t          ||gd          }ddg|_	        |                                                    d	          }|                     t           j        t           j        d
          }t          j        |                    |          |           d d d            d S # 1 swxY w Y   d S )Nr!   r"   r8   r/   axisabsoluter$   r%   r   )r$   r%   )r4   r5   r8   absr   copyr6   r7   to_framecolumnsrs   r
   unstackrenamereindex_like)string_seriesf_sqrtf_absrD   rE   s        r   test_transformr    s5    
	"	"	"  H  H''}%% $$RW--;;==
vx000 $$bgY//??$$))++"8
fh///$$fX..
fh///
 65/222"J/$$bgrv%677
fh/// 65/222!5>##%%,,X66$$RWRV%D%DEE
v228<<hGGGA H  H  H  H  H  H  H  H  H  H  H  H  H  H  H  H  H  Hs   G2HHHopc                 F   | dv r;|j                             t          j                            |  d                     t          dt          gz            }| dv r
t          }d}nt          }d	                    dd	g          }t          j
        ||
          5  |                    | dg           d d d            n# 1 swxY w Y   t          j
        ||
          5  |                    | dd           d d d            n# 1 swxY w Y   t          j
        ||
          5  |                    | gdgd           d d d            n# 1 swxY w Y   t          j
        ||
          5  |                    | dg| gd           d d d            d S # 1 swxY w Y   d S )N)ffillbfillpadbackfillshiftz is successful on any dtypereasonr1   )fillnangroupTransform function failed|z4not supported between instances of 'type' and 'type'zunsupported operand typerk   r  r   B)node
add_markerrp   markxfailr	   r;   r   rr   joinrq   	transform)r  requestr   errorrt   s        r   test_transform_partial_failurer  '  s    
;;;K%G%G%GHH	
 	
 	

 fX

C	!!!)hhF*
 
 
uC	(	(	( % %r7m$$$% % % % % % % % % % % % % % % 
uC	(	(	( / /BW--.../ / / / / / / / / / / / / / / 
uC	(	(	( 3 3RDy112223 3 3 3 3 3 3 3 3 3 3 3 3 3 3 
uC	(	(	( 7 7RM556667 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7sH   B>>CCDDD%EEE-FFFc                     d } d }t          dt          gz            }d}t          j        t          |          5  |                    | |g           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    || d           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    |g| gd           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    | |g| gd           d d d            d S # 1 swxY w Y   d S )Nc                     | S r   r+   r   s    r   noopz7test_transform_partial_failure_valueerror.<locals>.noopM  s    r   c                     t           r   )r   )r   s    r   
raising_opz=test_transform_partial_failure_valueerror.<locals>.raising_opP  s    r   r1   r  rk   r  )r	   r;   rp   rq   r   r  )r  r!  r   rt   s       r   )test_transform_partial_failure_valueerrorr"  K  sg        fX

C
%C	z	-	-	- * *tZ()))* * * * * * * * * * * * * * * 
z	-	-	- 4 4JT223334 4 4 4 4 4 4 4 4 4 4 4 4 4 4 
z	-	-	- 8 8ZLv667778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 
z	-	-	- > >T:.dV<<===> > > > > > > > > > > > > > > > > >sG   A  A$'A$B++B/2B/C88C<?C<EEEc                  H   t          t          d          dd          } |                     ddg          }t          ddgddgd	          }t          j        ||           |                     d
di          }t          dgd
gd	          }t          j        ||           d S )N   int64r   )r(   r'   minmaxr   r   )r)   r'   r$   )r	   r   ra   r6   r7   r>   rD   rE   s      r   	test_demor)  c  s    uQxxwX666AUUE5>""Fq!fUENBBBH68,,,UUE5>""Fqc%x888H68,,,,,r   c                    |                      d           }|                     d           }t          j        ||           |                      t                    }|                     t                    }t          j        ||           d S )Nc                      t          |           S r   rR   r   s    r   r,   z:test_agg_apply_evaluate_lambdas_the_same.<locals>.<lambda>s      3q66 r   c                      t          |           S r   r,  r   s    r   r,   z:test_agg_apply_evaluate_lambdas_the_same.<locals>.<lambda>t  r-  r   )r   ra   r6   r7   rR   r  rD   rE   s      r   (test_agg_apply_evaluate_lambdas_the_samer0  p  s       !1!122F  !1!122H68,,,  %%F  %%H68,,,,,r   c                     |                      d           }t          | | dz  d          }t          j        ||           |                     d           }t          j        ||           d S )Nc                 2    t          | | dz  gddg          S Nr0   r   x^2r)   r	   r   s    r   r,   z)test_with_nested_series.<locals>.<lambda>  s    VQ1Ic5\-R-R-R r   r0   )r   r4  c                 2    t          | | dz  gddg          S r3  r6  r   s    r   r,   z)test_with_nested_series.<locals>.<lambda>  s    61ad)C<+P+P+P r   )r   r   r6   rs   ra   )r=   rD   rE   s      r   test_with_nested_seriesr8  |  sx     ""#R#RSSF7IJJKKH&(+++  !P!PQQF&(+++++r   c                     |                                  }|                     ddddd dd dd	          }t          j        ||           d S )
Ncountmeanstdr&  c                 ,    |                      d          S )Ng      ?quantiler   s    r   r,   z)test_replicate_describe.<locals>.<lambda>      QZZ-- r   medianc                 ,    |                      d          S )Ng      ?r>  r   s    r   r,   z)test_replicate_describe.<locals>.<lambda>  r@  r   r'  )r:  r;  r<  r&  z25%z50%z75%r'  )describer   r6   r7   )r  rE   rD   s      r   test_replicate_describerD    sk    %%''H  ----		
 		
 F 68,,,,,r   c                     |                      ddg          }t          |                                 |                                 gddg| j                  }t          j        ||           d S )Nsumr;  r&   )ra   r	   rF  r;  r'   r6   r7   r/  s      r   test_reducerG    su    v//F					m00223	  H
 68,,,,,r   howra   r   c                     t          g d          } t          ||           d          }|j        }||k    sJ  t          ||           g d          }t          dddd          }t          j        ||           d S )N)r/   r0   Nsize)rJ  r:  r;        @       @      ?)r	   getattrrJ  r6   r7   )rH  r>   rD   rE   s       r   test_non_callable_aggregatesrO    s     	|||A WQ__V$$FvHX WQ__66677FsS#>>??H68,,,,,r   c                      t          dgdz            } |                     dd d g          }t          g dg d          }t          j        ||           d S )	Nrm   r1   rF  c                 *    |                                  S r   rF  r   s    r   r,   z3test_series_apply_no_suffix_index.<locals>.<lambda>  s    quuww r   c                 *    |                                  S r   rR  r   s    r   r,   z3test_series_apply_no_suffix_index.<locals>.<lambda>  s    !%%'' r   )   rT  rT  )rF  <lambda>rU  r5  )r	   r   r6   r7   r(  s      r   !test_series_apply_no_suffix_indexrV    si    sQwAWWe..0A0ABCCFlll*I*I*IJJJH68,,,,,r   c                    t          j                    \  }}t          |d         |d                   }t          |d         d d         |d         d d                   }|                    |          }|                                D ]\  }}||||                  k    sJ |                    |                                          }|                                D ]\  }}||||                  k    sJ |                     d           }t          j        || dz             t          g d          }	t          g d	d
          }
t          g d	          }t          dddt          j        gd
          }t          j        |	                    |
          |           t          dddt          j        g          }t          j        |	                    |          |           t          g d          }	t          g dt          j
        g d                    }
t          g dt          g d                    }t          t          j        dddg          }t          j        |	                    |
          |           t          t          j        dddg          }t          j        |	                    |          |           t          g d          }	t          g dd
t          j
        g d                    }
t          g dt          g d                    }t          t          j        t          j        dddgg d                    }t          j        |	                    |
          |           t          t          j        dddg          }t          j        |	                    |          |           d S )Nr  Cr5  rm   Dc                     | dz  S Nr0   r+   r   s    r   r,   ztest_map.<locals>.<lambda>  s
    1q5 r   r0   )r/   r0   r1   rm   )evenoddr\  r]  r   r   r]  r\  rX   r`   r[   d)r`   r[   r_  er/   r1   )r  rX  rY  E)r(   r)   r   )r6   getMixedTypeDictr	   r   itemsto_dictr7   r4   rJ   r|   CategoricalIndexr   r   )r=   r)   r   sourcetargetmergedkvrD   rX   r`   r[   r:   s                r   test_maprl    s   %''KE4DIT#Y///FDIbqbMc2A2777FZZF & &1F6!9%%%%%% ZZ(())F & &1F6!9%%%%%%   11F6?Q#6777 	|||A---Z@@@A---..A
%/z
B
B
BC15588S)))
%/
0
0C15588S)))###$$A|||2#67K7K7K#L#LMMMA|||5)=)=)=#>#>???A
"&!Q"
#
#C15588S)))
"&!Q"
#
#C15588S)))###$$A!"6"6"677	 	 	A
 	###51E1E1E+F+FGGGA

S#.;O;O;OPPP C 15588S)))
"&#sC(
)
)C15588S)))))r   c                 R   t          |t                    r8| j                            t          j                            d                     t          |          }|                    i           }t          t          j
        |j                  }t          j        ||           d S )Nz8Initializing a Series from a MultiIndex is not supportedr  r5  )rT   r   r  r  rp   r  r  r	   r   r4   rJ   r)   r6   r7   )r  r)   r>   rD   rE   s        r   test_map_emptyrn    s    %$$ 
KQ   	
 	
 	
 	uAUU2YYFbfAG,,,H68,,,,,r   c                      t          g dg d          } |                     ddd          }t          g dg d          }t          j        ||           d S )N)TTFr.   r5  r$   r%   )TF)r$   r$   r%   )r	   r   r6   r7   r(  s      r   test_map_compatrp    sn    """)))444AUU%..//F+++999===H68,,,,,r   c                     t          ddddd          } t          dddd	          }| j        t          j        k    sJ t	          |j        j        t          j                  sJ |                     |          }|j        t          j        k    sJ t          |d
                   sJ t          |d                   rJ d S )N      ?rL  rK  rm   r^        !   r.   r_  r[   )	r	   r(   r4   float_
issubclassr   integerr   r   )leftrightri  s      r   test_map_intr{    s    #Ca8899DrbR(())E:""""ek&
33333XXe__F<29$$$$sF3K       r   c                      t          t          d                    } |                     d           }t          |j        j        t          j                  sJ d S )Nr1   c                 6    t          j        | dk    dd          S )Nr   r/   )r4   wherer   s    r   r,   z)test_map_type_inference.<locals>.<lambda>  s    !q&!Q// r   )r	   r   r   rw  r(   r   r4   rx  )r>   s2s     r   test_map_type_inferencer    sL    uQxxA	
//	0	0BbhmRZ0000000r   c                     |                      d           }|j        t          j        k    sJ t	          |d         t
                    sJ d S )Nc                 :    t          t          |                     S r   )r   rR   r   s    r   r,   z"test_map_decimal.<locals>.<lambda>!  s    Q r   r   )r   r(   r4   object_rT   r   )r  rD   s     r   test_map_decimalr     sN    8899F<2:%%%%fQi)))))))r   c                      t          dt          j        dt          j        dg          } |                     d d          }| dz  }t	          j        ||           d S )NrM  r1   r   c                     | dz  S r[  r+   r   s    r   r,   z'test_map_na_exclusion.<locals>.<lambda>)  s
    QU r   r!   	na_actionr0   r	   r4   rJ   r   r6   r7   )r>   rD   r:   s      r   test_map_na_exclusionr  &  sW    RVQ*++AUU??hU77F
a%C63'''''r   c                      t          dg di          } ddddd}| d                             |          | d<   t          g d| j                  | d<   t	          j        | d         | d         d	
           dS )z
    Due to new MultiIndex-ing behaviour in v0.14.0,
    dicts with tuple keys passed to map were being
    converted to a multi-index, preventing tuple values
    from being mapped properly.
    rX   )rZ   )r0   )r1   rm   )r   r$  r   r  labels)r   r  r   r  r5  expected_labelsF)check_namesN)r   r   r	   r)   r6   r7   )dflabel_mappingss     r   test_map_dict_with_tuple_keysr  .  s     
C5556	7	7BsCEENc7;;~..BxL"#7#7#7rxHHHB2h<,=)>ERRRRRRr   c                      t          g dg d          } t                      }d|d<   |dxx         dz  cc<   |                     |          }t          g dg d          }t          j        ||           d S )	NrX   r`   r[   r.   r5  r   r`   r[   r/   )r   r   r/   )r	   r   r   r6   r7   )r>   counterrD   rE   s       r   test_map_counterr  ?  s    iii000AiiGGCLCLLLALLLUU7^^Fiiiyyy111H68,,,,,r   c                      t          g dg d          } t          d           }d|d<   |                     |          }t          g dg d          }t          j        ||           d S )Nr.   r  r5  c                      dS )Nblankr+   r+   r   r   r,   z&test_map_defaultdict.<locals>.<lambda>K  s    w r   stuffr/   )r  r  r  )r	   r   r   r6   r7   )r>   default_dictrD   rE   s       r   test_map_defaultdictr  I  s{    yyy000A//LLOUU<  F111IIIH68,,,,,r   c                      t          ddt          j        g          } t          g d          }|                     ddddt          j        di          }t	          j        ||           d S )Nr/   r0   r  rX   r`   r[   r  )r>   rE   rD   s      r   test_map_dict_na_keyr  R  sc     	1bf~Aooo&&HUUAsAsBFC011F68,,,,,r   r  r!   c           	         t          ddt          j        g          }t          d ddddt          j        di          }|                    ||           }t          dd| dnt          j        d          }t          j        ||           d S )	Nr/   r0   c                      dS Nmissingr+   r+   r   r   r,   z-test_map_defaultdict_na_key.<locals>.<lambda>_      i r   rX   r`   r[   r  r   r/   r0   r	   r4   rJ   r   r   r6   r7   r  r>   default_maprD   rE   s        r   test_map_defaultdict_na_keyr  [  s     	1bf~A//!S!S"&#1NOOKUU;)U44F##1B##OOPPH68,,,,,r   c                    t          ddt          j        g          }t          d dddd          }|                    ||           }t          dd| d	nt          j        d
          }t          j        ||           d S )Nr/   r0   c                      dS r  r+   r+   r   r   r,   z2test_map_defaultdict_missing_key.<locals>.<lambda>i  r  r   rX   r`   r[   r.   r  r  r  r  r  s        r    test_map_defaultdict_missing_keyr  e  s     	1bf~A//SSS1I1IJJKUU;)U44F##y7H))bfUUVVH68,,,,,r   c           	          t          ddt          j        g          }t          d ddddt          j        di          }|                                }|                    ||            ||k    sJ d S )Nr/   r0   c                      dS r  r+   r+   r   r   r,   z0test_map_defaultdict_unmutated.<locals>.<lambda>s  r  r   rX   r`   r[   r  )r	   r4   rJ   r   r   r   )r  r>   r  expected_default_maps       r   test_map_defaultdict_unmutatedr  o  s{     	1bf~A//!S!S"&#1NOOK&++--EE+E+++.......r   arg_funcc                     | ddt           j        di          }t          dt           j        dg          }|                    |d          }t          dt           j        t           j        g          }t	          j        ||           d S )Nr/   rH   *   r0   r!   r  )r4   rJ   r	   r   r6   r7   )r  mappingr   rD   rE   s        r   test_map_dict_ignore_nar  y  sy     h2rvr*++G
!RVQ
 
 CWWWW11Fr2626*++H68,,,,,r   c                      t          t          ddt          j        di          } t	          dt          j        dg          }|                    |           }t	          g d          }t          j        ||           d S )Nr/   rH   r  r0   )rH   r  r   )r   r   r4   rJ   r	   r   r6   r7   )r  r   rD   rE   s       r   test_map_defaultdict_ignore_nar    sl    #2rvr233G
!RVQ
 
 CWWWFkkk""H68,,,,,r   c                  *   t          j        dt          j        dgddg          } t	          |           }|                    ddt          j        di          }t	          dt          j        t          j        g          }t          j        ||           d S )Nr/   r0   rH   rb  r  )r|   r   r4   rJ   r	   r   r6   r7   )r   r   rD   rE   s       r   test_map_categorical_na_ignorer    sz    ^QNAw???F
..CWWaRVR())Fr2626*++H68,,,,,r   c                       G d dt                     } t          g d          } | ddi          }|                    |          }t          g d          }t          j        ||           dS )zy
    Test Series.map with a dictionary subclass that defines __missing__,
    i.e. sets a default value (GH #15999).
    c                       e Zd Zd ZdS )<test_map_dict_subclass_with_missing.<locals>.DictWithMissingc                     dS r  r+   selfkeys     r   __missing__zHtest_map_dict_subclass_with_missing.<locals>.DictWithMissing.__missing__      9r   Nr   
__module____qualname__r  r+   r   r   DictWithMissingr    #        	 	 	 	 	r   r  r.   r1   three)r  r  r  N)dictr	   r   r6   r7   )r  r>   
dictionaryrD   rE   s        r   #test_map_dict_subclass_with_missingr    s        $    	yyyA !W..JUU:F55566H68,,,,,r   c                      G d dt                     } t          g d          } | ddi          }|                    |          }t          t          j        t          j        dg          }t          j        ||           d S )Nc                       e Zd ZdS )Btest_map_dict_subclass_without_missing.<locals>.DictWithoutMissingN)r   r  r  r+   r   r   DictWithoutMissingr    s        r   r  r.   r1   r  )r  r	   r   r4   rJ   r6   r7   )r  r>   r  rD   rE   s        r   &test_map_dict_subclass_without_missingr    s        T    	yyyA##QL11JUU:Frvrvw/00H68,,,,,r   c                     t          g d          } | ddi          }|                    |          }t          t          j        t          j        dg          }t	          j        ||           d S )Nr.   r1   r  r	   r   r4   rJ   r6   r7   )non_dict_mapping_subclassr>   not_a_dictionaryrD   rE   s        r   test_map_abc_mappingr    sm     	yyyA00!W>>UU#$$Frvrvw/00H68,,,,,r   c                      G d d|           }t          g d          } |ddi          }|                    |          }t          t          j        t          j        dg          }t	          j        ||           d S )Nc                       e Zd Zd ZdS )Dtest_map_abc_mapping_with_missing.<locals>.NonDictMappingWithMissingc                     dS r  r+   r  s     r   r  zPtest_map_abc_mapping_with_missing.<locals>.NonDictMappingWithMissing.__missing__  r  r   Nr  r+   r   r   NonDictMappingWithMissingr    r  r   r  r.   r1   r  r  )r  r  r>   r  rD   rE   s         r   !test_map_abc_mapping_with_missingr    s        $=    	yyyA00!W>>UU#$$F rvrvw/00H68,,,,,r   c                     t          j        d          t          j        d          g} t          |           }|j        dk    sJ |                    d           }t          ddg          }t          j        ||           t          j        dd          t          j        dd          g} t          |           }|j        d	k    sJ |                    d
           }t          ddg          }t          j        ||           t          j        d          t          j        d          g} t          |           }|j        dk    sJ |                    d           }t          ddg          }t          j        ||           t          j        dd          t          j        dd          g} t          |           }|j        dk    sJ |                    d           }t          ddg          }t          j        ||           d S )Nr   r   r   c                 N    t          |           j         d| j         d| j         S r   r   r   s    r   r,   ztest_map_box.<locals>.<lambda>  r   r   r   r   r   r   r   c                 N    t          |           j         d| j         d| j         S r   r   r   s    r   r,   ztest_map_box.<locals>.<lambda>  r   r   r   r   r   r   r   c                 >    t          |           j         d| j         S r   r   r   s    r   r,   ztest_map_box.<locals>.<lambda>  r   r   r   r   r   r   r   c                 >    t          |           j         d| j         S r   r   r   s    r   r,   ztest_map_box.<locals>.<lambda>  r   r   r   r   r   s       r   test_map_boxr    s   L&&\(B(BCDtA7&&&&&
''@@
A
AC
$&89
:
:C3$$$ 	\l333
\l333D 	tA722222
''@@
A
AC
*,DE
F
FC3$$$ L""BL$:$:;DtA7'''''
''::
;
;C
-/
0
0C3$$$ Il---ryC/P/P/PQDtA7k!!!!
''==
>
>C
*j)
*
*C3$$$$$r   c                     t          j        t          d          t          d          d          } t          | dt          d                    }|                    d           }t          j        t          d	          t          d
          d          }t          |dt          d                    }t          j        ||           t          j        |j        |           |                    d           }t          dgdz  dt          d                    }t          j        ||           |j	        t          k    sJ d S )Nr   r   Tr   r   r   r   c                 *    |                                  S r   r   r   s    r   r,   z&test_map_categorical.<locals>.<lambda>  s    QWWYY r   r   r   c                     dS r   r+   r   s    r   r,   z&test_map_categorical.<locals>.<lambda>  s    S r   r   r   )r|   r   rU   r	   r   r6   r7   r   r   r(   r;   )r   r>   rD   r   r:   s        r   test_map_categoricalr    s   ^DOOVdSSSFvDY888AUU&&''FYDLLRVWWWJ
$d9oo
>
>
>C63'''z:::UU==!!F
#T)__
=
=
=C63'''<6!!!!!!r   c                     t          j        ddd                              d          } t          | d          }|                    d           }t          j        dd	d                              d          }t          |d          }t          j        ||           |                    d
           }t          t          t          d                    dgz   dt          j
                  }t          j        ||           d }|                    |          }t          dgdz  d          }t          j        ||           d S )Nr   r   r   r   r   r   r&   c                 D    | t           j                                        z   S r   r   r   s    r   r,   z%test_map_datetimetz.<locals>.<lambda>  s    Q!1!11 r   r   c                     | j         S r   r   r   s    r   r,   z%test_map_datetimetz.<locals>.<lambda>  s    QV r   r   r   r   c                 l    t          | t          j                  st          t	          | j                  S r   r   r   s    r   r   ztest_map_datetimetz.<locals>.f  r   r   r   )r|   r}   r   r	   r   r6   r7   rU   r   r4   r   r   s         r   test_map_datetimetzr    sI   ]<C@@@LL F 	vD!!!A UU1122F|\DDDPP J $
'
'
'C63'''UU##$$F
eBiiA3&T
B
B
BC63'''  
 UU1XXF
,"$4
0
0
0C63'''''r   zvals,mapping,expabcznot NaNr1   za letterr  c                     t          | t          j        gz             }|                    |          }t	          j        |t          |                     d S r   r  )r   r  r:   r>   rD   s        r   test_map_missing_mixedr    sG     	trvhAUU7^^F66#;;/////r   zdti,expl    ,b/ r5  r   r%  r      nperawareTFc                     |r|                      d          j        }n| j        }t          |                              d           }t	          j        ||           d S )NUTCc                 $    t          ddg          S )Nr/   r0   r6  r   s    r   r,   zCtest_apply_series_on_date_time_index_aware_series.<locals>.<lambda>A  s    61a&>> r   )r   r)   r	   r   r6   rs   )dtir:   r  r)   rD   s        r   1test_apply_series_on_date_time_index_aware_seriesr  ,  s_    "  &&,	E]]  !9!9::F&#&&&&&r   c                     t          j        d                              d          } t          | j                                      d           }t          j        |t          t          j        d          d                     d S )Nr  r  r  c                     dS rC   r+   r   s    r   r,   zCtest_apply_scalar_on_date_time_index_aware_series.<locals>.<lambda>I  s    ! r   r%  r   )	r6   makeTimeSeriesr   r	   r)   r   r7   r4   ones)r   rD   s     r   1test_apply_scalar_on_date_time_index_aware_seriesr  E  sr     B'''33E::FFL!!''44F66"'"++W#E#E#EFFFFFr   c                      t          d          } |                     d                                           }ddi}||k    sJ d S )NgUUUUUU?c                      t          |           S r   r,  )vals    r   r,   z4test_map_float_to_string_precision.<locals>.<lambda>P  s    S r   r   z0.3333333333333333)r	   r   re  )r   rD   rE   s      r   "test_map_float_to_string_precisionr  M  sP    
--CWW))**2244F'(HXr   c                     ddg} t          j        |           }t          |                               t           j                  }t	          j        t          |          |           dt          j        t           j        t           j        g}t          j        |          }t          |          }|                    t           j                  }t	          j        t          |          |           d S )Nz00:00:01z00:00:02)	r|   to_timedeltar	   r   r6   r7   r4   rJ   NaT)list_of_valid_stringsrX   r`   list_of_stringsr   s        r   test_apply_to_timedeltar  U  s    '4
-..A$%%++BO<<A6!99a(((!262626:O
((A

!
!C		"/""A6!99a(((((r   z
ops, namesrF  r;  c                      t           fdt          ||          D                       }d|_         t           |          |          }t	          j        ||           d S )Nc                 .    i | ]\  }}| |          S r+   r+   .0r'   r  r  s      r   
<dictcomp>z/test_apply_listlike_reducer.<locals>.<dictcomp>o  s)    OOO84tRR..OOOr   r   )r	   zipr'   rN  r6   r7   )r  opsnamesrH  rE   rD   s   `     r   test_apply_listlike_reducerr  c  sh     OOOOs5#OOOPPHHM(W]C((--F68,,,,,r   r
  r   r  c                      t           fd|                                D                       } j        |_         t           |          |          }t	          j        ||           d S )Nc                 .    i | ]\  }}| |          S r+   r+   r  s      r   r  z/test_apply_dictlike_reducer.<locals>.<dictcomp>  s)    KKK84tRR..KKKr   )r	   rd  r'   rN  r6   r7   )r  r
  rH  rE   rD   s   `    r   test_apply_dictlike_reducerr  u  sk     KKKKsyy{{KKKLLH!&HM(W]C((--F68,,,,,r   r8   r   c                      t          j        d          5  t           fd|D             d          }||_                             |          }t          j        ||           d d d            d S # 1 swxY w Y   d S )Nr!   r"   c                 &    g | ]} |          S r+   r+   )r  r  r  s     r   
<listcomp>z3test_apply_listlike_transformer.<locals>.<listcomp>  s#    ;;;22m,,;;;r   r/   r   )r4   r5   r
   r   r   r6   rs   )r  r
  r  rE   rD   s   `    r   test_apply_listlike_transformerr    s     
	"	"	" 0 0;;;;s;;;!DDD $$S))
fh///	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s   AA33A7:A7c                 *    t          j        d          5  t           fd|                                D                       } j        |_                             |          }t          j        ||           d d d            d S # 1 swxY w Y   d S )Nr!   r"   c                 .    i | ]\  }}| |          S r+   r+   r  s      r   r  z3test_apply_dictlike_transformer.<locals>.<dictcomp>  s)    OOOxtR4M!2!2OOOr   )r4   r5   r
   rd  r'   r   r6   r7   )r  r
  rE   rD   s   `   r   test_apply_dictlike_transformerr    s     
	"	"	" 1 1OOOO399;;OOOPP%*$$S))
vx000	1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1s   A$BBBc            	         t          dt          d          it          t          d          d                    } | j                            d           }t          dt
          j        t
          j        gddt
          j        gg dgt          t          d          d          t          t          d          d          	          }t          j        ||           d S )
Nr   r1   r&   c           	          t          t          | dz             t          t          | dz             d                    S )Nr/   yr&   )r	   r   r   r   s    r   r,   z0test_apply_retains_column_name.<locals>.<lambda>  s2    &q1uuU1q5\\PS7T7T7T"U"U r           rr  )r  rr  rL  r  )r   r)   )	r   r   r   r   r   r4   rJ   r6   rs   )r  rD   rE   s      r   test_apply_retains_column_namer    s    	Cq?E%(($=$=$=	>	>BTZZUUVVF
rvrv	c26 2OOODeAhhS)))E!HH3'''  H
 &(+++++r   c                      t          ddt          gg d          } |                     t                    }t          t          t
          t          gg d          }t          j        ||           d S )Nr1   stringr  r5  )r	   floatr   r   r   rR   r6   r7   r(  s      r   test_apply_typer    sd    8U#???;;;AWWT]]FsC&ooo>>>H68,,,,,r   )bcollectionsr   r   decimalr   r9   numpyr4   rp   pandasr|   r   r   r   r	   r
   r   r   pandas._testing_testingr6   pandas.tests.apply.commonr   r   r@   rF   rN   rW   r  parametrizerd   ru   r~   r   r   r   r   r   r   r   r  r  r"  r)  r0  r8  rD  rG  rO  rV  rl  rn  rp  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rU   rJ   r   r  DatetimeIndexrepeatr  r  r  r  r  rF  r;  arrayr  r  r8   r   r  r:   r  r  r  r+   r   r   <module>r+     s	                                                 > > > > > >	 	 	" " "0- - - " " "' ' ' "a[2Qx#fb"%5sAh7LM - -	 -, , ,(	 	 	- - -"% "% "%J( ( (8" " "$ UE26$:UE26<R#STT- - UT-& & &#H #H #HL 788 7  7 98 7F> > >0
- 
- 
-	- 	- 	-, , ,- - -$- - -  011- - 21- - - -5* 5* 5*p- - -- - -
! 
! 
!1 1 1* * *( ( (S S S"- - -- - -- - - tX&677- - 87- tX&677- - 87- tX&677/ / 87/ dF^44- - 54-- - -- - -- - -"- - -- - -- - - !% !% !%H" " " ( ( (: 	ervy)BF8a<9++EF	esJ'*1)DE	eeAhh!R2$"&A"56 0 0 0  FAq6!1!11k2B!C!CDDDIibi!Q!!444GDDD	

 B2&&&Iibi!Q"1555WEEE	
	  4-00' ' 10 'G G G  ) ) ) 
&E7
&"'	UFO,	26(		eW%	2627#	$	$ufo6	   011- - 21 - 		bff27##RV}RV"'**++	   011- - 21 - 
'VH
&"'	Z01	27)		vh'	2627#	$	$z6&:;	 0 0 0 		bggBF##RW~RW26**++	 1 1 1	, 	, 	,- - - - -r   