o
    _~#g                     @   s  d dl Z d dlZd dlmZ d dlZd dlZd dlm	Z	 d dl
mZ d dlmZ d dlZd dlmZmZmZmZmZmZ d dlmZ d dlmZ ejdd	d
gejdg dg dg dg dg dg dg dg dg dg dg dg dejejejggdd Zdd Z ejdd	d
gdd Z!ejdd	d
gejdg dg dej"ej"ej"gd ej"d gd!ej"d!gd!ej"d ggd"d# Z#ejd$d%d&ej$d!ge%d'ej$ej"gd(d'fd)d%ej$ej"gd(d'ej$d!ge%d'fd)d)ej$ej"gd(d'ej$ej"gd(d'fd&d(ej$ej"gd(d'ej$ej"gd(d'fgd*d+ Z&ejdd	d
gejd,g d-d.d/ Z'ejd0d	ej"ejgd fd	ej"d1ejgd!fd
ej"ej(gd!fd
ej"d ej(gd fgd2d3 Z)ejdd	d
gd4d5 Z*ejdd	d
gd6d7 Z+ejd8d9d:gd;d< Z,ejd8d9d:gd=d> Z-ejd?d9d d@gd1dAgd1d@gdBfd:d1dAgd d@gd dAgdBfgejdCd!d gdDdE Z.ejdedFedGfdHgejdIg dJdKdL Z/ejd8dMdNgdOdP Z0dQdR Z1dSdT Z2dUdV Z3dWdX Z4dYdZ Z5d[d\ Z6d]d^ Z7d_d` Z8dadb Z9dcdd Z:ejdedfdggdhdi Z;ejdedfdggdjdk Z<dldm Z=ejdedfdggdee>fdndoZ?ejd,g dpdqdr Z@dsdt ZAejdeg dudvdw ZBejdedfdggdxdy ZCdzd{ ZDejjEejd|d d!gejd}d d!gejd~d!d gejdd!d gejddgddggdd ZFdd ZGdd ZHdd ZIdd ZJejdg dedej(edgd!ed1gejKdgddddfg deLdd1d1ej(eLdd1d1gd!ed1gejKdgddddfg deLdd1d1ej(eLdd1d1ej(eLdd1d1gd ed@d@gejKddgddddfg deLdd1d1ej(eLdd1d1ej(eLdd1d1gd ed@d1gejKddgddddfgdd ZMdd ZNdd ZOdd ZPdd ZQejdd dgdd ZRdd ZSdd ZTejd,g dejddMdd1d1dd@dAdgifdNdd1d@dd@ddgifdfdd1d1dd@dAdgifdgdd1d@dd@ddgifdd1d@dd@d@dgddfgdd ZUdd ZVejddejWfdejXfdejYfdejZfdej[fdej\fdfej]fdgej^fdMdd fdNdd fdej_fej`deVeaddgddĄ Zbejdg dƢd1ej"d@d1ej"d@d1ej"d@g	dg dǢg dȢdgejdg dʢdd̄ Zcejdg d΢ejdd d1gejdd!d gejd|d!d gdd҄ ZdddԄ ZedS )    N)ascii_lowercase)iNaT)pandas_dtype)na_value_for_dtype)	DataFrame
MultiIndexSeries	Timestamp
date_rangeisna)_test_decoratorsagg_funcanyallvals)foobarbaz)r    r   )r   r   r            )r   r   r   r   r   r   )      ?       @      @)r           r   )r   r   r   )TTT)TFF)FFFc                 C   s   t dgd dgd  |d d}tt||}| r&tt|r&|dkr&d}t |gd dgtjddgd	d
d}t|d	|| d}t	|| d S )Nar   br   )keyvalr   Fr!   r    namecolumnsindexskipna)
r   getattrbuiltinsr   r   pdIndexgroupbytmassert_frame_equal)r(   r   r   dfexpexpectedresult r4   /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/pandas/tests/groupby/test_reductions.pytest_groupby_bool_aggs   s   "r6   c                  C   sr   t g ddtjdgdtjdggg dd} t ddgd	dggd
dgddgd}d|j_| d }t|| d S )N)r   r   r   r   r   r   r   ABCr%   TFr9   r:   r$   r8   )	r   npnanr&   r#   r-   r   r.   r/   r0   r2   r3   r4   r4   r5   test_any>   s   r?   bool_agg_funcc                 C   sP   t ddggddgd}|dg}t||  }|tdg}t|| d S )NTr   r;   r   )r   r-   r)   set_axisr<   arrayr.   r/   )r@   r0   grp_byr3   r2   r4   r4   r5    test_bool_aggs_dup_column_labelsK   s
   rD   dataFTc                 C   sZ   t |dd}t|| |d}t |tdgdd}|g dj| |d}t|| d S )Nbooleandtyper'   r   r&   rH   r   )r   r)   r<   rB   r-   aggr.   assert_series_equal)r@   r(   rE   serexpected_datar2   r3   r4   r4   r5   test_masked_kleene_logicV   s
   rN   zdtype1,dtype2,exp_col1,exp_col2floatFloat64rG   rF   Int64c                 C   sn   dt jg}ttj|| dtj||dd}|ddgjddd}t||dt dgd}t|| d S )	Nr   rG   )col1col2r   r   Fr'   r&   )	r<   r=   r   r+   rB   r-   rJ   r.   r/   )dtype1dtype2exp_col1exp_col2rE   r0   r3   r2   r4   r4   r5   test_masked_mixed_typeso   s   
