U
    f/ee                     @   s   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	 d dl
mZ dd Zdd Zdd	 Zd
d Zdd Zejdddgdd Zejdddgdd Zdd ZejdddgedddZdS )    N)iNaT)	DataFrameIndexSeriesc                  C   s   t ddddgddddgddg d} | d	 }d
|ks@t| d	jdd}d
|ks^t| d	 }d
|ksxt| d	jdd}d
|kstd S )N                  Zmama)nniissr   r   FZnumeric_only)r   groupbymaxAssertionErrormin)Zaaresult r   E/tmp/pip-unpacked-wheel-tiezk1ph/pandas/tests/groupby/test_min_max.pytest_max_min_non_numeric   s    &r   c              	   C   s  t dddddgdddddgddd	d
dgd}|  | sNt|jjdksNt|d}tjt	dd |j
dd}W 5 Q R X tdddgdd}t ddd
dgi|d}t|| tjt	dd |jdd}W 5 Q R X tdddgdd}t ddd	dgi|d}t|| d S )Nr   r	   r
   ZfoobarFabcde)ABCr   zDropping invalid)matchr   namer    index)r   Z_consolidate_inplacelenZ_mgrblocksr   r   tmZassert_produces_warningFutureWarningr   r   assert_frame_equalr   )Zusing_array_managerdfgbr   eiexpectedr   r   r   $test_max_min_object_multiple_columns    s(    
r/   c                  C   s   t jtdddgddjj} ttjdtjgdddg| 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 )Nz
2019-05-09z%Y-%m-%d)format1r   r   )r   r   r   r   F)Zas_indexr   r"   )pdZto_datetimer   dtdater   npnanr   r   r(   assert_series_equalr%   r#   )datesr+   r   r.   r   r   r   test_min_date_with_nansA   s     
  
r9   c                  C   s   t dtg} | ddg}|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   r	   Z	min_countdtypeTZcheck_exactr
   )
r   r   r   r   r5   Zint64r(   r7   r   r6   Zserr,   r   r.   r   r   r   test_max_inatS   s    r?   c                  C   s^   t dtdtd g} | ddddg}|jdd}t tjtjtd d}tj||dd d S )Nr   r	   r
   r:   )r   r	   r
   Tr=   )r   r   r   r   r5   r6   r(   r7   r>   r   r   r   test_max_inat_not_all_naf   s
    r@   funcr   r   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periodsfreqr   r   r   r   r"   )r%   r#   )	r2   period_ranger   getattrr   
Int64Indexr   r(   r7   rA   groupsrE   r+   r   idxr.   r   r   r   $test_groupby_aggregate_period_columns   s    rN   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	   rB   rC   rD   rG   r   r"   r   r$   )r2   rH   r   rI   r   rJ   r(   r*   rK   r   r   r   #test_groupby_aggregate_period_frame   s    rO   c                  C   s   t ddddg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 ddddgtdtddt} | d }t ddgddgd	d
gdd}t	
|| d S )Nr   r   Zabcdr   )keyZcol1Zcol2rP   r   r   r   r	   )r   listr5   r6   astypeobjectr   r   Z	set_indexr(   r*   range)r+   r   r.   r   r   r   #test_aggregate_numeric_object_dtype   s0    rU   )rA   c                 C   sx   t dgddj }tdg|d}|dd| i}tddgitdgddd	}|d |j|d< t	
|| d S )
Nr   categoryr;   i  )r   r   r   r   r"   r$   )r   catZ
as_orderedr   r   Zaggr   rR   r<   r(   r*   )rA   Zdsr+   r   r.   r   r   r   %test_aggregate_categorical_lost_index   s    rX   )Znumpyr5   ZpytestZpandas._libs.tslibsr   Zpandasr2   r   r   r   Zpandas._testingZ_testingr(   r   r/   r9   r?   r@   markZparametrizerN   rO   rU   strrX   r   r   r   r   <module>   s"   !

