U
    sVcAq                     @   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   |   S N)total_secondsx r   H/tmp/pip-unpacked-wheel-xj8nt62q/pandas/tests/apply/test_series_apply.pyf   s    z(test_series_map_box_timedelta.<locals>.f)r   r
   mapapplyr   Zapplymap)serr   r   r   r   test_series_map_box_timedelta   s
    

r   c              	   C   s   t jddB t| t jt |  dd l}t| |jt |  W 5 Q R X tt	dt
g ddd}|dd	 }t|| ||k	st|j|jkst|j|jkst|j|jksttd
ddgt jd}|dd	 }t|| d S )Nignoreallr   foobarname)dtyper!   indexc                 S   s   | S r   r   r   r   r   r   <lambda>.       ztest_apply.<locals>.<lambda>         r#   r"   c                 S   s   | S r   r   r   r   r   r   r$   9   r%   )nperrstatetmassert_series_equalr   sqrtmathexpr   objectr   AssertionErrorr#   r"   r!   Zfloat64)datetime_seriesr/   srsr   r   r   
test_apply#   s    $r6   c                  C   sf   t ddg} dd }| |}| |}t|| t dddg} | |}| |}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   r,   r-   )r4   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s4t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)Zconvert_dtype)r   r*   randomZrandnr   r"   r1   r2   )r4   r   r8   r   r   r   test_apply_dont_convert_dtypeM   s    r>   c                  C   sD   t dg} | jtjdd}|d ddgks.tt|d ts@td S )Nzfoo,bar),)argsr   r   r   )r   r   strsplitr2   
isinstancelistr4   r8   r   r   r   test_apply_argsW   s    
rF   zargs, kwargs, incrementr   ar&   )r'   r(       r&   cr'      c                 C   sB   ddd}t ddg}|j|df| |}|| }t|| d S )Nr   c                 S   s   | | d|  d|  S )Nr;   d   r   )r   rG   brJ   r   r   r   r   e   s    ztest_agg_args.<locals>.fr&   r'   )r   r   r   )r   aggr,   r-   )r@   kwargs	incrementr   r4   r8   r9   r   r   r   test_agg_args_   s
    
rQ   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   rU   r   r   r   test_series_map_box_timestampsn   s    
rX   c                 C   s^   t dddgdddg| d}t ddddg| d	}||}t dddtjg| d	}t|| d S )
NcatZdogZrabbitZid1Zid2Zid3)datar#   r"   Zid7000)rZ   r"   )r   r   rV   ZNAr,   r-   )Zany_string_dtypeZser1Zser2r8   r9   r   r   r   test_series_map_stringdtypez   s    
r[   c                  C   sV  t dt dg} t| }|jdks*t|dd }tddg}t|| t jddd	t jddd	g} t| }|jd
kst|dd }tddg}t|| t dt dg} t| }|jdkst|dd }tddg}t|| t j	dddt j	dddg} t| }|jdks,t|dd }tddg}t|| d S )N
2011-01-01
2011-01-02datetime64[ns]c                 S   s   t | j d| j d| j S N_type__name__rS   tzr   r   r   r   r$      r%   z test_apply_box.<locals>.<lambda>Timestamp_1_NoneTimestamp_2_None
US/Easternrd   datetime64[ns, US/Eastern]c                 S   s   t | j d| j d| j S r_   ra   r   r   r   r   r$      r%   Timestamp_1_US/EasternTimestamp_2_US/Eastern1 days2 daystimedelta64[ns]c                 S   s   t | j d| j S r_   rb   rc   daysr   r   r   r   r$      r%   Timedelta_1Timedelta_2Mr   	Period[M]c                 S   s   t | j d| j S r_   rb   rc   Zfreqstrr   r   r   r   r$      r%   Period_M
rV   	Timestampr   r"   r2   r   r,   r-   Z	TimedeltaZPeriodvalsr4   resr0   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 )Nr\   r]   Hrt   
Asia/TokyoXXr    c                 S   s   | t j  S r   rV   offsetsZDayr   r   r   r   r$      r%   z'test_apply_datetimetz.<locals>.<lambda>
2011-01-03c                 S   s   | j S r   rR   r   r   r   r   r$      r%      r   r!   r"   c                 S   s   t | tjstt| jS r   rC   rV   ry   
ValueErrorrA   rd   r   r   r   r   r      s    z test_apply_datetimetz.<locals>.f   )rV   rW   tz_localizer   r   r,   r-   rD   ranger*   int64r   valuesr4   r8   
exp_valuesr0   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std S )NABBABCDDCBAT
categoriesZorderedr   abcdefgr!   r#   c                 S   s   |   S r   lowerr   r   r   r   r$      r%   z(test_apply_categorical.<locals>.<lambda>abbabcddcbac                 S   s   dS NAr   r   r   r   r   r$      r%   r      )rV   CategoricalrD   r   r   r,   r-   assert_categorical_equalr   r"   r1   r2   )r   r   r8   r0   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   )rB   r   r   r   r   r$      r%   z8test_apply_categorical_with_nan_values.<locals>.<lambda>1)r   r   Zastyper1   r*   NaNr,   r-   )r   r4   r8   r9   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   s   | S r   r   r   r   r   r   r$      r%   zEtest_apply_empty_integer_series_with_datetime_index.<locals>.<lambda>)r   rV   rW   intr   r,   r-   rE   r   r   r   3test_apply_empty_integer_series_with_datetime_index   s    r   c              	   C   s  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 5 Q R X d S )Nr   r   r.   r&   Zaxisabsoluter   r   r   )r   r   )r*   r+   r.   absr   copyr,   r-   Zto_framecolumnsassert_frame_equalr   ZunstackrenameZreindex_like)string_seriesZf_sqrtZf_absr8   r9   r   r   r   test_transform   s*    