rY   rH   )rQ   rP   rF   c                 C   sh   |t jdg|d}d}|s| dkrt j}||gtdgdd}|ddgj| |d}t|| d S )Nr   rG   Tr   rF   rI   r'   )r+   NAr<   rB   r-   rJ   r.   assert_equal)r@   rH   r(   frame_or_seriesobjexpected_resr2   r3   r4   r4   r5   test_masked_bool_aggs_skipna   s   r_   zbool_agg_func,data,expected_resr   c                 C   sN   ||t d}|dgt| | }||gtdgdd}t|| d S )NrG   r   boolrI   )objectr-   lenrJ   r<   rB   r.   r[   )r@   rE   r^   r\   r]   r3   r2   r4   r4   r5   test_object_type_missing_vals   s   rc   c                 C   sZ   t tjgtd}tjtdd |dgj| dd W d    d S 1 s&w   Y  d S )NrG   z boolean value of NA is ambiguousmatchr   Fr'   )	r   r+   rZ   ra   pytestraises	TypeErrorr-   rJ   )r@   rL   r4   r4   r5   'test_object_NA_raises_with_skipna_false   s   "ri   c                 C   sj   | t u r	ddginddi}| di |dti}t||j| }| di |dti}t|| d S )Nr%   r   r#   rH   r4   )r   ra   r)   r-   r&   r`   r.   r[   )r\   r@   kwargsr]   r3   r2   r4   r4   r5   
test_empty   s
   rk   howidxminidxmaxc           	      C   s   |t u s|tu r
d S d|v rtjntj}||j}||j}tg d||||gd|d}|d}t	||  }tdddgit
jdd	gd|d
d}t|| d S )Nint)r   r   r   r   r   r   rG   r   r   r   r   r   r#   rH   rT   )ro   rO   r<   iinfofinfominmaxr   r-   r)   r+   r,   r.   r/   )	rl   any_real_numpy_dtypeinfo	min_value	max_valuer0   gbr3   r2   r4   r4   r5   test_idxmin_idxmax_extremes   s   


r{   c                 C   s  t |j}t |j}ttt jtddddddtt j|t j||t j|t jt jt jg
|dd}|	d}| r<d nt
}d	| d
}tj||d t||| d}	W d    n1 s^w   Y  | rnddddt jg}
nt j}
td|
itjtdddddd}t|	| d S )Nr      r   )repeatsintprG   rp   r   z!The behavior of DataFrameGroupBy.z with all-NA valuesrd   r'   r      r   rq   rT   )r<   rs   rt   ru   r   r   repeatranger=   r-   FutureWarningr.   assert_produces_warningr)   r+   r,   r/   )r(   rl   float_numpy_dtyperx   ry   r0   rz   warnmsgr3   valuesr2   r4   r4   r5   "test_idxmin_idxmax_extremes_skipna   sB   
r   zfunc, valuesr   r   )c_intc_floatc_datenumeric_onlyc                 C   s*  t g dg dg dg dd}t|d |d< |d jd|d< |d |d jd	  |d
< |d jd|d< |d d|d< |d d|d< t|	d| |d}t |tj
ddgddd}|ro|jdgd}n|d |d< |d |d
< |d |d< |d |d< |d |d< t|| d S )Nr8   r8   r9   r9   r   r   r   r   )gGz@g=
ףp=@gRQ @g?)2019201820162017)r#   r   r   r   r   z
US/Pacific	c_date_tzr   c_timedeltaWc_periodr   rQ   	c_Integerr   rP   
c_Floatingr#   r   r8   r9   r"   rT   r;   )r   r+   to_datetimedttz_localizeiloc	to_periodastyper)   r-   r,   dropr.   r/   )funcr   r   r0   r3   r2   r4   r4   r5   $test_idxmin_idxmax_returns_int_types  s.   
r   z2011-01-15 12:50:28.502376z2011-01-20 12:50:28.593448)l    m;-Ll    m;-Lmethod)countrt   ru   firstlastc                 C   s   t ddg|d}|d}t||  }| dkrd}n| dkr$|d }n| dkr-|d }nt|d	 |  }t d	|gitjdgdd
d}t|| d S )Nr   rp   r   r   r   r   r   r   r   r"   rT   )r   r-   r)   r+   r,   r.   r/   )r   rE   r0   groupedr3   expected_valuer2   r4   r4   r5   2test_groupby_non_arithmetic_agg_int_like_precision/  s   


