o
    Eh                     @   sz  d dl mZm Z  d dlZd dlZd dlmZ d dlZd dl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jde	g dg ddg dfe	g dg ddd dgfe	ddgidgfe	g deddddgfe	g dg ddg dfe	edg d g d!d"g d#fe	g dg d$gg d#d%ddgfgg d&d'd(d) Zd*d+ Zd,d- Zejd.d/d0 d1d0 d2d0 d3d0 gd4d5 Zd6d7 Z d8d9 Z!d:d; Z"d<d= Z#d>d? Z$d@dA Z%dBdC Z&dDdE Z'dFdG Z(dHdI Z)dJdK Z*ejdLdMdNgdOdP Z+dQdR Z,dSdT Z-dUdV Z.dWdX Z/dYdZ Z0ejd[dMdNgd\d] Z1d^d_ Z2d`da Z3dbdc Z4ddde Z5dfdg Z6dhdi Z7djdk Z8dldm Z9dndo Z:dpdq Z;drds Z<dtdu Z=ejdve > e >  e > ? gdwdx Z@dydz ZAejd{dNdMgd|d} ZBd~d ZCejdeDedeEd dejFddddeGg dgdd ZHejddd0 d dgddggfdd0 d dhddhgfdd0 ddgfdd0 d dddddgfdd0 d d iddigd diddiggfgdd ZIdd ZJejddd0 dd0 gdd ZKdd ZLejddd0 dd0 gejdLdMdNgdd ZMdd ZNdd ZOdd ZPdd ZQdd ZRejddMdNgdd ZSejdejTdNe	g dg dge
g deUdd%ejjVe ddddMeddgejGddgddgddggdd ZWdd ZXdd ZYdd ZZddĄ Z[ejddMdNgddƄ Z\ddȄ Z]ejdg dg dʢgdd̄ Z^ejdg dg d΢gg dg dϢgg dТg dѢggddӄ Z_ejddMgi fg ddMifgddׄ Z`ejdddgddۄ Zaejdddd0 fddd0 fdddgdd ZbejddMdNgdd Zcejdedeeefgejddddggdd ZgdS )    )datedatetimeN)using_string_dtype)	DataFrameIndex
MultiIndexSeriesbdate_range)get_groupby_method_argsc                     s   t dttdd dgd } g   fdd}d}tjt|d | d	| W d    n1 s4w   Y  t dgd dgd d
t	
dddd}t d | d S )N   
   r   )indexcolumnsc                    s     |  d S N)appendgroupgroups ?lib/python3.10/site-packages/pandas/tests/groupby/test_apply.pystore      zFtest_apply_func_that_appends_group_to_list_without_copy.<locals>.store7DataFrameGroupBy.apply operated on the grouping columnsmatchr   )r   r   d   r   )r   listrangereset_indextmassert_produces_warningFutureWarninggroupbyapplypdZ
RangeIndexassert_frame_equal)dfr   msgZexpected_valuer   r   r   7test_apply_func_that_appends_group_to_list_without_copy   s     r*   c                 C   sd   g d}t dg ditt|ddd}||jj }||jjdd }t	
|| d S )	Nz2011-05-16 00:00z2011-05-16 01:00z2011-05-16 02:00z2011-05-16 03:00z2011-05-17 02:00z2011-05-17 03:00z2011-05-17 04:00z2011-05-17 05:00z2011-05-18 02:00z2011-05-18 03:00z2011-05-18 04:00z2011-05-18 05:00value	/?ݓ?Q?j?r.   r/   r0   r1   r.   r/   r0   r1   Z	date_timenamer   c                 S      |   S r   idxmaxxr   r   r   <lambda>N       z'test_apply_index_date.<locals>.<lambda>)r   r   r&   to_datetimer$   r   r   r6   r%   r!   r'   )using_infer_stringtsr(   expectedresultr   r   r   test_apply_index_date*   s   r@   c                  C   s   g d} t dd | D ddgd}g d|d< tg d	dd
}tg d|d}d}tjt|d |jddddd }W d    n1 sGw   Y  t|| d S )Nr+   c                 S   s   g | ]}|  qS r   )split).0rowr   r   r   
<listcomp>c       z0test_apply_index_date_object.<locals>.<listcomp>r   timer   r-   r,   )z
2011-05-16z
2011-05-17z
2011-05-18r2   )z00:0002:00rH   r   r   r   F
group_keysc                 S   s   | d | d    S )NrF   r,   r5   r7   r   r   r   r9   w   rE   z.test_apply_index_date_object.<locals>.<lambda>)	r   r   r   r!   r"   r#   r$   r%   assert_series_equal)r=   r(   Zexp_idxr>   r)   r?   r   r   r   test_apply_index_date_objectR   s   rL   c                    s   t g dg ddddgd | rdnd}tj jd	d   jd	d  gd	d
|gd}d}tjt|d  jdd  jD d	d}W d    n1 sLw   Y  |	 fdd}t
|| d S )NarN   brO   rN         ?       @      @      @g      @keydatarV   rW   rG   strobjectr   float64axiskeys+DataFrame.groupby with axis=1 is deprecatedr   c                 S      g | ]}t |qS r   rX   rB   r8   r   r   r   rD      rE   z&test_apply_trivial.<locals>.<listcomp>r\   c                    s    j dd  S Nr   ilocr7   r(   r   r   r9          z$test_apply_trivial.<locals>.<lambda>)r   r&   concatre   r!   r"   r#   r$   dtypesr%   r'   r<   dtyper>   r)   gbr?   r   rf   r   test_apply_trivial|   s   ,rm   c                    s   t g dg ddddgd | rdnd}tj  gd	d
|gd}d}tjt|d  jdd  jD d	dd}W d    n1 sCw   Y  | fdd}t	|| d S )NrM   rP   rU   rV   rW   rG   rX   rY   r   rZ   r[   r^   r   c                 S   r_   r   r`   ra   r   r   r   rD      rE   z+test_apply_trivial_fail.<locals>.<listcomp>T)r\   rJ   c                    s    S r   r   r7   rf   r   r   r9          z)test_apply_trivial_fail.<locals>.<lambda>)
r   r&   rh   r!   r"   r#   r$   ri   r%   r'   rj   r   rf   r   test_apply_trivial_fail   s   ro   zdf, group_names)r   r   r         )rN   rN   rN   rO   crN   rO   r   rp   rq   r   r   r   r   )r   r   r   r   r   rN   )r   r   r   rp   rp   r   r   rp      rp   r   rp   rq   r   rp   rq   )            rv   	   )rN   twoZ
aaabbbcccc)
rq   rx   rq   rz   ry   rp   r   r|   ry   rx   )
rx   r   rp   rp   rp   r{   rv   rz   rp   rv   )rN   BCrN   rO   rr   )rp   rp   rq   rG   )ZGH2936zGH7739 & GH10519ZGH10519ZGH2656ZGH12155ZGH20084ZGH21417)Zidsc           	   	      s   g   fdd} fdd} fdd} fdd} fd	d
}|||||fD ]0} d d = d}t jt|d | jddd| W d    n1 sLw   Y   |ksWJ q'd S )Nc                    s     | j |  S r   )r   r3   copyr   namesr   r   f_copy   s   z/test_group_apply_once_per_group.<locals>.f_copyc                    s     | j | S r   r   r3   r   r   r   r   f_nocopy      z1test_group_apply_once_per_group.<locals>.f_nocopyc                    s     | j dS Nr   r   r   r   r   r   f_scalar   r   z1test_group_apply_once_per_group.<locals>.f_scalarc                    s     | j d S r   r   r   r   r   r   f_none   s   z/test_group_apply_once_per_group.<locals>.f_nonec                    s     | j tdgdgdS )Nr   rs   )r   r3   r   r   r   r   r   f_constant_df   s   z6test_group_apply_once_per_group.<locals>.f_constant_dfr   r   rN   FrI   )r!   r"   r#   r$   r%   )	r(   Zgroup_namesr   r   r   r   r   funcr)   r   r   r   test_group_apply_once_per_group   s   '
r   c                 C   s   d}t g dg ddg dd}d}tjt|d |jdd	d
dd  W d    n1 s1w   Y  |  jd}||ksDJ d S )Nrp   )r   r   r   r   r   r   r   r   )0246810Z12Z14)group_by_columnZtest_columnr   r   r   r   FrI   c                 S   s   t dS )Nfunction_called)printrf   r   r   r   r9      r:   z2test_group_apply_once_per_group2.<locals>.<lambda>r   )	r   r!   r"   r#   r$   r%   Z
readouterroutcount)Zcapsysr>   r(   r)   r?   r   r   r    test_group_apply_once_per_group2   s   r   c                  C   s   t g dtdd} dd }dd }d}tjt|d	 | jd
dd|}W d    n1 s1w   Y  tjt|d	 | jd
dd|}W d    n1 sRw   Y  t|| d S )N)r   r   r   rq   )ArO   c                 S      | S r   r   r   r   r   r   slow
     z,test_apply_fast_slow_identical.<locals>.slowc                 S   r4   r   r   r   r   r   r   fast  s   z,test_apply_fast_slow_identical.<locals>.fastr   r   r   FrI   )r   r   r!   r"   r#   r$   r%   r'   )r(   r   r   r)   Zfast_dfZslow_dfr   r   r   test_apply_fast_slow_identical  s   r   r   c                 C   r   r   r   r7   r   r   r   r9     rn   r9   c                 C   s   | d d  S r   r   r7   r   r   r   r9         c                 C      | j ddS )NFZdeepr   r7   r   r   r   r9     r   c                 C   r   )NTr   r   r7   r   r   r   r9     r   c                 C   sr   t g dg dg dd}d}tjt|d |jddd	| }W d    n1 s,w   Y  t|| d S )
