a
    oÝEb   ã                   @   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g d¢fdg d¢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g d¢¡dd„ ƒƒZd d!„ ZdS )"é    N)Ú	DataFrameÚIndexÚ
date_rangeÚfuncÚffillÚbfillc                 C   sr   t g d¢dtjtjgg d¢gtg d¢dd�d�}| dg¡d	d
g }t|| ƒƒ j}td	d
gdd�}t ||¡ d S )N)é   ç      ð?g      ð¿r   )r   g       @g       À)ÚtypeÚaÚbÚidx©Úname©Úcolumnsr
   r   r   )	r   ÚnpÚnanr   ÚgroupbyÚgetattrr   ÚtmZassert_index_equal)r   ÚdfÚ
df_groupedÚresultÚexpected© r   úa/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/pandas/tests/groupby/test_missing.pyÚ.test_groupby_column_index_name_lost_fill_funcs   s    þr   c                 C   s†   t g d¢g d¢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 )N)r   é   é   )Úfield1Úfield2r    r   r   )Úaxisr!   )Úbyr	   r   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   sV   t ddgddgdœƒ} tjtdd�� |  d¡ ¡  W d   ƒ n1 sH0    Y  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, expected)Nr   r   )r   r   Nc                 C   s\   t tjg d¢dd�g d¢dœƒ}| d¡}|j| d�}t dtj|dd�iƒ}t ||¡ d S )	N)Nr   NÚstring)Zdtype)r   r   r   r)   r   ©Úmethodr   )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ƒ}g d¢}| |¡jdd�}|r0tjnd}t dgd |gd  ¡|d	< |jd	| d
�}t||ƒd d�}g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢dœ}	|	 	|| |f¡}| |¡jdd�}
|
j
 t¡|
_
t ||
¡ d S )N)r   gš™™™™™¹?)r(   gš™™™™™É?)éÿÿÿÿr   rB   rB   r   rB   T)Zdropr   r   r   Z	group_col)r#   r@   )Úlimit)rB   r   r   rB   rB   rB   )rB   r   r   rB   r   r   )r   r   rB   rB   rB   rB   )r   r   rB   r   r   rB   ))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   s^   t ddtjgg d¢g d¢dœƒ} |  ddg¡}|j}t dg¡t dg¡dœ}||ksZJ ‚d S )	Nr   )r(   r   r   )é   é   é   rL   r   r   r   ))r	   r(   )r	   r   )r   r   r   r   Úindicesr2   )r   Úgr   r   r   r   r   Útest_indices_with_missing•   s
     rV   )Únumpyr   r+   Zpandasr$   r   r   r   Zpandas._testingZ_testingr   ÚmarkZparametrizer   r'   r.   r4   r?   rG   r   rP   rV   r   r   r   r   Ú<module>   s,   

ÿ
	-!