r   r   r   c              	   C   s   t t| }tg d|d|dtjtjg|d|dtjtjgd| d}|jd|d}t||}||d}g d	g d
g dg dd||f }	|j|	 d}
|rT|
	 }
t
||
 d S )N)r   r   r   r   r   r   r         @r   r   crG   r   )sortr'   )r   r   r   )r   r   r   )r   r      )r   r   r   ))r   T)r   F)r   T)r   F)r   r   r   r<   r=   r-   r)   r   	set_index
sort_indexr.   r/   )any_real_nullable_dtyper   r(   rl   na_valuer0   rz   r   r3   ilocsr2   r4   r4   r5   test_first_last_skipnaM  s,   

r   c               	   C   sN  t tjddg dd} g d| d< | d}d}tjt|d |j	d	d
}W d    n1 s4w   Y  | j
d d d	d f j	d	d
}|jd	}t|| |d tddd| d< | d}d}tjt|d. tjt|d |j	d	d
 W d    n1 sw   Y  W d    d S W d    d S 1 sw   Y  d S )Nr   )
   r   )r8   r9   r:   Dr;   )
r   r   r   r   r   r   r   r   r   r   r8   z1DataFrameGroupBy.idxmax with axis=1 is deprecatedrd   r   axisz
2016-01-01r   periodsEz>'>' not supported between instances of 'Timestamp' and 'float')r   r<   randomdefault_rngstandard_normalr-   r.   r   r   rn   r   r&   get_level_valuesrK   	droplevelr
   rf   rg   rh   )r0   rz   warn_msgresaltindexergb2r   r4   r4   r5   test_idxmin_idxmax_axis1i  s,   

"r   c                  C   s8   t g dg dd} | dd  d dksJ d S )N)r8   r8   r8   r8   r8   )ij  i  io  i`  l    @~ )userconnectionsr   r   r8   l    ,fL )r   r-   mean)r0   r4   r4   r5   test_groupby_mean_no_overflow  s   "r   c                  C   sh   t ttdddgd d} | dd  }ttddgdtjddgdd	d
}t	|| d S )Nr   r8   r9   r   )timecatr   r   r   r"   r#   r&   )
r   r+   to_timedeltar   r-   r   r   r,   r.   rK   r0   r3   r2   r4   r4   r5   test_mean_on_timedelta  s    r   c                  C   s.  t jdd} t j| d d d< t| }t jdjddddt}t j|d d d< |	|
 }d}tjt|d |	|t j}W d    n1 sPw   Y  t|| tt jdd	}d}tjt|d |	|t j
}W d    n1 sw   Y  |	|
 }t|| d S )