Nr   rp   rp   rp   r   rp   rq   rx   )ry   rz   r{   rv   )grN   rO   r   r   r   FrI   r   r!   r"   r#   r$   r%   r'   )r   r(   r)   r?   r   r   r   5test_groupby_apply_identity_maybecopy_index_identical  s   r   c                  C   s   t tjddg dd} | jdd ddj}| j}t|| t d	g d
i} | j	d | d< | 
d  j}| j
ddd j}t|| d S )Nrp   rz   oner}   r}   threer   r}   foo1Zfoo2c                 S   r   r   r   r7   r   r   r   r9   8  rn   z-test_apply_with_mixed_dtype.<locals>.<lambda>r   rb   c1)r   rp   rz   rz   rv   rR   c2Fas_index)r   nprandomdefault_rngstandard_normalr%   ri   r!   rK   r   r$   meanr    r   )r(   r?   r>   result1result2r   r   r   test_apply_with_mixed_dtype0  s   r   c                  C   s  t g dg dtdd} | jddd}| jddd}|d	j}|d	j}tg d
}t|| t|| d}tjt	|d |
dd j}W d    n1 sVw   Y  tjt	|d |
dd j}W d    n1 suw   Y  tg d}	g d}
tj|
dd gd}t|| t||	 ttd}t dd	gd	dgddgddgd	dgg|d} d}tjt	|d | jdddd
dd j}W d    n1 sw   Y  t|| d S )N)rO   rO   rN   rr   rN   rO   )r   rp   r   r   rq   r   rz   )Zitem_iduser_idrF   r   Tr   Frp   )r   r   rp   rx   r   r   c                 S   
   |  dS Nrp   headr7   r   r   r   r9   Y     
 z-test_groupby_as_index_apply.<locals>.<lambda>c                 S   r   r   r   r7   r   r   r   r9   [  r   ))r   r   )r   rp   r   r   rp   rx   )r   r   r   rp   )rp   r   )rq   rx   r   abcder   rq   rx   ry   r   r   )r   rJ   c                 S   r   r   r   r7   r   r   r   r9   j  rn   )r   r   r$   r   r   r   r!   assert_index_equalr"   r#   r%   r   from_tuplesr   )r(   Zg_asZg_not_asZres_asZ
res_not_asexpr)   Zres_as_applyZres_not_as_applyZexp_not_as_applytpZexp_as_applyZindresr   r   r   test_groupby_as_index_applyD  s@   *r   c           	      C   s  |  ddg}dd }dd }dd }d	}tjt|d
 ||}W d    n1 s,w   Y  |jjdks9J d	}tjt|d
 ||}W d    n1 sRw   Y  |jjdks_J d	}tjt|d
 ||}W d    n1 sxw   Y  |jjdksJ d S )Nr   r~   c                 S   s   |   }d|j_|S Nstat)describer   r3   r   r?   r   r   r   descq  s   z.test_apply_concat_preserve_names.<locals>.descc                 S   s$   |   }d|j_|d t|  }|S r   )r   r   r3   lenr   r   r   r   desc2v  s   z/test_apply_concat_preserve_names.<locals>.desc2c                 S   s0   |   }dt| d|j_|d t|  }|S )NZstat_d)r   r   r   r3   r   r   r   r   desc3}  s   z/test_apply_concat_preserve_names.<locals>.desc3r   r   )r   r~   r   )r   r~   N)r$   r!   r"   r#   r%   r   r   )	Zthree_groupgroupedr   r   r   r)   r?   r   Zresult3r   r   r    test_apply_concat_preserve_namesn  s&   