r   opc              	   C   s  | dkr&|j tjjt|  dd tdtg }|dg}d|  d}t	j
t|d || dg}W 5 Q R X t	|| |d	di}d
}t	j
t|d || dd}W 5 Q R X t	|| |d	dgi}d
}t	j
t|d || gdgd}W 5 Q R X t	|| d}t	j
t|d |dg| gd}W 5 Q R X d|  d}t	j
t|d || dg| gd}W 5 Q R X t	|| d S )N)ZffillZbfillpadZbackfillshiftz is successful on any dtype)Z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xfailr2   r   r1   	transformr,   assert_produces_warningFutureWarningassert_equal)r   requestr   r9   r   r8   r   r   r   test_transform_partial_failure  s<      r   c               	   C   sD  d} dd }dd }t dtg }||g}tjt| d |||g}W 5 Q R X t|| |d|i}tjt| d |||d	}W 5 Q R X t|| |d|gi}tjt| d ||g|gd	}W 5 Q R X t|| ||g|gd	}tjt| d |||g|gd	}W 5 Q R X t|| d S )
Nz .*did not transform successfullyc                 S   s   | S r   r   r   r   r   r   noopB  s    z7test_transform_partial_failure_valueerror.<locals>.noopc                 S   s   t d S r   )r   )r`   r   r   r   
raising_opE  s    z=test_transform_partial_failure_valueerror.<locals>.raising_opr(   r   r   r   )r   r1   r   r,   r   r   r   )r   r   r   r   r9   r8   r   r   r   )test_transform_partial_failure_valueerror>  s(     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   rN   r,   r-   r4   r8   r9   r   r   r   	test_demo_  s    r   c                 C   sL   |  dd }| dd }t|| |  t}| t}t|| d S )Nc                 S   s   t | S r   rA   r   r   r   r   r$   o  r%   z:test_agg_apply_evaluate_lambdas_the_same.<locals>.<lambda>c                 S   s   t | S r   r   r   r   r   r   r$   p  r%   )r   rN   r,   r-   rA   r   r8   r9   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   s   t | | d gddgdS Nr'   r   x^2r#   r   r   r   r   r   r$   {  r%   z)test_with_nested_series.<locals>.<lambda>r'   )r   r   c                 S   s   t | | d gddgdS r   r   r   r   r   r   r$     r%   )r   r   r,   r   rN   )r3   r8   r9   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   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   r9   r8   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    )rN   r   r   r   r!   r,   r-   r   r   r   r   test_reduce  s    r   howrN   r   c                 C   sb   t ddd g}t|| d}|j}||ks.tt|| dddg}t dddd	}t|| d S )
Nr&   r'   sizer   r         @       @      ?)r   r   r   )r   getattrr   r2   r,   r-   )r   r4   r8   r9   r   r   r   test_non_callable_aggregates  s    r   c                  C   sN   t dgd } | ddd dd g}t dddgdddgd}t|| d S )	N   r(   r   c                 S   s   |   S r   )r   r   r   r   r   r$     r%   z3test_series_apply_no_suffix_index.<locals>.<lambda>   z<lambda>r   )r   r   r,   r-   r   r   r   r   !test_series_apply_no_suffix_index  s    r   c              	   C   s  t  \}}t|d |d d}t|d d d |d d d d}||}| D ]\}}||||  ksVtqV|| }| D ]\}}||||  kstq| dd }t || d  td	dd
dg}	tddddgdd}
tddddg}tdddtj	gdd}t |	|
| tdddtj	g}t |	|| tddddg}	td	dd
dgt
ddddgd}
td	dd
dgtddddgd}ttj	d	dd
g}t |	|
| ttj	d	dd
g}t |	|| tddddg}	tddddgdt
ddddgd}
tddddgtddddgd}tt
jtj	dddgddddgd}t |	|
| ttj	dddg}t |	|| d S )Nr   Cr   r   Dc                 S   s   | d S Nr'   r   r   r   r   r   r$     r%   ztest_map.<locals>.<lambda>r'   r&   r(   ZevenZoddr   r   rG   rM   rJ   deE)r"   r#   r   )r,   ZgetMixedTypeDictr   r   itemsr2   to_dictr-   r*   r<   rV   ZCategoricalIndexr   r   )r3   r#   rZ   sourcetargetmergedkvr8   rG   rM   rJ   r0   r   r   r   test_map  sL    $
" 
 r   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   )rC   r   r   r   r   r   r   r   r   r*   r<   r#   r,   r-   )r   r#   r4   r8   r9   r   r   r   test_map_empty  s    

r   c                  C   sP   t dddgdddgd} | ddd	}t dddgdddgd}t|| d S )
NTFr&   r'   r(   r   r   r   )TF)r   r   r,   r-   r   r   r   r   test_map_compat  s    r   c                  C   s   t ddddd} t dddd	}| jtjks2tt|jjtjsFt| |}|jtjks`tt	|d
 sptt	|d rtd S )N      ?r   r   r   )rG   rM   rJ   r         !   )r&   r'   r(   r   rJ   )