Nr     r   2   size   zusing DataFrameGroupBy.medianrd   )r   r   )r<   r   r   r   r=   r   integersr   rO   r-   medianr.   r   r   rJ   	nanmedianr/   )arrr0   labelsr3   r   r1   rsxpr4   r4   r5   test_cython_median  s$   r   c                 C   sp   t tjdddd}tddd}t|d |}|j|| d	 }|j|| d
dd	 }t|| d S )
Nr   r   ,     7   r   observedc                 S   s   |   S )N)r   xr4   r4   r5   <lambda>  s    z(test_median_empty_bins.<locals>.<lambda>)r   r<   r   r   r   r   r+   cutr-   r   rJ   r.   r/   )r   r0   grpsbinsr3   r2   r4   r4   r5   test_median_empty_bins  s   r   c                  C   s   t g dg dddg d} | d }d|v sJ | djdd	}d|v s+J | d }d|v s8J | djdd	}d|v sGJ d S )
N)   r      r   r   r   mama)nniissr   r   Fr   )r   r-   ru   rt   )aar3   r4   r4   r5   test_max_min_non_numeric  s   r   c                 C   s   t g dg dg dd}|  | st|jjdksJ |d}|dg  }tjg ddd	}t dg d
i|d}t	
|| |dg  }tjg ddd	}t dg di|d}t	
|| d S )N)r   r   r   r   r   )r   r   r   r   F)r   r   r   der7   r   r8   r:   r   r"   )r   r   r   rT   )r   r   r   )r   _consolidate_inplacerb   _mgrblocksr-   ru   r+   r,   r.   r/   rt   )using_array_managerr0   rz   r3   eir2   r4   r4   r5   $test_max_min_object_multiple_columns  s$   
r   c                  C   s   t jtg dddjj} ttjdtjgg d| d}|jddd	d
 	 d
 }t jtddgd
dddjj}t
|| |dd
 	 }d|j_t
|| d S )N)
2019-05-09r   r   z%Y-%m-%d)format1)r   r   r   r   r   Fas_indexr   r   r"   )r+   r   r   r   dater   r<   r=   r-   rt   r.   rK   r&   r#   )datesr0   r3   r2   r4   r4   r5   test_min_date_with_nans  s    r  c                  C   s   t dtg} tjddgtjd}| |}|jdd}t dditjd}tj||dd |j	dd}t dtitjd}tj||dd |j	dd}t dtj
i}tj||dd d S )Nr   rG   r   	min_countTcheck_exactr   )r   r   r<   rB   int64r-   ru   r.   rK   rt   r=   )rL   r    rz   r3   r2   r4   r4   r5   test_max_inat  s   
r  c                  C   sh   t dtdtd g} | g d}|jdd}t tjtjtd d}|jt|_t	j
||dd d S )Nr   r   )r   r   r   r   r  r   Tr  )r   r   r-   rt   r<   r=   r&   r   ro   r.   rK   )rL   rz   r3   r2   r4   r4   r5   test_max_inat_not_all_na  s   r  r   rt   ru   c                 C   sl   ddg}t jdddd}t||d}t|dd |  }t jddgdd	}t||dd
}t|| d S )Nr   r   2020Yr   freqrp   r   r   r"   r&   r#   )	r+   period_ranger   r)   r-   r,   r   r.   rK   r   groupsr   r0   r3   idxr2   r4   r4   r5   $test_groupby_aggregate_period_column  s   r  c                 C   sj   ddg}t jdddd}t||d}t|d|  }t jddgdd}td	|i|d
}t|| d S )Nr   r   r	  r
  r  rp   r   r"   r   rT   )r+   r  r   r)   r-   r,   r.   r/   r  r4   r4   r5   #test_groupby_aggregate_period_frame+  s   r  c                  C   s   t g dtdtjgd dt} | d }t ddgdd	gtjtjgddt}t	
|| t g dtdtddt} | d }t ddgdd	gd
dgddt}t	
|| d S )Nr   abcdr   )r    rR   rS   r    r8   r9   r   r   r   r   )r   listr<   r=   r   ra   r-   rt   r   r.   r/   r   r   r4   r4   r5   #test_aggregate_numeric_object_dtype9  s0   r  c                 C   sz   t dgddj }tdg|d}|dd| i}tddgitjdgddd	}|d |j	|d< t
|| d S )
Nr   categoryrG   i  r8   r9   r8   r9   r"   rT   )r   r   
as_orderedr   r-   rJ   r+   r,   r   rH   r.   r/   )r   dsr0   r3   r2   r4   r4   r5   %test_aggregate_categorical_lost_indexW  s   r  )rQ   Int32rP   Float32rF   c                 C   s  | dkrd}n	| dkrd}nd}t ddg||d gd}|d	 | |d	< |d
}| }|jd d d
}t|| | }|jdd  d
}t|| |jdd}t d	t	j
gi|j| d}	t||	 |jdd}
t|
|	 t g d|t	j
|d gd}|d	 | |d	< |d
}| }t|| | }t|| |jdd}t||	 |jdd}t||	 d S )NrQ   l   .D3 rF   r   r   r   r   )idtsr  r  r   r  rI   )r   r   r   d   )r   r   r-   rt   r   r   r.   r/   ru   r+   rZ   r&   )rH   r  r0   rz   r3   r2   res_maxexpected_maxresult2	expected2res_max2df2r   result3res_max3result4res_max4r4   r4   r5   test_groupby_min_max_nullablee  s<   

