a
    PfK                     @   sX  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 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.d/ d0d/ d1d/ d2d/ gd3d4 Zd5d6 Zd7d8 Zd9d: Z d;d< Z!d=d> Z"d?d@ Z#dAdB Z$dCdD Z%dEdF Z&dGdH Z'dIdJ Z(ejdKdLdMgdNdO Z)dPdQ Z*dRdS Z+dTdU Z,dVdW Z-dXdY Z.ejdZdLdMgd[d\ Z/d]d^ Z0d_d` Z1dadb Z2dcdd Z3dedf Z4dgdh Z5didj Z6dkdl Z7dmdn Z8dodp Z9dqdr Z:dsdt Z;ejdue < e <  e < = gdvdw Z>dxdy Z?ejdzdMdLgd{d| Z@d}d~ ZAejdeBedeCd dejDdddde	Eg dgdd ZFejddd/ d dgddggfdd/ d dhddhgfdd/ ddgfdd/ d dddddgfdd/ d d iddigd diddiggfgdd ZGdd ZHejddd/ dd/ gdd ZIdd ZJejddd/ dd/ gejdKdLdMgdd ZKdd ZLdd ZMdd ZNdd ZOdd ZPejddLdMgdd ZQejddMeg dg dgeg deRdd$gdLe
ddge	jEddgddgddggdd ZSdd ZTdd ZUdd ZVdd ZWejddLdMgdd ZXddĄ ZYejdg dg dƢgddȄ ZZejdg dg dʢgg dg dˢgg d̢g d͢ggddτ Z[ejddLgi fg ddLifgddӄ Z\ejdddgddׄ Z]ejdddd/ fddd/ fdddgdd Z^ejddLdMgdd Z_ejde`eaebgejddddggdd ZcdS )    )datedatetimeN)	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 sh0    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 X/var/www/ai-form-bot/venv/lib/python3.9/site-packages/pandas/tests/groupby/test_apply.pystore   s    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DeprecationWarning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-   r.   r/   r,   r-   r.   r/   	date_timenamer   c                 S   s   |   S r   idxmaxxr   r   r   <lambda>L       z'test_apply_index_date.<locals>.<lambda>)r   r   r$   to_datetimer"   r   r   r4   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< | r6d	nt}tg d
|dd}tg d|d}d}tjt|d( |jddddd }W d    n1 s0    Y  t	|| d S )Nr)   c                 S   s   g | ]}|  qS r   )split).0rowr   r   r   
<listcomp>a   r8   z0test_apply_index_date_object.<locals>.<listcomp>r   timer   r+   r*   zstring[pyarrow_numpy])z
2011-05-16z
2011-05-17z
2011-05-18dtyper2   )z00:0002:00rG   r   r   r   F
group_keysc                 S   s   | d | d    S )NrC   r*   r3   r5   r   r   r   r7   x   r8   z.test_apply_index_date_object.<locals>.<lambda>)
r   objectr   r   r   r    r!   r"   r#   assert_series_equal)r:   r;   r&   rF   Zexp_idxr<   r'   r=   r   r   r   test_apply_index_date_objectP   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 s0    Y  |	 fdd}t
|| d S )NarN   brO   rN         ?       @      @      @g      @keydatarV   rW   rD   stringrJ   r
   float64axiskeys+DataFrame.groupby with axis=1 is deprecatedr   c                 S   s   g | ]}t |qS r   strr@   r6   r   r   r   rB      r8   z&test_apply_trivial.<locals>.<listcomp>r[   c                    s    j dd  S Nr
   ilocr5   r&   r   r   r7      r8   z$test_apply_trivial.<locals>.<lambda>)r   r$   concatrd   r   r    FutureWarningr"   dtypesr#   r%   r:   rF   r<   r'   gbr=   r   re   r   test_apply_trivial}   s    ,8rk   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 s0    Y  | fdd}t	|| d S )NrM   rP   rU   rV   rW   rD   rX   rJ   r
   rY   rZ   r]   r   c                 S   s   g | ]}t |qS r   r^   r`   r   r   r   rB      r8   z+test_apply_trivial_fail.<locals>.<listcomp>T)r[   rI   c                    s    S r   r   r5   re   r   r   r7      r8   z)test_apply_trivial_fail.<locals>.<lambda>)
r   r$   rf   r   r    rg   r"   rh   r#   r%   ri   r   re   r   test_apply_trivial_fail   s    :rl   zdf, group_names)r
   r
   r
         )rN   rN   rN   rO   crN   rO   r
   rm   rn   r   r   r
   r
   )r   r
   r   r
   r
   rN   )r
   r
   r
   rm   rm   r
   r
   rm      rm   r
   rm   rn   r
   rm   rn   )            rs   	   )rN   twoZ
aaabbbcccc)
rn   ru   rn   rw   rv   rm   r
   ry   rv   ru   )