r   r"   r*   Zfloat_r2   
issubclassrb   integerr   r	   )leftrightr   r   r   r   test_map_int	  s    
r  c                  C   s2   t td} | dd }t|jjtjs.td S )Nr(   c                 S   s   t | dkddS )Nr   r&   )r*   wherer   r   r   r   r$     r%   z)test_map_type_inference.<locals>.<lambda>)	r   r   r   r   r"   rb   r*   r   r2   )r4   s2r   r   r   test_map_type_inference  s    r  c                    sD   ddl m  |  fdd}|jtjks.tt|d  s@td S )Nr   Decimalc                    s    t | S r   r   r   r  r   r   r$     r%   z"test_map_decimal.<locals>.<lambda>)decimalr  r   r"   r*   Zobject_r2   rC   )r   r8   r   r  r   test_map_decimal  s    r  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   s   | d S r   r   r   r   r   r   r$   '  r%   z'test_map_na_exclusion.<locals>.<lambda>r   Z	na_actionr'   r   r*   r<   r   r,   r-   )r4   r8   r0   r   r   r   test_map_na_exclusion$  s    r  c                  C   sj   t dddddgi} ddddd}| d || d	< tddddg| 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.
    rG   rI   r'   r(   r   r   r   r   r   )rI   r  r  r  labelsr   Zexpected_labelsF)Zcheck_namesN)r   r   r   r#   r,   r-   )dfZlabel_mappingsr   r   r   test_map_dict_with_tuple_keys,  s
    r  c                  C   sh   t dddgdddgd} t }d|d< |d  d7  < | |}t d	ddgdddgd}t|| d S )