r   c                  C   sz   dd } t ddd}ttjdd|d}|jdd	 d
d}|| }t|t	s,J t
|dr3J t|j|j d S )Nc                 S   sN   t jdd t | }W d    n1 sw   Y  t| | |   |dS )Nignore)Zinvalid)r,   Zdemeanedlogged)r   Zerrstatelogr   r   )Zpiecer   r   r   r   f  s   z%test_apply_series_to_frame.<locals>.fz1/1/2000r   )periodsrp   r   c                 S      | j S r   Zmonthr7   r   r   r   r9         z,test_apply_series_to_frame.<locals>.<lambda>FrI   r3   )r	   r   r   r   r   r   r$   r%   
isinstancer   hasattrr!   r   r   )r   Zdrr=   r   r?   r   r   r   test_apply_series_to_frame  s   
r   c                 C   s4   |  ddgd t}|jjd d dksJ d S )Nr   r~   r   rp   r   r~   )r$   r%   r   r   r   )r(   r?   r   r   r    test_apply_series_yield_constant  s   r   c                 C   s   d}t jt|d | ddgt}W d    n1 sw   Y  t|ts*J |jd u s1J | ddgddg t}t|tsFJ |jd u sMJ d S )Nr   r   r   r~   r   D)	r!   r"   r#   r$   r%   r   r   r   r3   )r(   r)   r?   r   r   r   test_apply_frame_yield_constant  s   r   c                 C   sz   |  ddg}d}tjt|d |t}W d    n1 s w   Y  | d }t|j|j t	|j
|j
 d S )Nr   r~   r   r   r   )r$   r!   r"   r#   r%   r   r   r   r   assert_numpy_array_equalvaluesr(   r   r)   r?   r>   r   r   r   test_apply_frame_to_series  s   r   c                 C   s   | j ddgdd}d}tjt|d |t}W d    n1 s"w   Y  | jdtj	idj
d	d}t|j|j t|j|j d S )
Nr   r~   Fr   r   r   r   rG   r   )r$   r!   r"   r#   r%   r   r   renamer   nandropr   r   r   r   r   r   r   r   )test_apply_frame_not_as_index_column_name  s   r   c                     s   dd }  fdd}t tjddddtjddddtjddd	 d
}tjt|d  	d
| }W d    n1 sGw   Y   	dd 
|}tj||dd |jdkseJ d S )Nc                 S   s    |  dd   jd d S )Nr~   r   rp   )r$   sumsort_valuesre   r   r   r   r   trans  s    z-test_apply_frame_concat_series.<locals>.transc                    s,   |   | jd }|  jd d S )Nr~   rp   )r$   reindexr   r   r   re   )r   r   rf   r   r   trans2  s   z.test_apply_frame_concat_series.<locals>.trans2rp   r   ry     r   r~   r   r   r   r   r   F)Zcheck_names)r   r   r   r   integersr   r!   r"   r#   r$   r%   rK   r3   )r   r   r)   r?   r   r   rf   r   test_apply_frame_concat_series  s   r   c                 C   s>   | j dd dd}|dd }|dd }t|| d S )Nc                 S   r   r   r   r7   r   r   r   r9     r   z&test_apply_transform.<locals>.<lambda>FrI   c                 S      | d S r   r   r7   r   r   r   r9     r:   c                 S   r   r   r   r7   r   r   r   r9     r:   )r$   r%   	transformr!   rK   )r=   r   r?   r>   r   r   r   test_apply_transform  s   r   c                 C   sP   |  dd dd g}dd }||}|D ]\}}t|j| || qd S )Nc                 S   r   r   Zyearr7   r   r   r   r9     r   z,test_apply_multikey_corner.<locals>.<lambda>c                 S   r   r   r   r7   r   r   r   r9     r   c                 S   s   |  ddd  S )Nr   r   r   r   r   r   r     s   z%test_apply_multikey_corner.<locals>.f)r$   r%   r!   r'   loc)tsframer   r   r?   rV   r   r   r   r   test_apply_multikey_corner  s   
r   rJ   TFc                 C   s   t g dtdd}d}tjt|d |jd| ddd	 }W d    n1 s+w   Y  |g d
}| rHtj	g d|j
gdd gd|_
t|| d S )N)	r   r   r   rp   rp   rp   rq   rq   rq   r|   )rV   r,   r   r   rV   rI   c                 S   s   | j d d S r   rd   r7   r   r   r   r9     rg   z'test_apply_chunk_view.<locals>.<lambda>)r   r   rq   rx   rz   r{   )r   r   rp   rp   rq   rq   r   )r   r   r!   r"   r#   r$   r%   Ztaker   from_arraysr   r'   )rJ   r(   r)   r?   r>   r   r   r   test_apply_chunk_view  s   r   c                  C   st   t g dg dtdddd} | ddg}d}tjt|d	 |d
d  W d    d S 1 s3w   Y  d S )N)
r   r   r   r   r   r   rp   rp   rp   rp   )
r   r   r   r   r   r   r   r   r   r   r|   )r3   name2r,   r3   r  r   r   c                 S      | j dddS )Nr,   Tinplacer   r7   r   r   r   r9     rg   z4test_apply_no_name_column_conflict.<locals>.<lambda>)r   r   r$   r!   r"   r#   r%   )r(   r   r)   r   r   r   "test_apply_no_name_column_conflict  s   
	"r  c                  C   s   t g dtg ddtddd} dd }d	}tjt|d
 | jddd|}W d    n1 s6w   Y  | 	 }tg dd|d< t
|| d S )NrQ   rQ   rQ   rR   rR   rR   r   rp   rQ         @r   rr   vc                 S   ,   | d }||   | |    | d< | S Nr
  v2minmaxr   r
  r   r   r   r   &      z#test_apply_typecast_fail.<locals>.fr   r   r   FrI           g      ?r   r  )r   r   tilearanger!   r"   r#   r$   r%   r   r'   )r(   r   r)   r?   r>   r   r   r   test_apply_typecast_fail  s   