ru   r   rm   rm   rm   rx   rs   rw   rm   rs   )rN   BCrN   rO   ro   )rm   rm   rn   rD   )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 ]`} d d = d}t jt|d$ | jddd| W d    n1 s0    Y   |ksNJ qNd S )Nc                    s     | j |  S r   )r   r2   copyr   namesr   r   f_copy   s    z/test_group_apply_once_per_group.<locals>.f_copyc                    s     | j | S r   r   r2   r   r   r   r   f_nocopy   s    z1test_group_apply_once_per_group.<locals>.f_nocopyc                    s     | j dS Nr   r   r   r   r   r   f_scalar   s    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
   rp   )r   r2   r   r   r   r   r   f_constant_df   s    z6test_group_apply_once_per_group.<locals>.f_constant_dfr   r   rN   FrH   )r   r    r!   r"   r#   )	r&   Zgroup_namesr   r   r   r   r   funcr'   r   r   r   test_group_apply_once_per_group   s    '
2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 sb0    Y  |  jd}||ksJ d S )Nrm   )r   r   r   r   r
   r
   r
   r
   )0246810Z12Z14)group_by_columnZtest_columnr   r   r   r   FrH   c                 S   s   t dS )Nfunction_called)printre   r   r   r   r7      r8   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 sb0    Y  tjt|d	$ | jd
dd|}W d    n1 s0    Y  t|| d S )N)r   r   r
   rn   )ArO   c                 S   s   | S r   r   r   r   r   r   slow  s    z,test_apply_fast_slow_identical.<locals>.slowc                 S   s   |   S r   r~   r   r   r   r   fast  s    z,test_apply_fast_slow_identical.<locals>.fastr   r   r   FrH   )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    22r   r   c                 C   s   | S r   r   r5   r   r   r   r7     r8   r7   c                 C   s   | d d  S r   r   r5   r   r   r   r7     r8   c                 C   s   | j ddS )NFdeepr   r5   r   r   r   r7     r8   c                 C   s   | j ddS )NTr   r   r5   r   r   r   r7      r8   c                 C   sr   t g dg dg dd}d}tjt|d$ |jddd	| }W d    n1 sX0    Y  t|| d S )
Nr
   rm   rm   rm   r
   rm   rn   ru   )rv   rw   rx   rs   )grN   rO   r   r   r   FrH   r   r   r    r!   r"   r#   r%   )r   r&   r'   r=   r   r   r   5test_groupby_apply_identity_maybecopy_index_identical  s
    2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 )Nrm   rw   onerz   rz   threer   rz   foo1Zfoo2c                 S   s   | S r   r   r5   r   r   r   r7   9  r8   z-test_apply_with_mixed_dtype.<locals>.<lambda>r
   ra   c1)r
   rm   rw   rw   rs   rR   c2Fas_index)r   nprandomdefault_rngstandard_normalr#   rh   r   rK   r   r"   meanr   r   )r&   r=   r<   result1result2r   r   r   test_apply_with_mixed_dtype1  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 s0    Y  tjt	|d  |
dd j}W d    n1 s0    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 s0    Y  t|| d S )N)rO   rO   rN   ro   rN   rO   )r
   rm   r
   r
   rn   r
   rw   )Zitem_iduser_idrC   r   Tr   Frm   )r   r
   rm   ru   r   r   c                 S   s
   |  dS Nrm   headr5   r   r   r   r7   Z  r8   z-test_groupby_as_index_apply.<locals>.<lambda>c                 S   s
   |  dS r   r   r5   r   r   r   r7   \  r8   ))r   r   )r   rm   r
   r
   rm   ru   )r
   r   r
   rm   )rm   r
   )rn   ru   r   abcder
   rn   ru   rv   r   r   )r   rI   c                 S   s   | S r   r   r5   r   r   r   r7   k  r8   )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_applyindresr   r   r   test_groupby_as_index_applyE  s:    ..*<r   c           	      C   s  |  ddg}dd }dd }dd }d	}tjt|d
 ||}W d    n1 sX0    Y  |jjdksrJ d	}tjt|d
 ||}W d    n1 s0    Y  |jjdksJ d	}tjt|d
 ||}W d    n1 s0    Y  |jjdksJ d S )Nr   r{   c                 S   s   |   }d|j_|S Nstat)describer   r2   r   r=   r   r   r   descr  s    z.test_apply_concat_preserve_names.<locals>.descc                 S   s$   |   }d|j_|d t|  }|S r   )r   r   r2   lenr   r   r   r   desc2w  s    z/test_apply_concat_preserve_names.<locals>.desc2c                 S   s0   |   }dt| d|j_|d t|  }|S )NZstat_d)r   r   r   r2   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_nameso  s     
(((r   c                  C   sz   dd } t ddd}ttjdd|d}|jdd	 d
d}|| }t|t	sXJ t
|drfJ t|j|j d S )Nc                 S   sN   t jdd t | }W d    n1 s,0    Y  t| | |   |dS )Nignore)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   )periodsrm   r   c                 S   s   | j S r   monthr5   r   r   r   r7     r8   z,test_apply_series_to_frame.<locals>.<lambda>FrH   r2   )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s0J d S )Nr   r{   r|   rm   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<0    Y  t|tsTJ |jd u sbJ | ddgddg t}t|tsJ |jd u sJ d S )Nr   r   r   r{   r|   D)	r   r    r!   r"   r#   r   r   r   r2   )r&   r'   r=   r   r   r   test_apply_frame_yield_constant  s    2r   c                 C   sz   |  ddg}d}tjt|d |t}W d    n1 s@0    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 sD0    Y  | jdtj	idj
d	d}t|j|j t|j|j d S )
Nr   r{   Fr   r   r   r|   rD   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 s0    Y   	dd 
|}tj||dd |jdksJ d S )Nc                 S   s    |  dd   jd d S )Nr{   r|   rm   )r"   sumsort_valuesrd   r   r   r   r   trans  s    z-test_apply_frame_concat_series.<locals>.transc                    s,   |   | jd }|  jd d S )Nr{   rm   )r"   reindexr   r   r   rd   )r   r   re   r   r   trans2  s    z.test_apply_frame_concat_series.<locals>.trans2rm   r   rv     r   r{   r|   r   r   r   r|   F)Zcheck_names)r   r   r   r   integersr   r   r    r!   r"   r#   rK   r2   )r   r   r'   r=   r   r   re   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   s   | j S r   r   r5   r   r   r   r7     r8   z&test_apply_transform.<locals>.<lambda>FrH   c                 S   s   | d S r   r   r5   r   r   r   r7     r8   c                 S   s   | d S r   r   r5   r   r   r   r7     r8   )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   s   | j S r   yearr5   r   r   r   r7     r8   z,test_apply_multikey_corner.<locals>.<lambda>c                 S   s   | j S r   r   r5   r   r   r   r7     r8   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   rI   TFc                 C   s   t g dtdd}d}tjt|d( |jd| ddd	 }W d    n1 sV0    Y  |g d
}| rtj	g d|j
gdd gd|_
t|| d S )N)	r
   r
   r
   rm   rm   rm   rn   rn   rn   ry   )rV   r*   r   r   rV   rH   c                 S   s   | j d d S r   rc   r5   r   r   r   r7     r8   z'test_apply_chunk_view.<locals>.<lambda>)r   r
   rn   ru   rw   rx   )r
   r
   rm   rm   rn   rn   r   )r   r   r   r    r!   r"   r#   Ztaker   from_arraysr   r%   )rI   r&   r'   r=   r<   r   r   r   test_apply_chunk_view  s    6r   c                  C   sr   t g dg dtdddd} | ddg}d}tjt|d	 |d
d  W d    n1 sd0    Y  d S )N)
r
   r
   r
   r
   r
   r
   rm   rm   rm   rm   )
r   r   r   r
   r
   r
   r   r   r
   r
   ry   )r2   name2r*   r2   r   r   r   c                 S   s   | j dddS )Nr*   Tinplacer   r5   r   r   r   r7     r8   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 sl0    Y  | 	 }tg dd|d< t
|| d S )NrQ   rQ   rQ   rR   rR   rR   r}   rm   rQ         @r   ro   vc                 S   s,   | d }||   | |    | d< | S Nr  v2minmaxr   r  r   r   r   r   '  s     z#test_apply_typecast_fail.<locals>.fr   r   r   FrH           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    
2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 s0    Y  | }tg dd|d< t|| d S )N)r   r   r   r
   r
   r
   rt   r   r}   rm   rQ   r   r   r   c                 S   s,   | d }||   | |    | d< | S r  r  r  r   r   r   r   A  s     z%test_apply_multiindex_fail.<locals>.fr   r   r   FrH   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_fail6  s    
	2r  c                 C   s4   | j dd dddd }| d }t|| d S )Nc                 S   s   | j S r   r   r5   r   r   r   r7   Q  r8   z#test_apply_corner.<locals>.<lambda>FrH   c                 S   s   | d S r   r   r5   r   r   r   r7   Q  r8   rm   )r"   r#   r   r%   )r   r=   r<   r   r   r   test_apply_cornerP  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 sd0    Y  tjt|d
  | d|}W d    n1 s0    Y  t|| d S )N)r   r      i,  )rN   rO   ro   ro   r   )id_fieldcategoryr*   c                 S   s(   | j d dkr|  S | | jdk S d S Nr   r
   ro   )shaper~   r  r5   r   r   r   filt1b  s    z&test_apply_without_copy.<locals>.filt1c                 S   s$   | j d dkr| S | | jdk S d S r  )r  r  r5   r   r   r   filt2h  s    z&test_apply_without_copy.<locals>.filt2r   r   r  r   )rW   r  r  r'   r<   r=   r   r   r   test_apply_without_copyV  s    ..r  test_seriesc                 C   s   t ddgddgddggddgg dd}| rp|dd }|jdd	d
dd }| }| }t|| njd}tjt|d( |jdd	ddd }W d    n1 s0    Y  |	d}|	d}t
|| d S )Nr6   poXY)r
   rm   rm   r   r   r   F)levelrI   c                 S   s   | S r   r   r5   r   r   r   r7   ~  r8   z<test_apply_with_duplicated_non_sorted_axis.<locals>.<lambda>r   r   rH   c                 S   s   | S r   r   r5   r   r   r   r7     r8   )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_axisv  s     6

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
   rm   rm   ZGroup1ZGroup2rm   r   r*   r   r*   r   r2   c                 S   s"   |  t| j | j d S rb   )r   r   r  r   r  r  r5   r   r   r   reindex_helper  s    z1test_apply_reindex_values.<locals>.reindex_helperr   FrH   )r   r   r"   r*   r#   r   rK   )r   indicesr&   r<   r%  r=   r   r   r   test_apply_reindex_values  s    r'  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 s0    Y  d|v sJ d S )Nr   rm   r   r   )size)foobarZbazZquxru   )rV   value1Zvalue2rV   FrH   c                 S   s   | d d | d< | S )Nr+  rm   value3r   r   r   r   r   r     s    z"test_apply_corner_cases.<locals>.fr   r   r,  )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    (r0  c                  C   s6  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\0    Y  t| j| _d}tjt|d& | d	gdd }W d    n1 s0    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 s:0    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 s0    Y  tjt|d" |d|j}W d    n1 s0    Y  t	|| d S )Nr
   rm   z
2017-03-02r)  inf)NumberDateStrr   r   r2  c                 S   s
   | j d S r   rc   r5   r   r   r   r7     r8   z;test_apply_numeric_coercion_when_datetime.<locals>.<lambda>c                 S   s
   | j d S r   rc   r5   r   r   r   r7     r8   r4  )r         )r)  3r   z12:31:22rn   )r   r{   Tc                 S   s   | j d dg S )Nr   r{   rc   r-  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 rt| | jdk jjd |d< t| | jdk jjd |d< |S )	N)p1p2useTime)r   rF   step1r   r:  step2r;  r<  )r   rJ   r   Stater_   Machiner   oTime)Ztoolr   r   r   r   predictions  s    z>test_apply_numeric_coercion_when_datetime.<locals>.predictions)r{   r{   r   r   )r=  r>  r=  r>  ) z2016-09-19 05:24:33rC  z2016-09-19 23:59:04)Z23Z36L36RrD  )Keyr?  rA  r@  rE  )r   r   r    r!   r"   r#   r$   r9   r3  rK   	Timestampr{   r   r   r~   rA  r:  )r&   r'   r<   r=   r9  rB  df1df2r   r   r   )test_apply_numeric_coercion_when_datetime  sJ    444	22rI  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 sj0    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:00rn   )clientidr   time_delta_zeror   r   rJ  c                 S   s   t | j | j dS )N)clientid_ager   )r   rK  r  r   )Zddfr   r   r   r7     s   z?test_apply_aggregating_timedelta_and_datetime.<locals>.<lambda>r   r   )rJ  rL  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(    
"rN  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{   r5  r6  r|   (   2   NameValuez
2020-09-01z
2020-09-05r  r   )r   rP  Z   )rQ  rR  Tr   )r   r$   
date_ranger"   r   r  r   r%   )rW   r&   r=   r<   r   r   r    test_apply_groupby_datetimeindex  s    "rU  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 sh0    Y  t ddidgd}d|j_d
}tjt|d$ | jdgd|}W d    n1 s0    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   now)r@   nnr   r   r   rB   ,  r8   z'test_time_field_bug.<locals>.<listcomp>r   rp   c                 S   s   t ddiS )Nro   rm   r   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
   rm   rO   ro   )r   r   rY  r   r   r   func_with_date1  s    z+test_time_field_bug.<locals>.func_with_dater   r   rN   Zbyro   rm   r   r\  nsr]  )r   r   r   r    r!   r"   r#   r   r2   r$   rF  Zas_unitr%   )r&   r[  r^  r'   Zdfg_no_conversionZdfg_no_conversion_expectedZdfg_conversionZdfg_conversion_expectedr   r   r   test_time_field_bug&  s"    22ra  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   )ro   ro   r   r   r   ero   ro   r   r   r   rb  )g?rm   rn   ru   rv   rw   rm   ru   rw   rs   r
   rm   )gffffff@rs   ry   r         rs   rx   rw   rv   ru   rn   )group1group2weightr*   re  rf  T)r  sortc                 S   s   t | | d}|S )Nrn   )r   arrayrepeat)r*   rg  r   r   r   r   noddyS  s    z7test_gb_apply_list_of_unequal_len_arrays.<locals>.noddyc                    s    | j | jS r   )r*   rg  r5   rk  r   r   r7   ]  r8   z:test_gb_apply_list_of_unequal_len_arrays.<locals>.<lambda>)r   r  r"   r#   )r&   Z
df_groupedr   rl  r   (test_gb_apply_list_of_unequal_len_arraysF  s    
rm  c                  C   sv   t g dg dd} dd }d}tjt|d  | d|}W d    n1 sV0    Y  t  }t|| d S )	Nrr   )rs   rx   ru   rv   )r   Zrandom_varsc                 S   s   d S r   r   r5   r   r   r   	test_funce  s    z.test_groupby_apply_all_none.<locals>.test_funcr   r   r   r   )Ztest_dfrn  r'   r=   r<   r   r   r   test_groupby_apply_all_none`  s    .ro  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 sl0    Y  tjt|d  |d	|}W d    n1 s0    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
   rm   )r   r
   rm   rn   )r   varsr   c                 S   s    | j d dk rd S | jddg S )Nr   rm   r   )r  rd   r5   r   r   r   rn  t  s    z0test_groupby_apply_none_first.<locals>.test_funcr   r   r   r
   r   rm   r   rn   r   )	r   r   r    r!   r"   r#   r   r   r%   )
