o
    iAq                     @   s  d dl mZm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d Zdd Zd	d
 Z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"d*d+ Z#d,d- Z$ejd.ed/d0 Z%d1d2 Z&d3d4 Z'd5d6 Z(d7d8 Z)d9d: Z*d;d< Z+ejd=d>d?gd@dA Z,dBdC Z-dDdE Z.dFdG Z/dHdI Z0dJdK Z1dLdM Z2dNdO Z3dPdQ Z4dRdS Z5dTdU Z6dVdW Z7dXdY Z8ejdZe9egd[d\ Z:d]d^ Z;d_d` Z<dadb Z=dcdd Z>dedf Z?dgdh Z@didj ZAdkdl ZBdmdn ZCejdoeDdpejEdqiejEgdr dqg feDdpddsidsgejEgdr  feDeFdrd dtidtgejEgdr  fgdudv ZGejdweddgeHd dxgdyeejIddggdd dzd{d|fejJd}d~eejIddggd}d dzd{d|fgejdddgdd ZKdd ZLdd ZMdd ZNejdejOgdgfejOejPgddgfeQejOgdgfeQejOejPgddgfgejd=d>d?gdd ZRejddejOiejOejPdedejOieejOejPdgejd=d>d?gdd ZSejdejTgdgfejUejTgddgfeQejTgdgfeQejUejTgddgfgdd ZVejddejTiejTejWdedejTieejTejWdgdd ZXdd ZYdd ZZdS )    )CounterdefaultdictN)	DataFrameIndex
MultiIndexSeriesconcatisnatimedelta_range)series_transform_kernelsc                  C   s@   t tdddd} dd }| | | | t| | d S )Nz	1 day 1 s   h)periodsfreqc                 S      |   S N)total_secondsx r   _/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/pandas/tests/apply/test_series_apply.pyf   s   z(test_series_map_box_timedelta.<locals>.f)r   r
   mapapplyr   applymap)serr   r   r   r   test_series_map_box_timedelta   s
   

r   c                 C   s  t jdd& t| t jt |  dd l}t| |jt |  W d    n1 s/w   Y  tt	dt
g ddd}|dd	 }t|| ||usRJ |j|ju sZJ |j|jksbJ |j|jksjJ tg d
t jd}|dd	 }t|| d S )Nignoreallr   foobarname)dtyper#   indexc                 S      | S r   r   r   r   r   r   <lambda>.       ztest_apply.<locals>.<lambda>         r%   r$   c                 S   r&   r   r   r   r   r   r   r'   9   r(   )nperrstatetmassert_series_equalr   sqrtmathexpr   objectr   r%   r$   r#   float64)datetime_seriesr3   srsr   r   r   
test_apply#   s   	r:   c                  C   sd   t ddg} dd }| |}| |}t|| t g d} | |}| |}t|| d S )Nr*   r+   c                 S   s   | | d fS Nr*   r   r   r   r   r   r   @   s   z/test_apply_same_length_inference_bug.<locals>.fr)   )r   r   r   r0   r1   )r8   r   resultexpectedr   r   r   $test_apply_same_length_inference_bug=   s   



r>   c                  C   s8   t tjd} dd }| j|dd}|jtksJ d S )N
   c                 S   s   | dkr| S t jS )Nr   )r.   nanr   r   r   r   r   P   s   z(test_apply_dont_convert_dtype.<locals>.fF)convert_dtype)r   r.   randomrandnr   r$   r5   )r8   r   r<   r   r   r   test_apply_dont_convert_dtypeM   s   rD   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r8   r<   r   r   r   test_apply_argsW   s   
rL   zargs, kwargs, incrementr   ar*   )r+   r,       r*   cr+      c                 C   sH   ddd}t ddg}|j|dg| R i |}|| }t|| d S )Nr   c                 S   s   | | d|  d|  S )Nr?   d   r   )r   rM   brP   r   r   r   r   e   s   ztest_agg_args.<locals>.fr*   r+   )r   r   r   )r   aggr0   r1   )rF   kwargs	incrementr   r8   r<   r=   r   r   r   test_agg_args_   s
   
