U
    ÎZj   ã                   @   s*  d dl Zd dlZd dlZd dlmZmZmZ d dlm	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ddgfddddgfg¡dd„ ƒZdd„ Zej dddg¡ej dddg¡ej dddg¡dd„ ƒƒƒZej ddejfdg¡ej dddddg¡d d!„ ƒƒZd"d#„ ZdS )$é    N)Ú	DataFrameÚIndexÚ
date_rangeÚfuncÚffillÚbfillc                 C   sx   t dddgdtjtjgdddggtdddgd	d
�d�}| dg¡ddg }t|| ƒƒ j}tddgd	d
�}t ||¡ d S )Né   ç      ð?g      ð¿g       @g       ÀÚtypeÚaÚbÚidx©Úname©Úcolumns)	r   ÚnpÚnanr   ÚgroupbyÚgetattrr   ÚtmZassert_index_equal)r   ÚdfÚ
df_groupedÚresultÚexpected© r   úd/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/pandas/tests/groupby/test_missing.pyÚ.test_groupby_column_index_name_lost_fill_funcs   s    þr   c                 C   sŠ   t dddgdddgdœƒ}t ddtjdgiƒ}tj||gdd�jdgd�}t dd	gdtjgdd
ggddgd�}t|| ƒƒ }t ||¡ d S )Nr   é   é   )Úfield1Úfield2r    )Úaxisr!   )Úbyr	   g      @r   )	r   r   r   ÚpdÚconcatr   r   r   Úassert_frame_equal)r   Zdf1Zdf2r   r   r   r   r   r   Ú(test_groupby_fill_duplicate_column_names   s     ÿr'   c               	   C   sB   t ddgddgdœƒ} tjtdd�� |  d¡ ¡  W 5 Q R X d S )Nr   é   ©r   r   zMust specify a fill)Úmatchr   )r   ÚpytestZraisesÚ
ValueErrorr   Úfillna)r   r   r   r   Útest_ffill_missing_arguments'   s    r.   zmethod, expectedr   c                 C   s`   t tjd dd gdd�dddgdœƒ}| d¡}|j| d�}t dtj|dd�iƒ}t ||¡ d S )Nr   Ústring)Zdtyper   r)   r   ©Úmethod)r   r$   Úarrayr   r-   r   r&   )r1   r   r   Úgrpr   r   r   r   Útest_fillna_with_string_dtype.   s
    $
r4   c                  C   sÎ   t tj ddgtddƒg¡tddgdd�d	�} tjd
tjtjdtjtjdtjtjdtjg| d< tjdtjtjdtjtjdtjtjdtjg| d< | jddd�j	dd�}| j
jdd
d�j	dd�j
}t ||¡ d S )NZvalue1Zvalue2z
2014-01-01z
2014-01-06Ú1Ú2Úidr   )Úindexr   r   é   r(   é   r   é!   r   é,   r   )Úlevelr"   r   r0   )r   r$   Z
MultiIndexZfrom_productr   r   r   r   r   r-   ÚTr   r&   )r   r   r   r   r   r   Útest_fill_consistency:   sF    ÿüôôr?   r1   ÚdropnaTFÚhas_nan_groupc                 C   s.  t ddgƒ}ddddddg}| |¡jdd�}|r8tjnd}t d	gd
 |gd
  ¡|d< |jd| d�}t||ƒd d�}ddddddgddddddgddddddgddddddgddddddgddddddgddddddgddddddgdœ}	|	 	|| |f¡}| |¡jdd�}
|
j
 t¡|
_
t ||
¡ d S )N)r   gš™™™™™¹?)r(   gš™™™™™É?éÿÿÿÿr   r   T)Zdropr   r   r   Z	group_col)r#   r@   )Úlimit))r   TT)r   TF)r   FT)r   FF)r   TT)r   TF)r   FT)r   FF)r   ZreindexZreset_indexr   r   r$   ZSeriesr   r   Úgetr   ZastypeÚobjectr   r&   )r@   r1   rA   Zdf_without_nan_rowsZridxr   Zgroup_bÚgroupedr   Zexpected_rowsr   r   r   r   Útest_ffill_handles_nan_groupsg   s(    ørG   zmin_count, valuer(   )rB   r	   ÚfirstÚlastÚmaxÚminc                 C   sp   t dgd dtjtjgtjgd dœƒ}t| d¡| ƒ|d�}t |gtjgdœtdgdd�d�}t ||¡ d S )	Nr   r   ©r   r   Úcr   )Ú	min_count)r   rM   r   )r8   )r   r   r   r   r   r   r   r&   )r   rN   Úvaluer   r   r   r   r   r   Útest_min_count‹   s    ("rP   c                  C   sb   t ddtjgdddgdddgdœƒ} |  d	d
g¡}|j}t dg¡t dg¡dœ}||ks^t‚d S )Nr   r(   r   r   é   é   é   rL   r   r   r   ))r	   r(   )r	   r   )r   r   r   r   Úindicesr2   ÚAssertionError)r   Úgr   r   r   r   r   Útest_indices_with_missing•   s
    $rW   )Únumpyr   r+   Zpandasr$   r   r   r   Zpandas._testingZ_testingr   ÚmarkZparametrizer   r'   r.   r4   r?   rG   r   rP   rW   r   r   r   r   Ú<module>   s.   

 ÿ
	-!