NrG   rM   rJ   r&   r'   r(   r   r   r   )r   r   r   r,   r-   )r4   counterr8   r9   r   r   r   test_map_counter=  s    
r  c                  C   s^   t dddgdddgd} tdd	 }d
|d< | |}t d
ddgdddgd}t|| d S )Nr&   r'   r(   rG   rM   rJ   r   c                   S   s   dS )Nblankr   r   r   r   r   r$   I  r%   z&test_map_defaultdict.<locals>.<lambda>stuffr  )r   r   r   r,   r-   )r4   Zdefault_dictr8   r9   r   r   r   test_map_defaultdictG  s    
r  c                  C   sF   t ddtjg} t dddg}| ddddtjdi}t|| d S )Nr&   r'   rG   rM   rJ   r
  )r4   r9   r8   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   r	  )r*   r<   r   r   r,   r-   )r  mappingr   r8   r9   r   r   r   test_map_dict_ignore_naY  s
    r  c                  C   sL   t tddtjdi} tdtjdg}|| }tdddg}t|| d S )Nr&   r;   r  r'   r   )r   r   r*   r<   r   r   r,   r-   )r  r   r8   r9   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  )rV   r   r*   r<   r   r   r,   r-   )r   r   r8   r9   r   r   r   test_map_categorical_na_ignorel  s
    r  c                  C   sR   G dd dt } tdddg}| ddi}||}tdddg}t|| dS )	zy
    Test Series.map with a dictionary subclass that defines __missing__,
    i.e. sets a default value (GH #15999).
    c                   @   s   e Zd Zdd ZdS )z<test_map_dict_subclass_with_missing.<locals>.DictWithMissingc                 S   s   dS Nmissingr   selfkeyr   r   r   __missing__|  s    zHtest_map_dict_subclass_with_missing.<locals>.DictWithMissing.__missing__Nrc   
__module____qualname__r#  r   r   r   r   DictWithMissing{  s   r'  r&   r'   r(   threer  N)dictr   r   r,   r-   )r'  r4   
dictionaryr8   r9   r   r   r   #test_map_dict_subclass_with_missingu  s    
r+  c                  C   sV   G dd dt } tdddg}| 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)rc   r%  r&  r   r   r   r   DictWithoutMissing  s   r,  r&   r'   r(   r(  )r)  r   r   r*   r<   r,   r-   )r,  r4   r*  r8   r9   r   r   r   &test_map_dict_subclass_without_missing  s    
r-  c                 C   sF   t dddg}| ddi}||}t tjtjdg}t|| d S )Nr&   r'   r(   r(  r   r   r*   r<   r,   r-   )non_dict_mapping_subclassr4   not_a_dictionaryr8   r9   r   r   r   test_map_abc_mapping  s
    