rW   c                  C   s2   t tjddd} dd }| | | | d S )Nz1/1/2000r?   )r   c                 S   s   | j | j| jfS r   )hourdaymonthr   r   r   r   funcr   s   z,test_series_map_box_timestamps.<locals>.func)r   pd
date_ranger   r   )r   r[   r   r   r   test_series_map_box_timestampsn   s   
r^   c                 C   sV   t g dg d| d}t g d| d}||}t dddtjg| d}t|| d S )	N)catdograbbit)id1id2id3)datar%   r$   )rd   rc   rb   id7000)re   r$   ra   r`   r_   )r   r   r\   NAr0   r1   )any_string_dtypeser1ser2r<   r=   r   r   r   test_series_map_stringdtypez   s   
rk   c                  C   T  t dt dg} t| }|jdksJ |dd }tddg}t|| t jddd	t jddd	g} t| }|jd
ksAJ |dd }tddg}t|| t dt dg} t| }|jdksiJ |dd }tddg}t|| t jdddt jdddg} t| }|jdksJ |dd }tddg}t|| d S )N
2011-01-01
2011-01-02datetime64[ns]c                 S      t | j d| j d| j S N_type__name__rY   tzr   r   r   r   r'          z test_apply_box.<locals>.<lambda>Timestamp_1_NoneTimestamp_2_None
US/Easternrv   datetime64[ns, US/Eastern]c                 S   rp   rq   rs   r   r   r   r   r'      rw   Timestamp_1_US/EasternTimestamp_2_US/Eastern1 days2 daystimedelta64[ns]c                 S      t | j d| j S rq   rt   ru   daysr   r   r   r   r'          Timedelta_1Timedelta_2Mr   	Period[M]c                 S   r   rq   rt   ru   freqstrr   r   r   r   r'      r   Period_M	r\   	Timestampr   r$   r   r0   r1   	TimedeltaPeriodvalsr8   resr4   r   r   r   test_apply_box   s4   r   c                  C   s   t jddddd} t| dd}|dd	 }t jdd
ddd}t|dd}t|| |dd	 }tttddg dt	j
d}t|| dd }||}tdgd dd}t|| d S )Nrm   rn   Hr   
Asia/TokyoXXr"   c                 S      | t j  S r   r\   offsetsDayr   r   r   r   r'          z'test_apply_datetimetz.<locals>.<lambda>
2011-01-03c                 S      | j S r   rX   r   r   r   r   r'             r   r#   r$   c                 S      t | tjstt| jS r   rI   r\   r   
ValueErrorrG   rv   r   r   r   r   r         
z test_apply_datetimetz.<locals>.f   )r\   r]   tz_localizer   r   r0   r1   rJ   ranger.   int64r   valuesr8   r<   
exp_valuesr4   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}|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 )NABBABCDDCBAT
categoriesorderedr   abcdefgr#   r%   c                 S   r   r   lowerr   r   r   r   r'          z(test_apply_categorical.<locals>.<lambda>abbabcddcbac                 S      dS NAr   r   r   r   r   r'      r(   r      )r\   CategoricalrJ   r   r   r0   r1   assert_categorical_equalr   r$   r5   )r   r   r<   r4   r   r   r   test_apply_categorical   s   r   seriesz1-1z1-2c                 C   sR   t | dd}|dd }|t}t ddtjgdd}|t}t|| d S )Ncategoryr$   c                 S   s   |  dd S )N-r   )rH   r   r   r   r   r'      r   z8test_apply_categorical_with_nan_values.<locals>.<lambda>1)r   r   astyper5   r.   NaNr0   r1   )r   r8   r<   r=   r   r   r   &test_apply_categorical_with_nan_values   s   

r   c                  C   s6   t g tjdddtd} | dd }t||  d S )Nz
2018-01-01r   )startr   r-   c                 S   r&   r   r   r   r   r   r   r'      r(   zEtest_apply_empty_integer_series_with_datetime_index.<locals>.<lambda>)r   r\   r]   intr   r0   r1   rK   r   r   r   3test_apply_empty_integer_series_with_datetime_index   s   r   c                 C   s2  t jdd t | }t | }| t j}| }t|| | t jg}|  }dg|_	t
|| | dg}t
|| t||gdd}ddg|_	| t jt jg}t
|| t||gdd}ddg|_	| d	}| t jt jd
}t||| W d    d S 1 sw   Y  d S )Nr   r   r2   r*   axisabsoluter    r!   r   )r    r!   )r.   r/   r2   absr   copyr0   r1   to_framecolumnsassert_frame_equalr   unstackrenamereindex_like)string_seriesf_sqrtf_absr<   r=   r   r   r   test_transform   s,   



"r   opc                 C   s  | dv r|j tjjt|  dd tdtg }|dg}d|  d}t	j
t|d || dg}W d    n1 s?w   Y  t	|| |d	di}d
}t	j
t|d || dd}W d    n1 smw   Y  t	|| |d	dgi}d
}t	j
t|d || gdgd}W d    n1 sw   Y  t	|| d}t	j
t|d |dg| gd}W d    n1 sw   Y  d|  d}t	j
t|d || dg| gd}W d    n1 sw   Y  t	|| d S )N)ffillbfillpadbackfillshiftz is successful on any dtype)raisesreasonr,   r   z\['z"'\] did not transform successfullymatchBz&\['A'\] did not transform successfullyr   r   z&\['B'\] did not transform successfully)node
add_markerpytestmarkxfailAssertionErrorr   r5   	transformr0   assert_produces_warningFutureWarningassert_equal)r   requestr   r=   r   r<   r   r   r   test_transform_partial_failure  sD   
r   c                  C   s  d} dd }dd }t dtg }||g}tjt| d |||g}W d    n1 s0w   Y  t|| |d|i}tjt| d |||d	}W d    n1 s\w   Y  t|| |d|gi}tjt| d ||g|gd	}W d    n1 sw   Y  t|| ||g|gd	}tjt| d |||g|gd	}W d    n1 sw   Y  t|| d S )
Nz .*did not transform successfullyc                 S   r&   r   r   r   r   r   r   noopB     z7test_transform_partial_failure_valueerror.<locals>.noopc                 S   s   t r   )r   )rr   r   r   r   
raising_opE  r   z=test_transform_partial_failure_valueerror.<locals>.raising_opr,   r   r   r   )r   r5   r   r0   r   r   r   )r   r   r   r   r=   r<   r   r   r   )test_transform_partial_failure_valueerror>  s0   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   rT   r0   r1   r8   r<   r=   r   r   r   	test_demo_  s   r   c                 C   sL   |  dd }| dd }t|| |  t}| t}t|| d S )Nc                 S      t | S r   rG   r   r   r   r   r'   o  r   z:test_agg_apply_evaluate_lambdas_the_same.<locals>.<lambda>c                 S   r   r   r   r   r   r   r   r'   p  r   )r   rT   r0   r1   rG   r   r<   r=   r   r   r   (test_agg_apply_evaluate_lambdas_the_samel  s   

r  c                 C   sJ   |  dd }t| | d d}t|| | dd }t|| d S )Nc                 S      t | | d gddgdS Nr+   r   x^2r%   r   r   r   r   r   r'   {      z)test_with_nested_series.<locals>.<lambda>r+   )r   r  c                 S   r  r  r  r   r   r   r   r'     r  )r   r   r0   r   rT   )r7   r<   r=   r   r   r   test_with_nested_seriesx  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   
   |  dS )Ng      ?quantiler   r   r   r   r'        
 z)test_replicate_describe.<locals>.<lambda>medianc                 S   r  )Ng      ?r  r   r   r   r   r'     r  r   )r	  r
  r  r   z25%z50%z75%r   )describer   r0   r1   )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"   )rT   r   r  r
  r#   r0   r1   r   r   r   r   test_reduce  s   r  howrT   r   c                 C   s^   t g d}t|| d}|j}||ksJ t|| g d}t dddd}t|| d S )N)r*   r+   Nsize)r  r	  r
        @       @      ?)r   getattrr  r0   r1   )r  r8   r<   r=   r   r   r   test_non_callable_aggregates  s   r  c                  C   sJ   t dgd } | ddd dd g}t g dg dd}t|| d S )	N   r,   r  c                 S   r   r   )r  r   r   r   r   r'     r   z3test_series_apply_no_suffix_index.<locals>.<lambda>)   r  r  )r  <lambda>r  r  )r   r   r0   r1   r   r   r   r   !test_series_apply_no_suffix_index  s   r  c                 C   sZ  t  \}}t|d |d d}t|d d d |d d d d}||}| D ]\}}||||  ks9J q+|| }| D ]\}}||||  ksSJ qE| dd }t || d  tg d	}	tg d
dd}
tg d
}tdddtjgdd}t |	|
| tdddtjg}t |	|| tg d}	tg d	t	
g dd}
tg d	tg dd}ttjdddg}t |	|
| ttjdddg}t |	|| tg d}	tg ddt	
g dd}
tg dtg dd}tt	jtjdddgg dd}t |	|
| ttjdddg}t |	|| d S )Nr   Cr  r  Dc                 S      | d S Nr+   r   r   r   r   r   r'     r   ztest_map.<locals>.<lambda>r+   )r*   r+   r,   r  )evenoddr$  r%  r   r   r%  r$  rM   rS   rP   d)rS   rP   r'  er*   r,   )r   r   r!  E)r$   r%   r   )r0   getMixedTypeDictr   r   itemsto_dictr1   r.   r@   r\   CategoricalIndexr   r   )r7   r%   re   sourcetargetmergedkvr<   rM   rS   rP   r4   r   r   r   test_map  sL   $
r4  c                 C   sR   t |tr| jtjjdd t|}|i }tt	j
|jd}t|| d S )Nz8Initializing a Series from a MultiIndex is not supported)r   r  )rI   r   r   r   r   r   r   r   r   r.   r@   r%   r0   r1   )r   r%   r8   r<   r=   r   r   r   test_map_empty  s   

r5  c                  C   sH   t g dg dd} | ddd}t g dg dd}t|| d S )N)TTFr)   r  r    r!   )TF)r    r    r!   )r   r   r0   r1   r   r   r   r   test_map_compat  s   r6  c                  C   s   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s0J t|d
 s8J t|d r@J d S )N      ?r  r  r  r&        !   r)   r'  rP   )	r   r$   r.   float_
issubclassrt   integerr   r	   )leftrightr1  r   r   r   test_map_int	  s   
r@  c                  C   s2   t td} | dd }t|jjtjsJ d S )Nr,   c                 S   s   t | dkddS )Nr   r*   )r.   wherer   r   r   r   r'     s    z)test_map_type_inference.<locals>.<lambda>)r   r   r   r<  r$   rt   r.   r=  )r8   s2r   r   r   test_map_type_inference  s   rC  c                    sD   ddl m  |  fdd}|jtjksJ t|d  s J d S )Nr   Decimalc                    s    t | S r   r   r   rD  r   r   r'         z"test_map_decimal.<locals>.<lambda>)decimalrE  r   r$   r.   object_rI   )r   r<   r   rD  r   test_map_decimal  s   rI  c                  C   s@   t dtjdtjdg} | jdd dd}| d }t|| d S )	Nr  r,   r   c                 S   r"  r#  r   r   r   r   r   r'   '  r   z'test_map_na_exclusion.<locals>.<lambda>r   	na_actionr+   r   r.   r@   r   r0   r1   )r8   r<   r4   r   r   r   test_map_na_exclusion$  s   rM  c                  C   sb   t dg di} ddddd}| d || d< tg d| jd| d< tj| d | 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.
    rM   )rO   )r+   )r,   r  )r   r   r   r   labels)r   r   r   r   r  expected_labelsF)check_namesN)r   r   r   r%   r0   r1   )dflabel_mappingsr   r   r   test_map_dict_with_tuple_keys,  s
   rS  c                  C   s`   t g dg dd} t }d|d< |d  d7  < | |}t g dg dd}t|| d S )	NrM   rS   rP   r)   r  r   rS   rP   r*   )r   r   r*   )r   r   r   r0   r1   )r8   counterr<   r=   r   r   r   test_map_counter=  s   