r  c                  C   s   t g dg dg} tg dtg ddtddd| d	}d
d }d}tjt|d |j	ddd
|}W d    n1 sCw   Y  | }tg dd|d< t|| d S )N)r   r   r   r   r   r   rw   r  r   rp   rQ   r  r	  r   c                 S   r  r  r  r  r   r   r   r   @  r  z%test_apply_multiindex_fail.<locals>.fr   r   r   FrI   r  r  )r   r   r   r   r  r  r!   r"   r#   r$   r%   r   r'   )r   r(   r   r)   r?   r>   r   r   r   test_apply_multiindex_fail5  s    
	r  c                 C   s4   | j dd dddd }| d }t|| d S )Nc                 S   r   r   r   r7   r   r   r   r9   P  r   z#test_apply_corner.<locals>.<lambda>FrI   c                 S   r   r   r   r7   r   r   r   r9   P  r:   rp   )r$   r%   r!   r'   )r   r?   r>   r   r   r   test_apply_cornerO  s   r  c                  C   s   t g dg dg dd} dd }dd }d	}tjt|d
 | d|}W d    n1 s2w   Y  tjt|d
 | d|}W d    n1 sQw   Y  t|| d S )N)r   r      i,  )rN   rO   rr   rr   r   )id_fieldcategoryr,   c                 S   s$   | j d dkr|  S | | jdk S Nr   r   rr   )shaper   r  r7   r   r   r   filt1a  s   z&test_apply_without_copy.<locals>.filt1c                 S   s    | j d dkr	| S | | jdk S r  )r  r  r7   r   r   r   filt2g  s   z&test_apply_without_copy.<locals>.filt2r   r   r  r   )rW   r  r   r)   r>   r?   r   r   r   test_apply_without_copyU  s    r!  test_seriesc                 C   s   t ddgddgddggddgg dd}| r9|dd }|jdd	d
dd }| }| }t|| d S d}tjt|d |jdd	ddd }W d    n1 sYw   Y  |	d}|	d}t
|| d S )Nr8   poXY)r   rp   rp   r   r   r   F)levelrJ   c                 S   r   r   r   r7   r   r   r   r9   }  rn   z<test_apply_with_duplicated_non_sorted_axis.<locals>.<lambda>r   r   rI   c                 S   r   r   r   r7   r   r   r   r9     rn   )r   	set_indexr$   r%   
sort_indexr!   rK   r"   r#   r   r'   )r"  r(   serr?   r>   r)   r   r   r   *test_apply_with_duplicated_non_sorted_axisu  s     

r,  c                  C   sf   g d} g d}t ddgd | d|d}t| |dd	}d
d }|jdddj|}t|| d S )Nr   r   r   rp   rp   ZGroup1ZGroup2rp   r   r,   r   r,   r   r3   c                 S   s"   |  t| j | j d S rc   )r   r   r  r   r  r  r7   r   r   r   reindex_helper  s   "z1test_apply_reindex_values.<locals>.reindex_helperr   FrI   )r   r   r$   r,   r%   r!   rK   )r   indicesr(   r>   r0  r?   r   r   r   test_apply_reindex_values  s   r2  c                  C   s   d} t jdjdd| d}t|t jd| g d| d  d}|jd	d
d}dd }d}tjt	|d |
|}W d    n1 sGw   Y  d|v sRJ d S )Nr   rp   r   r   )size)fooZbarZbazZquxrx   )rV   value1Zvalue2rV   FrI   c                 S   s   | d d | d< | S )Nr5  rp   value3r   r   r   r   r   r     s   z"test_apply_corner_cases.<locals>.fr   r   r6  )r   r   r   r   r   r   r$   r!   r"   r#   r%   )Nlabelsr(   r   r   r)   r?   r   r   r   test_apply_corner_cases  s   r:  c                  C   s2  t ddgdgd ddgd} d}tjt|d | d	gd
d }W d    n1 s.w   Y  t| j| _d}tjt|d | d	gdd }W d    n1 sYw   Y  t	|d |d  t g dg dt
dgd d} dd }d}tjt|d | d|d }W d    n1 sw   Y  | j}| j|_t	|| dd }t g dg dg dg dd}| }t|j|_d}tjt|d |d|j}W d    n1 sw   Y  tjt|d |d|j}W d    n	1 sw   Y  t	|| d S )Nr   rp   z
2017-03-02r4  inf)NumberDateStrr   r   r<  c                 S   
   | j d S r   rd   r7   r   r   r   r9     r   z;test_apply_numeric_coercion_when_datetime.<locals>.<lambda>c                 S   r?  r   rd   r7   r   r   r   r9     r   r>  )r         )r4  3r   z12:31:22rq   )r   r~   Tc                 S   s   | j d dg S )Nr   r~   rd   r7  r   r   r   get_B  s   z8test_apply_numeric_coercion_when_datetime.<locals>.get_Br   r~   c                 S   s   t g dtd}dt| jv rt| | jdk jjd |d< dt| jv rCt| | jdk jjd |d< t| | jdk jjd |d< |S )	N)p1p2useTime)r   rk   step1r   rE  step2rF  rG  )r   rY   r   StaterX   Machiner   oTime)Ztoolr   r   r   r   predictions  s   z>test_apply_numeric_coercion_when_datetime.<locals>.predictions)r~   r~   r   r   )rH  rI  rH  rI  ) z2016-09-19 05:24:33rN  z2016-09-19 23:59:04)Z23Z36L36RrO  )KeyrJ  rL  rK  rP  )r   r!   r"   r#   r$   r%   r&   r;   r=  rK   	Timestampr~   r   r   r   rL  rE  )r(   r)   r>   r?   rD  rM  df1df2r   r   r   )test_apply_numeric_coercion_when_datetime  sT   	rT  c                  C   s   t g dtdgd d} | j| j | d< d}tjt|d | dd	d
 }W d    n1 s5w   Y  t g dt	ddgd tdgd d