Ztest_df1Ztest_df2rn  r'   r   r   Zindex1index2Z	expected1	expected2r   r   r   test_groupby_apply_none_firsto  s    ..rs  c                  C   s   t ddgddgd} | d}d}tjt|d |d	d
 }W d    n1 sV0    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   r7     r8   z7test_groupby_apply_return_empty_chunk.<locals>.<lambda>r*   r   )r2   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    
,rv  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 brq   ru   rw   rv   r   r   FrH   c                 S   s   | |    S r   r   r5   r   r   r   r7     r8   z-test_apply_with_mixed_types.<locals>.<lambda>)gUUUUUU?gUUUUUU?r
   )皙?g333333?rQ   r{   r|   c                 S   s   | |    S r   rx  r5   r   r   r   r7     r8   )r   r?   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 sX0    Y  ttdgtdggtddgdd	d}t|| d S )
NrN   r
   rm   r   r   r   c                 S   s   | j S r   r   r-  r   r   r   r7     r8   z*test_func_returns_object.<locals>.<lambda>r1   )	r   r   r   r    r!   r"   r#   r   rK   rM  r   r   r   test_func_returns_object  s    2(r|  group_column_dtlikec                 C   s   t dg| gd}d}tjt|d$ |ddd }W d    n1 sN0    Y  |r`dnd	}t d