rV  c                  C   sV   t g dg dd} tdd }d|d< | |}t g dg dd}t|| d S )	Nr)   rT  r  c                   S   r   )Nblankr   r   r   r   r   r'   I  r(   z&test_map_defaultdict.<locals>.<lambda>stuffr*   )rX  rW  rW  )r   r   r   r0   r1   )r8   default_dictr<   r=   r   r   r   test_map_defaultdictG  s   
rZ  c                  C   sD   t ddtjg} t g d}| ddddtjdi}t|| d S )Nr*   r+   rT  rM   rS   rP   rL  )r8   r=   r<   r   r   r   test_map_dict_na_keyP  s   r[  arg_funcc                 C   sR   | ddt jdi}tdt jdg}|j|dd}tdt jt jg}t|| d S )Nr*   r?   *   r+   r   rJ  )r.   r@   r   r   r0   r1   )r\  mappingr   r<   r=   r   r   r   test_map_dict_ignore_naY  s
   r_  c                  C   sJ   t tddtjdi} tdtjdg}|| }tg d}t|| d S )Nr*   r?   r]  r+   )r?   r   r   )r   r   r.   r@   r   r   r0   r1   )r^  r   r<   r=   r   r   r   test_map_defaultdict_ignore_nac  s
   
r`  c                  C   sX   t jdtjdgddgd} t| }|ddtjdi}tdtjtjg}t|| d S )Nr*   r+   r?   r*  r]  )r\   r   r.   r@   r   r   r0   r1   )r   r   r<   r=   r   r   r   test_map_categorical_na_ignorel  s
   ra  c                  C   sN   G dd dt } tg d}| ddi}||}tg d}t|| 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d ZdS )z<test_map_dict_subclass_with_missing.<locals>.DictWithMissingc                 S   r   Nmissingr   selfkeyr   r   r   __missing__|  r   zHtest_map_dict_subclass_with_missing.<locals>.DictWithMissing.__missing__Nru   
__module____qualname__rh  r   r   r   r   DictWithMissing{      rl  r)   r,   three)rd  rd  rn  N)dictr   r   r0   r1   )rl  r8   
dictionaryr<   r=   r   r   r   #test_map_dict_subclass_with_missingu  s   
rq  c                  C   sT   G dd dt } tg d}| ddi}||}ttjtjdg}t|| d S )Nc                   @   s   e Zd ZdS )zBtest_map_dict_subclass_without_missing.<locals>.DictWithoutMissingN)ru   rj  rk  r   r   r   r   DictWithoutMissing  s    rr  r)   r,   rn  )ro  r   r   r.   r@   r0   r1   )rr  r8   rp  r<   r=   r   r   r   &test_map_dict_subclass_without_missing  s   
rs  c                 C   sD   t g d}| ddi}||}t tjtjdg}t|| d S )Nr)   r,   rn  r   r   r.   r@   r0   r1   )non_dict_mapping_subclassr8   not_a_dictionaryr<   r=   r   r   r   test_map_abc_mapping  s
   
rw  c                 C   sT   G dd d| }t g d}|ddi}||}t tjtjdg}t|| d S )Nc                   @   rb  )zDtest_map_abc_mapping_with_missing.<locals>.NonDictMappingWithMissingc                 S   r   rc  r   re  r   r   r   rh    r   zPtest_map_abc_mapping_with_missing.<locals>.NonDictMappingWithMissing.__missing__Nri  r   r   r   r   NonDictMappingWithMissing  rm  rx  r)   r,   rn  rt  )ru  rx  r8   rv  r<   r=   r   r   r   !test_map_abc_mapping_with_missing  s   
ry  c                  C   rl   )Nrm   rn   ro   c                 S   rp   rq   rs   r   r   r   r   r'     rw   ztest_map_box.<locals>.<lambda>rx   ry   rz   r{   r|   c                 S   rp   rq   rs   r   r   r   r   r'     rw   r}   r~   r   r   r   c                 S   r   rq   r   r   r   r   r   r'     r   r   r   r   r   r   c                 S   r   rq   r   r   r   r   r   r'     r   r   r   r   r   r   r   test_map_box  s4   rz  c                  C   s   t jtdtddd} t| dtdd}|dd	 }t jtd
tddd}t|dtdd}t|| t|j| |dd	 }tdgd dtdd}t|| |j	t
ks^J d S )Nr   r   Tr   r   r   r   c                 S   r   r   r   r   r   r   r   r'     r   z&test_map_categorical.<locals>.<lambda>r   r   c                 S   r   r   r   r   r   r   r   r'     r(   r   r   )r\   r   rJ   r   r   r0   r1   r   r   r$   r5   )r   r8   r<   r   r4   r   r   r   test_map_categorical  s   r{  c                  C   s   t jddddd} t| dd}|dd	 }t jdd
ddd}t|dd}t|| |dd	 }tttddg dt	j
d}t|| dd }||}tdgd dd}t|| d S )Nrm   rn   r   r   r   r   r"   c                 S   r   r   r   r   r   r   r   r'     r   z%test_map_datetimetz.<locals>.<lambda>r   c                 S   r   r   r   r   r   r   r   r'     r   r   r   r   c                 S   r   r   r   r   r   r   r   r     r   ztest_map_datetimetz.<locals>.fr   )r\   r]   r   r   r   r0   r1   rJ   r   r.   r   r   r   r   r   test_map_datetimetz  s"   
r|  zvals,mapping,expabcznot NaNr,   za letterr]  c                 C   s.   t | tjg }||}t|t | d S r   rL  )r   r^  r4   r8   r<   r   r   r   test_map_missing_mixed  s   

r~  zdti,expl    ,b/ r  r   r   r      nperawareTFc                 C   s:   |r	|  dj}n| j}t|dd }t|| d S )NUTCc                 S   s   t ddgS )Nr*   r+   r  r   r   r   r   r'   #  rF  zCtest_apply_series_on_date_time_index_aware_series.<locals>.<lambda>)r   r%   r   r   r0   r   )dtir4   r  r%   r<   r   r   r   1test_apply_series_on_date_time_index_aware_series  s
   r  c                  C   sD   t jddd} t| jdd }t |ttddd d S )Nr  r  r  c                 S   r   r;   r   r   r   r   r   r'   +  r(   zCtest_apply_scalar_on_date_time_index_aware_series.<locals>.<lambda>r   r   )	r0   makeTimeSeriesr   r   r%   r   r1   r.   ones)r   r<   r   r   r   1test_apply_scalar_on_date_time_index_aware_series'  s   r  c                  C   s2   t d} | dd  }ddi}||ksJ d S )NgUUUUUU?c                 S   r   r   r   )valr   r   r   r'   2  r   z4test_map_float_to_string_precision.<locals>.<lambda>r   z0.3333333333333333)r   r   r-  )r   r<   r=   r   r   r   "test_map_float_to_string_precision/  s   r  c                  C   s   ddg} t | }t| t j}tt|| dtjt jt jg}t |}tj	t
dd t|}W d    n1 s=w   Y  |t j}tt|| d S )Nz00:00:01z00:00:02zInferring timedelta64r   )r\   to_timedeltar   r   r0   r1   r.   r@   NaTr   r   )list_of_valid_stringsrM   rS   list_of_stringsr   r   r   r   test_apply_to_timedelta7  s   


r  z
ops, namesr  r
  c                    s@   t  fddt||D }d|_t ||}t|| d S )Nc                       i | ]	\}}|| qS r   r   .0r#   r   r   r   r   
<dictcomp>R      z/test_apply_listlike_reducer.<locals>.<dictcomp>r   )r   zipr#   r  r0   r1   )r   opsnamesr  r=   r<   r   r  r   test_apply_listlike_reducerF  s   r  r  r   r   c                    s@   t  fdd| D } j|_t ||}t|| d S )Nc                    r  r   r   r  r  r   r   r  d  r  z/test_apply_dictlike_reducer.<locals>.<dictcomp>)r   r,  r#   r  r0   r1   )r   r  r  r=   r<   r   r  r   test_apply_dictlike_reducerX  s   r  r2   r   c                    sh   t jdd$ t fdd|D dd}||_ |}t|| W d    d S 1 s-w   Y  d S )Nr   r   c                    s   g | ]}| qS r   r   )r  r   r  r   r   
<listcomp>v  s    z3test_apply_listlike_transformer.<locals>.<listcomp>r*   r   )r.   r/   r   r   r   r0   r   )r   r  r  r=   r<   r   r  r   test_apply_listlike_transformerj  s   
"r  c                    sj   t jdd% t fdd| D } j|_ |}t|| W d    d S 1 s.w   Y  d S )Nr   r   c                    r  r   r   r  r  r   r   r    r  z3test_apply_dictlike_transformer.<locals>.<dictcomp>)r.   r/   r   r,  r#   r   r0   r1   )r   r  r=   r<   r   r  r   test_apply_dictlike_transformer|  s   
"r  c                  C   s   t dtdittddd} | jdd }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'     s   " z0test_apply_retains_column_name.<locals>.<lambda>        r7  )r  r7  r  r  )r   r%   )	r   r   r   r   r   r.   r@   r0   r   )rQ  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,   stringrT  r  )r   floatr   rt   r   rG   r0   r1   r   r   r   r   test_apply_type  s   
r  )[collectionsr   r   numpyr.   r   pandasr\   r   r   r   r   r   r	   r
   pandas._testing_testingr0   pandas.tests.apply.commonr   r   r:   r>   rD   rL   r   parametrizerW   r^   rk   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r4  r5  r6  r@  rC  rI  rM  rS  rV  rZ  r[  ro  r_  r`  ra  rq  rs  rw  ry  rz  r{  r|  rJ   r@   r   r~  DatetimeIndexrepeatr  r  r  r  r  r  r
  arrayr  r  r2   r   r  r4   r  r  r  r   r   r   r   <module>   s    $	
*
% 

'
'!
	8
		
			
$ "

		
		
		