d}t|| d S )Nr   z2017-02-01 00:00:00rq   )clientidr   time_delta_zeror   r   rU  c                 S   s   t | j | j dS )N)clientid_ager   )r   rV  r  r   )Zddfr   r   r   r9     s    z?test_apply_aggregating_timedelta_and_datetime.<locals>.<lambda>r   r   )rU  rW  r   )r   r   Z
datetime64r   r!   r"   r#   r$   r%   Ztimedelta64r)  r'   r(   r)   r?   r>   r   r   r   -test_apply_aggregating_timedelta_and_datetime  s*   
rY  c                  C   s~   ddgddgddgddgddgg} t | d	d
gtddd}|d	 }t g dg dd}|jd	dd t|| d S )Nr   r   r~   r@  rA  r   (   2   NameValuez
2020-09-01z
2020-09-05r'  r   )r   r[  Z   )r\  r]  Tr  )r   r&   
date_ranger$   r   r)  r!   r'   )rW   r(   r?   r>   r   r   r    test_apply_groupby_datetimeindex  s   "r`  c                  C   s  t ddd tdD d} dd }dd	 }d
}tjt|d | jdgd|}W d    n1 s4w   Y  t ddidgd}d|j_d
}tjt|d | jdgd|}W d    n1 sdw   Y  t t	
dddddddgd}d|j_t|| t|| d S )Nr   c                 S   s   g | ]}t  qS r   )r   Znow)rB   nnr   r   r   rD   +  rE   z'test_time_field_bug.<locals>.<listcomp>r   rs   c                 S   s   t ddiS )Nrr   rp   r   Zbatchr   r   r   func_with_no_date-  s   z.test_time_field_bug.<locals>.func_with_no_datec                 S   s   t tdddddS )N  r   rp   rO   rr   )r   r   rc  r   r   r   func_with_date0     z+test_time_field_bug.<locals>.func_with_dater   r   rN   Zbyrr   rp   r   re  nsrf  )r   r   r!   r"   r#   r$   r%   r   r3   r&   rQ  Zas_unitr'   )r(   rd  rg  r)   Zdfg_no_conversionZdfg_no_conversion_expectedZdfg_conversionZdfg_conversion_expectedr   r   r   test_time_field_bug%  s&   rk  c                     s`   t g dg dg dg dd} | ddg} | jddgdd	}d
d  | fdd d S )N)rN   rN   rN   rO   rO   rO   rN   rN   rN   rO   rO   rO   )rr   rr   r   r   r   err   rr   r   r   r   rl  )g?rp   rq   rx   ry   rz   rp   rx   rz   rv   r   rp   )gffffff@rv   r|   r         rv   r{   rz   ry   rx   rq   )group1group2weightr,   ro  rp  T)r(  sortc                 S   s   t | | d}|S )Nrq   )r   Zarrayrepeat)r,   rq  r   r   r   r   noddyR  s   z7test_gb_apply_list_of_unequal_len_arrays.<locals>.noddyc                    s    | j | jS r   )r,   rq  r7   rt  r   r   r9   \  rg   z:test_gb_apply_list_of_unequal_len_arrays.<locals>.<lambda>)r   r)  r$   r%   )r(   Z
df_groupedr   ru  r   (test_gb_apply_list_of_unequal_len_arraysE  s   
rv  c                  C   sv   t g dg dd} dd }d}tjt|d | d|}W d    n1 s+w   Y  t  }t|| d S )	Nru   )rv   r{   rx   ry   )r   Zrandom_varsc                 S   s   d S r   r   r7   r   r   r   	test_funcd  r   z.test_groupby_apply_all_none.<locals>.test_funcr   r   r   r   )Ztest_dfrw  r)   r?   r>   r   r   r   test_groupby_apply_all_none_  s   rx  c            
      C   s@  t g dg dd} t g dg dd}dd }d}tjt|d | d	|}W d    n1 s6w   Y  tjt|d |d	|}W d    n1 sUw   Y  tjd
d
gddggd	d gd}tjddgd
dggd	d gd}t d
d
gddgd|d}t ddgd
dgd|d}	t|| t||	 d S )N)r   r   r   rp   )r   r   rp   rq   )r   varsr   c                 S   s    | j d dk r	d S | jddg S )Nr   rp   r  )r  re   r7   r   r   r   rw  s  s   z0test_groupby_apply_none_first.<locals>.test_funcr   r   r   r   r   rp   r   rq   r   )	r   r!   r"   r#   r$   r%   r   r   r'   )
Ztest_df1Ztest_df2rw  r)   r   r   Zindex1Zindex2Z	expected1	expected2r   r   r   test_groupby_apply_none_firstn  s    r{  c                  C   s   t ddgddgd} | d}d}tjt|d |d	d
 }W d    n1 s+w   Y  tdgdtjddgdggdd gd	dd}t
|| d S )Nr   r   Zfilledempty)r,   r   r   r   r   c                 S   s   | | j dk d S )Nr   r,   )r,   r   r   r   r   r9         z7test_groupby_apply_return_empty_chunk.<locals>.<lambda>r,   r   )r3   r   )r   r$   r!   r"   r#   r%   r   r   from_productr   rK   )r(   r   r)   r?   r>   r   r   r   %test_groupby_apply_return_empty_chunk  s   
r  c                  C   sx   t d g dg dd} | jddd}|dd	 }t g d
g dd}t|| |dd	 }t|| d S )Nza a brt   rx   rz   ry   r   r   FrI   c                 S      | |    S r   r   r7   r   r   r   r9     r   z-test_apply_with_mixed_types.<locals>.<lambda>)gUUUUUU?gUUUUUU?r   )皙?g333333?rQ   r~   r   c                 S   r  r   r  r7   r   r   r   r9     r   )r   rA   r$   r   r!   r'   r%   )r(   r   r?   r>   r   r   r   test_apply_with_mixed_types  s   r  c                  C   s   t dddgitddgd} d}tjt|d | ddd }W d    n1 s,w   Y  ttdgtdggtddgdd	d}t|| d S )
NrN   r   rp   r   r   r   c                 S   r   r   r   r7  r   r   r   r9     r   z*test_func_returns_object.<locals>.<lambda>r2   )	r   r   r!   r"   r#   r$   r%   r   rK   rX  r   r   r   test_func_returns_object  s   (r  group_column_dtlikec                 C   s   t dg| gd}d}tjt|d |ddd }W d    n1 s'w   Y  t dgtdgd	dd
dgd}t|| d S )Nr4  rs   r   r   rN   c                 S   s   t dgdgdS )Nspam*   r   rb  r7   r   r   r   r9         z+test_apply_datetime_issue.<locals>.<lambda>r  rX   rk   r3   r  rG   )r   r!   r"   r#   r$   r%   r   r'   )r  r(   r)   r?   r>   r   r   r   test_apply_datetime_issue  s   
r  c               	   C   s   t tdtdtdtdtddddddddddddddd} dd }d	}tjt|d
 | d|d }W d    n1 sKw   Y  tdgtj	dgdddd}t
|| d S )Nz2015-02-24 00:00:00)r   r   rp   rq   rx   zsome UA stringzanother UA stringZ17661101)dayZ	userAgentuserIdc                 S   s   t dd |  D S )Nc                 S   s    i | ]\}}||  jd  qS )r   )value_countsr   )rB   rr   sr   r   r   
<dictcomp>  s     zYtest_apply_series_return_dataframe_groups.<locals>.most_common_values.<locals>.<dictcomp>)r   itemsrf   r   r   r   most_common_values  rh  zEtest_apply_series_return_dataframe_groups.<locals>.most_common_valuesr   r   r  r  z
2015-02-24r2   r/  )r   r&   rQ  r!   r"   r#   r$   r%   r   DatetimeIndexrK   )Ztdfr  r)   r?   r>   r   r   r   )test_apply_series_return_dataframe_groups  s<   r  r  c                 C   s   ddgd }| r"t j|g dd}t jg dg ddd}g d}ntddgdd	}d
dg}t||d|d}ttd|ttdttdd	ddg}|j
ddddd }t|| |jjddgkslJ d S )Nr   rp   ry   rt   )
categoriesr~   )r  r3   )r@     r   r2   r@  r  )r   r   r   r   )r   r~   r   r   r   F)Zobservedc                 S   r4   r   r  r7   r   r   r   r9     r:   z-test_apply_multi_level_name.<locals>.<lambda>)r&   ZCategoricalCategoricalIndexr   r   r   r  r   r   r)  r$   r%   r!   r'   r   r   )r  rO   Zexpected_indexexpected_valuesr>   r(   r?   r   r   r   test_apply_multi_level_name  s$   

"
r  c              	   C   s   t jtdddddddftdddddd	d
ftdddddddftdddddddfgg dd}d}tjt|d |ddd j	}W d    n1 sTw   Y  | rbtj
tjdnt}ttd||tj|gg dd}t|| d S )Ni  r   ZredZdarkr   re  ZgreenZstormyrp   9i  ZblueZbrightrq   r   i  Zcalmrx   Zpotato)ZobservationcolorZmoodZ	intensityZscorerG   r   r   r  c                 S   r?  r   rd   r7  r   r   r   r9     r   z;test_groupby_apply_datetime_result_dtypes.<locals>.<lambda>)Zna_valuezdatetime64[ns]r   )r   Zfrom_recordsr&   rQ  r!   r"   r#   r$   r%   ri   ZStringDtyper   r   rY   r   rk   Zint64rK   )r<   rW   r)   r?   rk   r>   r   r   r   )test_groupby_apply_datetime_result_dtypes   s$   	r  r   abcrq   Z2020r   )r   freq))rN   r   )rN   r   )rO   r   c                 C   st   t g dg dd| d}d}tjt|d |jddd	d
d }W d    n1 s-w   Y  t|| d S )Nr   r   rp   )r   r   r   r.  r   r   r   r   FrI   c                 S   r   r   r   r7   r   r   r   r9   $  rn   z8test_apply_index_has_complex_internals.<locals>.<lambda>r   )r   r(   r)   r?   r   r   r   &test_apply_index_has_complex_internals  s   r  zfunction, expected_valuesc                 C   
   | j  S r   )r   to_listr7   r   r   r   r9   +  r   c                 C      t | j S r   )setr   r  r7   r   r   r   r9   ,  rg   c                 C   r  r   )tupler   r  r7   r   r   r   r9   -  rg   )r   r   rp   rq   c                 C   s   t t| j S r   )dict	enumerater   r  r7   r   r   r   r9   /  r}  c                 C   s   dd t | j D S )Nc                 S   s   g | ]\}}||iqS r   r   )rB   nir   r   r   rD   3      z<lambda>.<locals>.<listcomp>)r  r   r  r7   r   r   r   r9   3  r  c                 C   s|   t g ddgd}d}tjt|d |d| }W d    n1 s%w   Y  t|tddgddd	}t|| d S )
N)r   r   r~   r~   r   rG   r   r   r   r~   r2   r   	r   r!   r"   r#   r$   r%   r   r   rK   )functionr  r(   r)   r?   r>   r   r   r   1test_apply_function_returns_non_pandas_non_scalar(  s   r  c                  C   s   dd } t g ddddtjgd}d}tjt|d	 |d
| }W d    n1 s.w   Y  tddgdgtjggt	g dd
dd}t
|| d S )Nc                 S   s   | d j  S )Nr~   )r   Zflattenr   r   r   r   fctD  r   z4test_apply_function_returns_numpy_array.<locals>.fct)rN   rN   rO   noner   rp   rq   r   r   r   r   rQ   rR   rS   )rN   rO   r  r2   r   )r   r   r   r!   r"   r#   r$   r%   r   r   rK   )r  r(   r)   r?   r>   r   r   r   'test_apply_function_returns_numpy_arrayB  s    r  r  c                 C   r   r   r   Zgrr   r   r   r9   R  r   c                 C   s   | j d d S rc   r   r  r   r   r   r9   R  rg   c                 C   s   t g ddgd}d}tjt|d |d| }W d    n1 s%w   Y  ttg dtg dtdd	ggtg d
ddd}t|| d S )N)
r   rp   rp   rp   r   rp   rq   r   rq   r   idrG   r   r   )r   rx   r{   r|   )r   rp   rq   ry   rz   rv   rt   r2   r   r  )r  r(   r)   r?   r>   r   r   r    test_apply_function_index_returnR  s    r  c                  C   sT   t g dg dd} | jddddd }t g d	g d
d}t|| d S )Nr   )r   rp   rx   rx   ry   rz   r   r   Fr   c                 S   r4   r   )r   r7   r   r   r   r9   h  r:   zAtest_apply_function_with_indexing_return_column.<locals>.<lambda>)r   r   r}   )rS   rT   rT   )r   r$   r%   r!   r'   )r(   r?   r>   r   r   r   /test_apply_function_with_indexing_return_column`  s   r  udfc                 C   r4   r   r   r7   r   r   r   r9   t  r:   c                 C   s   |   dd S )Nc                 S   s   | d S rc   r   )yr   r   r   r9   t  r:   z<lambda>.<locals>.<lambda>)r   r   r7   r   r   r   r9   t  r}  c                 C   s   t ddgddgd}d}tjt|d |jd| d	|}W d    n1 s)w   Y  |jj|j| d	|}| rN|jj	dksDJ |jj	dksLJ d S |jj	dksVJ |jj	dks^J d S )
NrN   rO   r   rp   r   r   r   r   rI   )
r   r!   r"   r#   r$   r%   r~   r   r   Znlevels)rJ   r  r(   r)   Z	df_resultZseries_resultr   r   r   test_apply_result_typer  s   	r  c                  C   s   t g dg dd} d}tjt|d | jdddd	d
 }W d    n1 s+w   Y  tjt|d | jddddd
 }W d    n1 sNw   Y  t|| d S )N)rp   r   rp   rt   r   r   r   r   FrI   c                 S   r   r   r   r7   r   r   r   r9     rn   z4test_result_order_group_keys_false.<locals>.<lambda>c                 S   r4   r   r   r7   r   r   r   r9     r:   r   rX  r   r   r   "test_result_order_group_keys_false  s   r  c                  C   s  dgd dgd  dgd  } t | }t j| dd}tttdd td|d	}tttdd td|d	}d
}tjt|d |jddd	dd }W d    n1 s[w   Y  tjt|d |jddd	dd }W d    n1 s~w   Y  t
|| d S )Nz
2001-01-01rp   z
2001-01-02z
2001-01-03ZUTC)Ztzrq   rz   )r8   r  tr   r   r8   FrI   c                 S      | ddg   S Nr8   r  r   rf   r   r   r   r9     r  z1test_apply_with_timezones_aware.<locals>.<lambda>c                 S   r  r  r   rf   r   r   r   r9     r  )r&   r  r   r   r   r!   r"   r#   r$   r%   r'   )ZdatesZindex_no_tzZindex_tzrR  rS  r)   r   r   r   r   r   test_apply_with_timezones_aware  s"   
  r  c                 C   s  t g dg dg dd}t ddgddgd	td