r+  c                  C   s   t jdgd ddgd} t| t tjdtjdd}|jddd	}| }t j	ddg| j
dd
}tdt jdt jgddi|d}t|| | }d|jd< t|| d S )Nr   r   r   )
categoriesrG   r  r8   Fr   rH   r#   r9   UInt64rT   	   )r   r   )r+   Categoricalr   rB   r<   arangeuint64r-   rt   CategoricalIndexrH   rZ   r.   r/   ru   r   )r   r0   rz   r   r  r2   r4   r4   r5   (test_min_max_nullable_uint64_empty_group  s     
r4  )r   r   rt   ru   c                 C   s   t tjdgtdddtjdgddgdddd}t|jd	d
d|  }tjddgd	dd}t tjdd gddgdddd gd|d}t|| d S )Nr8   ABT)r,  orderedr   r   g?)rR   rS   valuerR   Fr   r9   )rE   r#   r6  )rS   r7  rT   )	r   r+   r0  r  r)   r-   r3  r.   r/   )r   r0   r3   r  r2   r4   r4   r5    test_groupby_min_max_categorical  s   r8  c                 C   sn   t d d}tdgddd|djd d }t|d|  }tddg|tjg |dd	d
}t	|| d S )Npyarrowzstring[pyarrow_numpy]r   r   rG   r   r   r   r-  )r%   rH   r&   )
rf   importorskipr   r   r)   r-   r+   r,   r.   r/   )r   rH   r0   r3   r2   r4   r4   r5   test_min_empty_string_dtype  s   
 r;  c                  C   sx   t g dg dttjtjdgg dd} | d}|dg  }|d   }t|| |d 	 
 r:J d S )N)z-04-23z-05-06z-05-07)z2013-04-23 00:00:00z2013-05-06 00:00:00z2013-05-07 00:00:00OE)zlog080001.logzlog.logxlsx)z
Unnamed: 0DateappFiler>  r@  )r   r   r<   r=   r-   ru   to_framer.   r/   r   r   )r0   rz   rr   r4   r4   r5   test_max_nan_bug  s   
rC  r   dropnar   with_nankeysjoejimc                 C   sb  d}d}t ddd}ttjdtt|tjd||tjdd||d}|rh|	dt
i}d |jd	d d
df< d |jdd ddf< d |jdd ddf< d |jdd ddf< d |jdd ddf< | }	|j||| d}
|
d j|d}|j||| d}
|
d jtj|d}|s|jdd}|rtj||dd ntj||dd t||	 d S )Nr   r   z
2015-08-23r   r   r   )rH  rG  julierI  r   r   rH  r   %   rG           r/  )r   r   rD  T)r   F)check_names)r
   r   r<   r   r   choicer  r   r   r   rO   loccopyr-   nuniqueapplyr   reset_indexr.   rK   r/   )r   rD  r   rE  rF  nmdaysr0   original_dfgrleftrightr4   r4   r5   test_series_groupby_nunique  s6   r]  c                  C   s  t tdtdtdd} t tdg dg dd}| jdd	d
 }t|| td|_d|j_|jdd}| d }t|| | 	dd idjd	d}t|| t dgd dgd dtdd}d|j_| 	dd id }t|| d S )Nabbaccabxaccabbacxr7   abc)r   r   r   )r   r   r   r8   Fr   r;   r   rN  r   r   )r9   r:   rT   )
r   r  r-   rS  r.   r/   r&   r#   r   replacer>   r4   r4   r5   test_nunique  s   
"rc  c                  C   sz   t g dg dg dg dg dgg dd} | dd	gd
  }t| j| jg}tdgd d