gtdg|dddgd}t|| d S )Nr)  rp   r   r   rN   c                 S   s   t dgdgdS )Nspam*   r   rX  r5   r   r   r   r7     r8   z+test_apply_datetime_issue.<locals>.<lambda>rX   rJ   r~  rE   r  rD   )r   r   r    r!   r"   r#   r   r%   )r}  r:   r&   r'   r=   rF   r<   r   r   r   test_apply_datetime_issue  s    
2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 s0    Y  tdgtj	dgdddd}t
|| d S )Nz2015-02-24 00:00:00)r   r
   rm   rn   ru   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   )r@   ro   sr   r   r   
<dictcomp>  r8   zYtest_apply_series_return_dataframe_groups.<locals>.most_common_values.<locals>.<dictcomp>)r   itemsre   r   r   r   most_common_values  s    zEtest_apply_series_return_dataframe_groups.<locals>.most_common_valuesr   r   r  r  z
2015-02-24r1   r$  )r   r$   rF  r   r    r!   r"   r#   r   DatetimeIndexrK   )Ztdfr  r'   r=   r<   r   r   r   )test_apply_series_return_dataframe_groups  s:    2r  r  c                 C   s   ddgd }| rDt 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sJ d S )Nr
   rm   rv   rq   )
categoriesr{   )r  r2   )r5     r   r1   r5  r  )r|   r   r   r   )r   r{   r|   r   r   F)Zobservedc                 S   s   |   S r   rx  r5   r   r   r   r7     r8   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 s0    Y  | rdnt
}ttd||tj|gg dd}t|| d S )Ni  r
   redZdarkr   r\  greenZstormyrm   9i  bluebrightrn   r   i  Zcalmru   potato)ZobservationcolorZmoodZ	intensityZscorerD   r   r   r  c                 S   s
   | j d S r   rc   r-  r   r   r   r7     r8   z;test_groupby_apply_datetime_result_dtypes.<locals>.<lambda>rX   zdatetime64[ns]r   )r   Zfrom_recordsr$   rF  r   r    r!   r"   r#   rh   rJ   r   r   rF   Zint64rK   )r:   rW   r'   r=   rF   r<   r   r   r   )test_groupby_apply_datetime_result_dtypes  s"    	4r  r   abcrn   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 sZ0    Y  t|| d S )Nr
   r
   rm   )r   r
   r   r#  r   r   r   r   FrH   c                 S   s   | S r   r   r5   r   r   r   r7   &  r8   z8test_apply_index_has_complex_internals.<locals>.<lambda>r   )r   r&   r'   r=   r   r   r   &test_apply_index_has_complex_internals  s
    6r  zfunction, expected_valuesc                 C   s
   | j  S r   )r   to_listr5   r   r   r   r7   -  r8   c                 C   s   t | j S r   )setr   r  r5   r   r   r   r7   .  r8   c                 C   s   t | j S r   )tupler   r  r5   r   r   r   r7   /  r8   )r   r
   rm   rn   c                 C   s   t t| j S r   )dict	enumerater   r  r5   r   r   r   r7   1  r8   c                 C   s   dd t | j D S )Nc                 S   s   g | ]\}}||iqS r   r   )r@   nir   r   r   rB   5  r8   z<lambda>.<locals>.<listcomp>)r  r   r  r5   r   r   r   r7   5  r8   c                 C   s|   t g ddgd}d}tjt|d  |d| }W d    n1 sJ0    Y  t|tddgddd	}t|| d S )