dgddd}|jdd}d}tjt|dd |jtdd}W d    n1 sCw   Y  t|| |jdd}t	| |}t
|| | }tjt|dd |jtdd}W d    n1 szw   Y  t|| d S )N)c   r  r  X   r  r  )r   rp   rq   rx   ry   rz   )r   r@  rA  rZ  r[  <   r      rz      r  rf  r  r  rN   r2   r   ri  :The behavior of DataFrame.sum with axis=None is deprecatedF)r   check_stacklevelinclude_groups)r   r   r$   r!   r"   r#   r%   r   r'   r
   getattr)Zreduction_funcr(   r>   grpr)   r?   args_r   r   r   ;test_apply_is_unchanged_when_other_methods_are_called_first  s.   
r  c               	   C   s  t g dtdddtdddtdddtdddgg ddtg dd	d
d} | ddg}d}tjt|d |dd }W d    n1 sJw   Y  | jg d }|	 }t
|g d |_|jd	d}t|| |jjd D ]
}t|tu sJ qvd S )N)rN   rN   rN   rO   i  r   r   rp   r   r   )r   e   f   g   idxr2   r   r   r~   r   r   c                 S   r   rc   r   r7   r   r   r   r9     r   zRtest_apply_with_date_in_multiindex_does_not_convert_to_timestamp.<locals>.<lambda>)r   rp   rq   )r   r~   r  rG   )r   r   r   r$   r!   r"   r#   r%   re   r    r   Z
from_framer   r   r'   Zlevelstype)r(   r  r)   r?   r>   valr   r   r   @test_apply_with_date_in_multiindex_does_not_convert_to_timestamp  s0   