|d}t	|| d S )N)r   r   Alice)   r   Bob)i,  r   Charlie)ipr   Dan)r   r   Edith)amountr  r#   r;   r  rj  r#   r   r   r   )
r   r-   rS  r   from_arraysr  rj  r   r.   rK   )rE   r3   r&   r2   r4   r4   r5   test_nunique_with_object  s   rl  c                  C   s8   t dtd} | jdd }t ddd}t|| d S )Nr#   rq   r   levelr  )r   ra   r-   rS  r.   rK   )rE   r3   r2   r4   r4   r5   test_nunique_with_empty_series2  s   ro  c                  C   sr   t tdtdtdgg ddd} | tjddd	  }| tjddd	 tj}t	
|| d S )
Nz2016-06-28 09:35:35z2016-06-28 16:09:30z2016-06-28 16:46:28)r   23)r   rE   r   h)r  rE   )r   r	   r   r-   r+   GrouperrS  rT  r   r.   rK   testr3   r2   r4   r4   r5   test_nunique_with_timegrouper:  s   	
rv  zkey, data, dropna, expected)r   r   r   z
2019-01-01r   r    r"   r  i  )r   r   r   yrw  rw  )r   r   r   r   rw  c                 C   s6   t | |d}|dgd j|d}t|| d S )N)r    rE   r    rE   rN  )r   r-   rS  r.   rK   )r    rE   rD  r2   r0   r3   r4   r4   r5   test_nunique_with_NaTK  s   +rx  c                  C   sX   t g dtjdgddd} | g d }t dgtdg| jd	}t	|| d S )
N)r   r   r   r8   level_0r"   r;   r   r   r   )r&   r%   )
r   r+   r,   r-   rS  r<   rB   r%   r.   r/   rt  r4   r4   r5   )test_nunique_preserves_column_level_names{  s   rz  c                  C   sL   t tdddgd} | g dd d}tg ddd}t|| d S )	Nz
2008-12-31z
2009-01-02r   r;   )r   r   r   rS  )r   r   r   r"   )r   r
   r-   	transformr   r.   rK   r   r4   r4   r5   $test_nunique_transform_with_datetime  s   r|  c                 C   sn   t dgd}|d d }|j|| d}| }| r't g |d d dd}nt dg|dd}t|| d S )Nr   r  r   r   r  rI   )r   r   r-   rS  r.   rK   )r   r   rL   rz   r3   r2   r4   r4   r5   test_empty_categorical  s   r}  c                  C   s   t ddtjdg} | g d}d}tjt|d |tj	}W d    n1 s*w   Y  d}tjt|d |
tj	}W d    n1 sIw   Y  |	 }t|| t|| d S )Nr   r   r   )r   r   r   r   zusing SeriesGroupBy.sumrd   zusing np.sum)r   r<   r=   r-   r.   r   r   rJ   r*   sumrT  rK   )sr   r   r3   r#  r2   r4   r4   r5   test_intercept_builtin_sum  s   r  r  r   c                 C   s   d}d}t j}tj|||||||gdd}tg d|d}|dj| d}| d	krItd
tjg ddditjg dddd}t	|| d S td
tjtj
gd dditjg dddd}t	|| d S )NTFrF   rG   )r   r   r   r   r   r   r   r  r8   r  r   r9   )r   r   r   rQ   r   r"   rT   r   )r<   r=   r+   rB   r   r-   r~  r,   r.   r/   rZ   )r  r   r   nadfgr0   r3   r2   r4   r4   r5   !test_groupby_sum_mincount_boolean  s"   r  c                  C   s   t g dg dg dddd} | d}tjg dddd}|d jdd	}ttjgd
 d|dd}t|| |jdd	}t tjgd
 tjgd
 dd|d}t	|| d S )N)r   r   r   r   rQ   rG   r   rq   r   r   r  r   )rH   r&   r#   )r   r   )rH   r&   )
r   r-   r+   r,   r~  r   rZ   r.   rK   r/   )r0   r   r  r3   r2   r4   r4   r5   0test_groupby_sum_below_mincount_nullable_integer  s    
$r  c                  C   s   t g dtdtdtdtjgd} tjdd}| d}| }t d	||gitjd
dgddd}t|| |d	  }t	||d	  |d	 jdd}t
|tjgdd	|jd}t	|| d S )N)r   r   r   r   1d2d3drp   r   )rX  r   r   r   r   r"   rT   r  zm8[ns])rH   r#   r&   )r   r+   	TimedeltaNaTr-   r~  r,   r.   r/   rK   r   r&   )r0   td3rz   r   r2   r4   r4   r5   #test_groupby_sum_timedelta_with_nat  s   
"r  )int8int16int32r  float32float64r2  zmethod,datar0   rp   r   r   r  )r0   out_typec           	      C   s   t ddddddddddddg}|j| |d< d|vr$g |d< d|v r-|d }n| }|d	 }t |}|j||d< |jd
dd |d
}t|||d  }t|| d S )Nr   rp   r   r   r   r   argsr  r0   r   T)inplace)r   r   r   r   r-   r)   r.   r/   )	rH   r   rE   r0   r  r1   df_outgrpdtr4   r4   r5   %test_groupby_non_arithmetic_agg_types  s    "