N)r   r   r{   r{   r   rD   r   r   r   r{   r1   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\0    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   flattenr   r   r   r   fctF  s    z4test_apply_function_returns_numpy_array.<locals>.fct)rN   rN   rO   noner
   rm   rn   r   r   r   r   rQ   rR   rS   )rN   rO   r  r1   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_arrayD  s    . r  r  c                 C   s   | j S r   r   grr   r   r   r7   T  r8   c                 C   s   | j d d S rb   r   r  r   r   r   r7   T  r8   c                 C   s   t g ddgd}d}tjt|d  |d| }W d    n1 sJ0    Y  ttg dtg dtdd	ggtg d
ddd}t|| d S )N)
r
   rm   rm   rm   r
   rm   rn   r
   rn   r
   idrD   r   r   )r   ru   rx   ry   )r
   rm   rn   rv   rw   rs   rq   r1   r   r  )r  r&   r'   r=   r<   r   r   r    test_apply_function_index_returnT  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
   rm   ru   ru   rv   rw   r   r   Fr   c                 S   s   |   S r   )r   r5   r   r   r   r7   j  r8   zAtest_apply_function_with_indexing_return_column.<locals>.<lambda>)r   r   rz   )rS   rT   rT   )r   r"   r#   r   r%   )r&   r=   r<   r   r   r   /test_apply_function_with_indexing_return_columnb  s    r  udfc                 C   s   |   S r   r   r5   r   r   r   r7   v  r8   c                 C   s   |   dd S )Nc                 S   s   | d S rb   r   )yr   r   r   r7   v  r8   z<lambda>.<locals>.<lambda>)r~   r   r5   r   r   r   r7   v  r8   c                 C   s   t ddgddgd}d}tjt|d$ |jd| d	|}W d    n1 sR0    Y  |jj|j| d	|}| r|jj	dksJ |jj	dksJ n |jj	dksJ |jj	dksJ d S )