r  c                  C   s   t tjdddgtddgddggd} d}tjt|d	 | j	j
d
d
d}W d    n1 s4w   Y  |dd }d}tjt|d	 | j
dd
d}W d    n1 s[w   Y  |dd }t||j	 t||  d S )Nrp   rz   rx   r   r~   r   rG   z5The 'axis' keyword in DataFrame.groupby is deprecatedr   r   r\   r(  c                 S   s   | j dddS )Nr   r  Z	droplevelr7   r   r   r   r9     rg   zDtest_apply_by_cols_equals_apply_by_rows_transposed.<locals>.<lambda>r^   c                 S   r  )Nr   r   r  r  r7   r   r   r   r9     rg   )r   r   r   r   r   r~  r!   r"   r#   rC  r$   r%   r'   )r(   r)   rl   Zby_rowsZgb2Zby_colsr   r   r   2test_apply_by_cols_equals_apply_by_rows_transposed  s    r  dropnac                 C   s   t g ddtjtjddgdtdd}d}tjt|d |jd	| d
ddd }W d    n1 s5w   Y  | r@|	 n|j
g d }t|| d S )Nr   rp   rq   rx   ry   rN   rO   )colr   Zxxyxzr   r   r   r   F)r  rJ   c                 S   r   r   r   r7   r   r   r   r9     rn   z5test_apply_dropna_with_indexed_same.<locals>.<lambda>)r   rq   r   rp   rx   )r   r   r   r   r!   r"   r#   r$   r%   r  re   r'   )r  r(   r)   r?   r>   r   r   r   #test_apply_dropna_with_indexed_same  s   r  zas_index, expected)r   r   r   )rp   rp   r   )rN   rO   N)rk   zTODO(infer_string))reason)Zmarksr   )rp   rp   rO   r   r   c                 C   sz   t g dg dg dd}d}tjt|d |jddg| dd	d
 }W d    n1 s0w   Y  t|| d S )Nr-  )r   r   r   r   r   r   r   rN   rO   r   c                 S   s   dS rc   r   r7   r   r   r   r9   ,  rn   z5test_apply_as_index_constant_lambda.<locals>.<lambda>)r   r!   r"   r#   r$   r%   Zassert_equal)r   r>   r(   r)   r?   r   r   r   #test_apply_as_index_constant_lambda  s   r  c                  C   s   t g dg dg ddtdd} d}tjt|d | d	d