r  c                  O   s   ddl m} || ddi|S )Nr   )semddofr   )scipy.statsr  )r  rj   r  r4   r4   r5   	scipy_sem  s   r  z	op,targopr   r   stdvarr~  prodc                 C   
   | j d S )Nr   r   r   r4   r4   r5   r         
 r   c                 C   r  )Nr  r   r4   r4   r5   r   !  r  r  scipy)marksc                 C   s   t tjdd}tjdjddddt}t|	||  }| dv r)d nt
}d|  }tj||d |	||}W d    n1 sJw   Y  t|| d S )	Nr   r   r   r   r   )r   r   r   r  zusing DataFrameGroupBy.rd   )r   r<   r   r   r   r   r   rO   r)   r-   r   r.   r   rJ   r/   )optargopr0   r   r3   r   r   r2   r4   r4   r5   test_ops_general  s   
r  r   )	r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   function)r   r   r  c                 C   s   |dkrdnd}t j|gd td}tjg dddd	}td
|i|dd}t| ddd}t|| }t	
|| ||}t	
|| ||g}td
|fg|_t	
|| d S )Nr  g      ?g      ?r   rG   r   r   rQ   rq   r   rT   rP   )r<   rB   rO   r+   r,   r   r   r-   r)   r.   r/   rJ   r   from_tuplesr%   )r   r  outputr   r  r2   r  r3   r4   r4   r5   ,test_apply_to_nullable_integer_returns_float2  s   
r  r  )
r~  r  rt   ru   r   r   skewr  r  r  r   r(   c           
         s  t dg} dkr|}d}n|j}d}tjt|d |jd |d}W d    n1 s-w   Y  dkr]t|d}|jdd fd	d
}	|rU|	j d}	t	||	 d S t| }|jdd fdd
}	|ry|	j d}	t	||	 d S )Nr   zAThe 'axis' keyword in DataFrame.groupby is deprecated and will bez+DataFrame.groupby with axis=1 is deprecatedrd   )rn  r   r   r  r'   rm  c                    s   t |  dS )N)r   r(   r)   rr  r   r  r(   r4   r5   r   v  s    z3test_regression_allowlist_methods.<locals>.<lambda>r   c                    s   t |  dS )Nr   r  r  )r   r  r4   r5   r   }  s    )
r   Tr.   r   r   r-   r)   rT  r   r/   )
r  r   r(   r   	raw_frameframer   r   r3   r2   r4   r  r5   !test_regression_allowlist_methodsQ  s,   
r  c                  C   s   ddgddgddgddgddgddgddgdd	gdd
gddgddgddgddgddgg} t | ddgdd}|dg  }t dgdgddd}t|| d S )Nr   r   )   r   rJ  rK        r   r   +   r   /   rL  X   r8   r9   r  )r%   rH   l   N+R@r  rG   )r   r-   r  rU  r.   r/   )rE   r0   r3   r2   r4   r4   r5   "test_groupby_prod_with_int64_dtype  s&   r  )fr*   datetimer   stringr   numpyr<   rf   pandas._libs.tslibsr   pandas.core.dtypes.commonr   pandas.core.dtypes.missingr   pandasr+   r   r   r   r	   r
   r   pandas._testing_testingr.   pandas.utilr   tdmarkparametrizer=   r6   r?   rD   rZ   rN   rB   r`   rY   r_   r  rc   ri   rk   r{   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  strr  r+  r4  r8  r;  rC  slowr]  rc  rl  ro  rv  r,   r   rx  rz  r|  r}  r  r  r  r  r  r  r   r   r  r  r~  r  rt   ru   r   param
skip_if_nor  r  r  r  r4   r4   r4   r5   <module>   s    






	

	

( 





/

"
)





 