NrN   rO   r
   rm   r   r   r   r   rH   )
r   r   r    r!   r"   r#   r{   r   r   Znlevels)rI   r  r&   r'   Z	df_resultZseries_resultr   r   r   test_apply_result_typet  s    	2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 sV0    Y  tjt|d( | jddddd
 }W d    n1 s0    Y  t|| d S )N)rm   r
   rm   rq   r   r   r   r   FrH   c                 S   s   | S r   r   r5   r   r   r   r7     r8   z4test_result_order_group_keys_false.<locals>.<lambda>c                 S   s   |   S r   r   r5   r   r   r   r7     r8   r   rM  r   r   r   "test_result_order_group_keys_false  s    66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 s0    Y  tjt|d( |jddd	dd }W d    n1 s0    Y  t
|| d S )Nz
2001-01-01rm   z
2001-01-02z
2001-01-03UTC)tzrn   rw   )r6   r  tr   r   r6   FrH   c                 S   s   | ddg   S Nr6   r  r   re   r   r   r   r7     r8   z1test_apply_with_timezones_aware.<locals>.<lambda>c                 S   s   | ddg   S r  r   re   r   r   r   r7     r8   )r$   r  r   r   r   r   r    r!   r"   r#   r%   )datesZindex_no_tzZindex_tzrG  rH  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 s0    Y  t|| |jdd}t	| |}t
|| | }tjt|dd |jtdd}W d    n1 s0    Y  t|| d S )N)c   r  r  X   r  r  )r
   rm   rn   ru   rv   rw   )r   r5  r6  rO  rP  <   r}      rw      r  r]  r  r  rN   r1   r   r_  :The behavior of DataFrame.sum with axis=None is deprecatedF)r   check_stacklevelinclude_groups)r   r   r"   r   r    rg   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 s0    Y  | jg d }|	 }t