d }W d    n1 s0w   Y  ttddtj	g dd	d gddd}t
|| d S )Nr  )rz   r{   rv   r|   r   )r   r   r   rp   rp   r   ry   r   r   r   r   c                 S   r  r   )r   r*  r7   r   r   r   r9   8  r   z(test_sort_index_groups.<locals>.<lambda>r   rz   )r   r   r   r  r   r   r   r/  )r   r   r!   r"   r#   r$   r%   r   r   r   rK   rX  r   r   r   test_sort_index_groups0  s    r  c                  C   s   t tjddddtdtdd} d}tjt|d | j| j	| j
jj
gd	d
dd }W d    n1 s8w   Y  t||  d S )Nz
2010-01-01Z12hry   )r  r   r   )r   Zvalsletr   r   FrI   c                 S   s   | j dd  S r   rd   r7   r   r   r   r9   P  rg   z;test_positional_slice_groups_datetimelike.<locals>.<lambda>)r   r&   r_  r   r   r!   r"   r#   r$   r  r   Zdtr%   r'   )r>   r)   r?   r   r   r   )test_positional_slice_groups_datetimelikeC  s   
r  c                  C   sr   t g dg dg dd} | d}|ddg dd	 }t d
dgddgdtddgddd}t|| d S )N)rN   rN   rO   rt   r  r   r   r~   r   c                 S   s   |  t |   S r   )Zastypefloatr  r  r7   r   r   r   r9   X  s    z7test_groupby_apply_shape_cache_safety.<locals>.<lambda>rQ   r  rR   r  rN   rO   r2   r   )r   r$   r%   r   r!   r'   )r(   rl   r?   r>   r   r   r   %test_groupby_apply_shape_cache_safetyT  s   
r  c                  C   s~   t g dg dg dd} | dddg }|dd	 }tjg d
g dgdd gd}tg d|dd}t|| d S )N)rN   rO   rN   rO   )aaacr  ad)r  r  r  r  )rN   b1b2rN   r  r  c                 S   s   |    S r   )Zunstackr  r7   r   r   r   r9   j  r   z3test_groupby_apply_to_series_name.<locals>.<lambda>)rN   rN   rO   rO   rO   )r  r  r  r  r  )Zarraysr   )rq   r   rp   r   r   r   r/  )	r   Z	from_dictr$   r%   r   r   r   r!   rK   )r(   r  r?   Zexpected_idxr>   r   r   r   !test_groupby_apply_to_series_name`  s   r  c                 C   s   t g dg dddtjtjgd}|jd| d}d}tjt|d	 |d
d }W d    n1 s4w   Y  tjt|d	 |dd }W d    n1 sRw   Y  t|| d S )Nr-  )r   r   rp   ry   r   rp   )r  r  zr  )r  r   r   c                 S   s   |  ddS )Nr   r  )nlargest)Zgrp_dfr   r   r   r9   }  r   ztest_apply_na.<locals>.<lambda>c                 S   s   | j ddddS )Nr  F)Z	ascendingr   )r   r   r7   r   r   r   r9     rE   )	r   r   r   r$   r!   r"   r#   r%   r'   )r  r(   Zdfgrpr)   r?   r>   r   r   r   test_apply_nat  s   r  c                  C   s   d} t jt| d% tg dg dtjg ddddd	d
gdd }W d    n1 s1w   Y  tddtjdddgddtjdddggg dtj	ddgd	d
gdd}t 
|| d S )Nr   r   r-  )rN  rN  rN  rN  r   r  )Zunitr   rN   rO   c                 S   r?  Nr  rd   rf   r   r   r   r9     r   z8test_apply_empty_string_nan_coerce_bug.<locals>.<lambda>r   rN  rp   rx   )r   rN  )rp   rN  r   r'  )r!   r"   r#   r   r&   r;   r$   r%   r   r   r'   )r)   r?   r>   r   r   r   &test_apply_empty_string_nan_coerce_bug  s$   

&r  index_values)rQ   rR   rS   c                 C   s   t g dg ddt| d}t dg ditg ddd	d}d
}tjt|d |ddd }W d    n1 s=w   Y  t|| d S )N)r  a2a3rt   rs   r   b_mean)rR   rS   rQ   )r  r  r  rN   r2   r   r   c                 S   s   t | d  gdgdS )NrO   r  r   )r   r   rf   r   r   r   r9     r  z0test_apply_index_key_error_bug.<locals>.<lambda>)r   r   r!   r"   r#   r$   r%   r'   )r  r?   r>   r)   r   r   r   test_apply_index_key_error_bug  s$   
r  zarg,idx)皙?333333?皙?)r  r  r  )r   rx   rq   )r  r  r  c                 C   sj   t d| i|d}d}tjt|d |jddddd }W d    n1 s(w   Y  t|| d S )	Nr  r   r   r   FrI   c                 S   r   r   r   r7   r   r   r   r9     rn   z5test_apply_nonmonotonic_float_index.<locals>.<lambda>r   )argr  r>   r)   r?   r   r   r   #test_apply_nonmonotonic_float_index  s   +r  zargs, kwargsnumeric_onlyc                 C   s>   |  d}|jdg|R i |}|jdd}t|| d S )Nr   r   T)r  )r$   r%   r   r!   r'   )r(   r  kwargsrl   r?   r>   r   r   r   test_apply_str_with_args  s   
r  r3   Z	some_namec                 C   sL   t ddg| d}|jddgdddd }t ddg| d}t|| d S )	Nr   rp   r2   rN   FrI   c                 S   r   r   r   r7   r   r   r   r9     rn   z1test_result_name_when_one_group.<locals>.<lambda>)r   r$   r%   r!   rK   )r3   r+  r?   r>   r   r   r   test_result_name_when_one_group  s   r  z
method, opr%   c                 C   r?  r  )r   rl   r   r   r   r9     r   c                 C   s   | d j d S )NrO   r   rd   r  r   r   r   r9     rg   )aggZskew)r  Zprod)r  r   c              	   C   s^   t g g d}|jddd}t|d}t|| |}tg ddtg dddd}t|| d S )	Nrs   rN   TrI   rO   rZ   r  )r3   rk   r   )r   r$   r  r   r   r!   rK   )methodopZempty_dfrl   r   r?   r>   r   r   r   test_empty_df  s   
r  r  c                 C   s   t g dg dd}|d}| rtnd }d}tj||d |jdd | d	}W d    n1 s3w   Y  t d
d
gddgdtdd
gddd}| sR|dg }t|| d S )Nr  )rq   rx   ry   rs   rN   r   r   c                 S   r4   r   r  r7   r   r   r   r9     r:   z%test_include_groups.<locals>.<lambda>r  rp   r{   ry   r   r2   r   rO   )r   r$   r#   r!   r"   r%   r   r'   )r  r(   rl   warnr)   r?   r>   r   r   r   test_include_groups  s   
&
r  r   r]   jimjoec                    s  t jd}t|dddddgd}|d|d	< || }|j |tur(d nt	}d
}t
j||ddd ||}W d    n1 sEw   Y  t|j| d}d|j d| d}	|j|dfksgJ |	 fddd}t
jt	|d |}
W d    n1 sw   Y  t
||
 t
jt	|d |fdd}W d    n1 sw   Y  t
|| |tkr|  }
|
j| ddd t
j||
dd t
t| ddt| dd d S )Nrp   r   r{   )r   rp   r  r  rG   r   Zjolier  F)r   r  Zraise_on_extra_warnings)Zsubsetzinvalid frame shape: z (expected (z, 3))rq   c                    s   t t | ddS )Nr   rb   )r  r   r7   )fnamer   r   r9   6  r}  z%test_builtins_apply.<locals>.<lambda>r   r   c                    s    | S r   r   r7   )npfuncr   r   r9   =  r:   T)r  r   )Zcheck_dtyper   rb   )r   r   r   r   r   r   r$   __name__r   r#   r!   r"   r%   r   Zdrop_duplicatesr  r'   r  r    r)  rK   r  )r]   r   Zrsr(   rl   r   r)   r?   ZngroupsZ
assert_msgr>   rz  r   )r  r  r   test_builtins_apply  s<   
(r  )hr   r   Znumpyr   ZpytestZpandas._configr   Zpandasr&   r   r   r   r   r	   Zpandas._testingZ_testingr!   Zpandas.tests.groupbyr
   r*   r@   rL   rm   ro   ZmarkZparametrizer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r!  r,  r2  r:  rT  rY  r`  rk  rv  rx  r{  r  r  r  ZtodayrF   r  r  r  r  r  Zinterval_rangeZperiod_ranger   r  r  r  r  r  r  r  r  r  r  r  r  ZparamrY   Zxfailr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r   r   <module>   sp   (*"

.
	*)

 
> 
(


		


  

	


)	

	