r1  c                 C   sV   G dd d| }t dddg}|ddi}||}t tjtjdg}t|| d S )Nc                   @   s   e Zd Zdd ZdS )zDtest_map_abc_mapping_with_missing.<locals>.NonDictMappingWithMissingc                 S   s   dS r  r   r   r   r   r   r#    s    zPtest_map_abc_mapping_with_missing.<locals>.NonDictMappingWithMissing.__missing__Nr$  r   r   r   r   NonDictMappingWithMissing  s   r2  r&   r'   r(   r(  r.  )r/  r2  r4   r0  r8   r9   r   r   r   !test_map_abc_mapping_with_missing  s    
r3  c                  C   sV  t dt dg} t| }|jdks*t|dd }tddg}t|| t jddd	t jddd	g} t| }|jd
kst|dd }tddg}t|| t dt dg} t| }|jdkst|dd }tddg}t|| t j	dddt j	dddg} t| }|jdks,t|dd }tddg}t|| d S )Nr\   r]   r^   c                 S   s   t | j d| j d| j S r_   ra   r   r   r   r   r$     r%   ztest_map_box.<locals>.<lambda>re   rf   rg   rh   ri   c                 S   s   t | j d| j d| j S r_   ra   r   r   r   r   r$     r%   rj   rk   rl   rm   rn   c                 S   s   t | j d| j S r_   ro   r   r   r   r   r$     r%   rq   rr   rs   rt   ru   c                 S   s   t | j d| j S r_   rv   r   r   r   r   r$     r%   rw   rx   rz   r   r   r   test_map_box  s4    r4  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std S )Nr   r   Tr   r   r   r   c                 S   s   |   S r   r   r   r   r   r   r$     r%   z&test_map_categorical.<locals>.<lambda>r   r   c                 S   s   dS r   r   r   r   r   r   r$     r%   r   r   )rV   r   rD   r   r   r,   r-   r   r   r"   r1   r2   )r   r4   r8   r   r0   r   r   r   test_map_categorical  s    r5  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 )Nr\   r]   r~   rt   r   r   r    c                 S   s   | t j  S r   r   r   r   r   r   r$     r%   z%test_map_datetimetz.<locals>.<lambda>r   c                 S   s   | j S r   r   r   r   r   r   r$     r%   r   r   r   c                 S   s   t | tjstt| jS r   r   r   r   r   r   r     s    ztest_map_datetimetz.<locals>.fr   )rV   rW   r   r   r   r,   r-   rD   r   r*   r   r   r   r   r   test_map_datetimetz  s"    
r6  zvals,mapping,expabcznot NaNr(   za letterr  c                 C   s.   t | tjg }||}t|t | d S r   r
  )r{   r  r0   r4   r8   r   r   r   test_map_missing_mixed  s    

r8  zdti,expl    ,b/ r   r   r   r      Z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$   #  r%   zCtest_apply_series_on_date_time_index_aware_series.<locals>.<lambda>)r   r#   r   r   r,   r   )Zdtir0   r;  r#   r8   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 )Nr9  r:  r<  c                 S   s   dS r7   r   r   r   r   r   r$   +  r%   zCtest_apply_scalar_on_date_time_index_aware_series.<locals>.<lambda>r   r   )	r,   makeTimeSeriesr   r   r#   r   r-   r*   Zones)r   r8   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.td S )NgUUUUUU?c                 S   s   t | S r   r   )valr   r   r   r$   2  r%   z4test_map_float_to_string_precision.<locals>.<lambda>r   z0.3333333333333333)r   r   r   r2   )r   r8   r9   r   r   r   "test_map_float_to_string_precision/  s    rA  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 5 Q R X |t j}tt|| d S )Nz00:00:01z00:00:02zInferring timedelta64r   )rV   Zto_timedeltar   r   r,   r-   r*   r<   ZNaTr   r   )Zlist_of_valid_stringsrG   rM   Zlist_of_stringsr   r   r   r   test_apply_to_timedelta7  s    

rB  z
ops, namesr   r   c                    s@   t  fddt||D }d|_t ||}t|| d S )Nc                    s   i | ]\}}|| qS r   r   .0r!   r   r   r   r   
<dictcomp>R  s      z/test_apply_listlike_reducer.<locals>.<dictcomp>r   )r   zipr!   r   r,   r-   )r   opsnamesr   r9   r8   r   rE  r   test_apply_listlike_reducerF  s    rJ  rH  r   r   c                    s@   t  fdd| D } j|_t ||}t|| d S )Nc                    s   i | ]\}}|| qS r   r   rC  rE  r   r   rF  d  s      z/test_apply_dictlike_reducer.<locals>.<dictcomp>)r   r   r!   r   r,   r-   )r   rH  r   r9   r8   r   rE  r   test_apply_dictlike_reducerX  s    rK  r.   r   c              	      sR   t jdd< t fdd|D dd}||_ |}t|| W 5 Q R X d S )Nr   r   c                    s   g | ]}| qS r   r   )rD  r   rE  r   r   
<listcomp>v  s     z3test_apply_listlike_transformer.<locals>.<listcomp>r&   r   )r*   r+   r   r   r   r,   r   )r   rH  rI  r9   r8   r   rE  r   test_apply_listlike_transformerj  s
    
rM  c              	      sT   t jdd> t fdd| D } j|_ |}t|| W 5 Q R X d S )Nr   r   c                    s   i | ]\}}|| qS r   r   rC  rE  r   r   rF    s      z3test_apply_dictlike_transformer.<locals>.<dictcomp>)r*   r+   r   r   r!   r   r,   r-   )r   rH  r9   r8   r   rE  r   test_apply_dictlike_transformer|  s
    
rN  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dddg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>g        r   r   rO  )r   r#   )	r   r   r   r   r   r*   r<   r,   r   )r  r8   r9   r   r   r   test_apply_retains_column_name  s     rP  c                  C   sJ   t ddtgdddgd} | t}t tttgdddgd}t|| d S )Nr(   stringrG   rM   rJ   r   )r   floatr   rb   r   rA   r,   r-   r   r   r   r   test_apply_type  s    
rS  )[collectionsr   r   Znumpyr*   r   ZpandasrV   r   r   r   r   r   r	   r
   Zpandas._testingZ_testingr,   Zpandas.tests.apply.commonr   r   r6   r:   r>   rF   r   ZparametrizerQ   rX   r[   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r)  r  r  r  r+  r-  r1  r3  r4  r5  r6  rD   r<   r   r8  ZDatetimeIndexrepeatr>  r=  r?  rA  rB  r   r   arrayrJ  rK  r.   r   rM  r0   rN  rP  rS  r   r   r   r   <module>   s   $	
*
% 

'
'!
	8
		
			
$ "

			
		
	