|g d |_|jd	d}t|| |jjd D ]}t|tu sJ qd S )N)rN   rN   rN   rO   i  r
   r   rm   r   r   )r   e   f   g   idxr1   r   r   r{   r   r   c                 S   s
   |  dS rb   r   r5   r   r   r   r7     r8   zRtest_apply_with_date_in_multiindex_does_not_convert_to_timestamp.<locals>.<lambda>)r   rm   rn   )r   r{   r  rD   )r   r   r   r"   r   r    r!   r#   rd   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  s,    




,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 sh0    Y  |dd }d}tjt|d	 | j
dd
d}W d    n1 s0    Y  |dd }t||j	 t||  d S )Nrm   rw   ru   r   r{   r
   rD   z5The 'axis' keyword in DataFrame.groupby is deprecatedr   r   r[   r  c                 S   s   | j dddS )Nr   r  Z	droplevelr5   r   r   r   r7     r8   zDtest_apply_by_cols_equals_apply_by_rows_transposed.<locals>.<lambda>r]   c                 S   s   | j dddS )Nr
   r   r  r  r5   r   r   r   r7     r8   )r   r   r   r   r   ru  r   r    rg   r8  r"   r#   r%   )r&   r'   rj   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 sj0    Y  | r|	 n|j
g d }t|| d S )Nr
   rm   rn   ru   rv   rN   rO   )colr   Zxxyxzr   r   r   r   F)r  rI   c                 S   s   | S r   r   r5   r   r   r   r7     r8   z5test_apply_dropna_with_indexed_same.<locals>.<lambda>)r   rn   r
   rm   ru   )r   r   r   r   r   r    r!   r"   r#   r  rd   r%   )r  r&   r'   r=   r<   r   r   r   #test_apply_dropna_with_indexed_same  s    8r  zas_index, expected)r
   r
   r
   )rm   rm   r
   )rN   rO   N)rF   r   )rm   rm   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 s`0    Y  t|| d S )Nr"  )r
   r
   r
   r
   r}   r   r   rN   rO   r   c                 S   s   dS rb   r   r5   r   r   r   r7   -  r8   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 s`0    Y  ttddtj	g dd	d gddd}t
|| d S )Nr  )rw   rx   rs   ry   r   )r
   r
   r
   rm   rm   r   rv   r   r   r   r|   c                 S   s
   | j  S r   )r   r  r5   r   r   r   r7   9  r8   z(test_sort_index_groups.<locals>.<lambda>r
   rw   )r   r   r   r  r   r   r   r$  )r   r   r   r    r!   r"   r#   r   r   r   rK   rM  r   r   r   test_sort_index_groups1  s    2r  c                  C   s   t tjddddtdtdd} d}tjt|d4 | j| j	| j
jj
gd	d
dd }W d    n1 sp0    Y  t||  d S )Nz
2010-01-01Z12hrv   )r  r   r   )r   valsletr   r   FrH   c                 S   s   | j dd  S r   rc   r5   r   r   r   r7   Q  r8   z;test_positional_slice_groups_datetimelike.<locals>.<lambda>)r   r$   rT  r   r   r   r    r!   r"   r  r   dtr#   r%   )r<   r'   r=   r   r   r   )test_positional_slice_groups_datetimelikeD  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   rq   rw  r   r   r{   r|   c                 S   s   |  t |   S r   )Zastypefloatr  r  r5   r   r   r   r7   Y  r8   z7test_groupby_apply_shape_cache_safety.<locals>.<lambda>rQ   r	  rR   rz  rN   rO   r1   r   )r   r"   r#   r   r   r%   )r&   rj   r=   r<   r   r   r   %test_groupby_apply_shape_cache_safetyU  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  r5   r   r   r   r7   k  r8   z3test_groupby_apply_to_series_name.<locals>.<lambda>)rN   rN   rO   rO   rO   )r  r  r  r  r  )Zarraysr   )rn   r
   rm   r
   r
   r   r$  )	r   	from_dictr"   r#   r   r   r   r   rK   )r&   r  r=   Zexpected_idxr<   r   r   r   !test_groupby_apply_to_series_namea  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 sh0    Y  tjt|d	 |dd }W d    n1 s0    Y  t|| d S )Nr"  )r
   r   rm   rv   r
   rm   )r  r  zr  )r  r   r   c                 S   s   |  ddS )Nr
   r  )nlargest)Zgrp_dfr   r   r   r7   ~  r8   ztest_apply_na.<locals>.<lambda>c                 S   s   | j ddddS )Nr  F)Z	ascendingr
   )r   r   r5   r   r   r   r7     r8   )	r   r   r   r"   r   r    r!   r#   r%   )r  r&   Zdfgrpr'   r=   r<   r   r   r   test_apply_nau  s    ,,r  c                  C   s   d} t jt| dJ tg dg dtjg ddddd	d
gdd }W d    n1 sb0    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"  )rC  rC  rC  rC  r   r  )unitr}   rN   rO   c                 S   s
   | j d S Nr   rc   re   r   r   r   r7     r8   z8test_apply_empty_string_nan_coerce_bug.<locals>.<lambda>r
   rC  rm   ru   )r
   rC  )rm   rC  r   r  )r   r    r!   r   r$   r9   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 sz0    Y  t|| d S )N)r  a2a3rq   rp   r   b_mean)rR   rS   rQ   )r  r  r  rN   r1   r   r   c                 S   s   t | d  gdgdS )NrO   r  r   )r   r   re   r   r   r   r7     r8   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
   ru   rn   )r  ry  r  c                 C   sj   t d| i|d}d}tjt|d( |jddddd }W d    n1 sP0    Y  t|| d S )	Nr  r   r   r   FrH   c                 S   s   | S r   r   r5   r   r   r   r7     r8   z5test_apply_nonmonotonic_float_index.<locals>.<lambda>r   )argr  r<   r'   r=   r   r   r   #test_apply_nonmonotonic_float_index  s
    +6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  kwargsrj   r=   r<   r   r   r   test_apply_str_with_args  s    
r  r2   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
   rm   r1   rN   FrH   c                 S   s   | S r   r   r5   r   r   r   r7     r8   z1test_result_name_when_one_group.<locals>.<lambda>)r   r"   r#   r   rK   )r2   r   r=   r<   r   r   r   test_result_name_when_one_group  s    r  z
method, opr#   c                 C   s
   | j d S r  )r   rj   r   r   r   r7     r8   c                 C   s   | d j d S )NrO   r   rc   r  r   r   r   r7     r8   )aggZskew)r  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 )	Nrp   rN   TrH   rO   rY   rE   )r2   rF   r   )r   r"   r  r   r   r   rK   )methodopZempty_dfrj   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 sf0    Y  t d
d
gddgdtdd
gddd}| s|dg }t|| d S )Nr  )rn   ru   rv   rp   rN   r   r   c                 S   s   |   S r   rx  r5   r   r   r   r7     r8   z%test_include_groups.<locals>.<lambda>r  rm   rx   rv   r
   r1   r   rO   )r   r"   r!   r   r    r#   r   r%   )r  r&   rj   warnr'   r=   r<   r   r   r   test_include_groups  s    
0&
r  r   r\   jimjoec                    s  t jd}t|dddddgd}|d|d	< || }|j |turPd nt	}d
}t
j||ddd ||}W d    n1 s0    Y  t|j| d}d|j d| d}	|j|dfksJ |	 fddd}t
jt|d |}
W d    n1 s0    Y  t
||
 t
jt|d" |fdd}W d    n1 s\0    Y  t
|| |tkr|  }
|
j| ddd t
j||
dd t
t| ddt| dd d S )Nrm   r
   rx   )r   rm   r   r  rD   r   Zjolier  F)r   r  Zraise_on_extra_warnings)Zsubsetzinvalid frame shape: z (expected (z, 3))rn   c                    s   t t | ddS )Nr   ra   )r  r   r5   )fnamer   r   r7   7  r8   z%test_builtins_apply.<locals>.<lambda>r   r   c                    s    | S r   r   r5   )npfuncr   r   r7   >  r8   T)r   r   )Zcheck_dtyper   ra   )r   r   r   r   r   r   r"   __name__r   rg   r   r    r#   r   Zdrop_duplicatesr  r!   r%   r  r   r  rK   r  )r\   r   rsr&   rj   r  r'   r=   ZngroupsZ
assert_msgr<   rr  r   )r  r  r   test_builtins_apply  s6    
(*2
r  )dr   r   numpyr   ZpytestZpandasr$   r   r   r   r   r   Zpandas._testingZ_testingr   Zpandas.tests.groupbyr	   r(   r>   rL   rk   rl   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!  r'  r0  rI  rN  rU  ra  rm  ro  rs  rv  r{  r|  todayrC   r  r  r  r  r  Zinterval_rangeZperiod_ranger   r  r  r  r  r  r  r  r  r  r  r  r  rJ   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r   r   <module>   sh  (-
"
.	
*)

 
> 
(

	
	


  

	

)
	

	




