a
    é´«jî  ã                   @   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   ú`/var/www/html/laksyashrimp/venv/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   sˆ   t ddgddgdœƒ} d}tjt|d��L tjtdd�� |  d¡ ¡  W d   ƒ n1 s\0    Y  W d   ƒ n1 sz0    Y  d S )Nr   é   ©r   r   ú%DataFrameGroupBy.fillna is deprecated©ÚmatchzMust specify a fillr   )	r   r   Úassert_produces_warningÚFutureWarningÚpytestZraisesÚ
ValueErrorr   Úfillna)r   Úmsgr   r   r   Útest_ffill_missing_arguments'   s
    r3   zmethod, expected)Nr   r   )r   r   Nc                 C   sŽ   t tjg d¢dd�g d¢dœƒ}| d¡}d}tjt|d�� |j| d	�}W d   ƒ n1 s^0    Y  t d
tj|dd�iƒ}t ||¡ d S )N)Nr   NÚstring)Zdtype)r   r   r   r)   r   r*   r+   ©Úmethodr   )	r   r$   Úarrayr   r   r-   r.   r1   r&   )r6   r   r   Úgrpr2   r   r   r   r   Útest_fillna_with_string_dtype0   s     
*r9   c                  C   s4  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< d}tj	t
|d��& | jddd�jdd�}W d   ƒ n1 sÌ0    Y  d}tj	t
|d��* | jjdd
d�jdd�j}W d   ƒ n1 �s0    Y  t ||¡ d S )NZvalue1Zvalue2z
2014-01-01z
2014-01-06Ú1Ú2Úidr   )Úindexr   r   é   r(   é   r   é!   r   é,   z5The 'axis' keyword in DataFrame.groupby is deprecatedr+   r   )Úlevelr"   r   r5   z+DataFrame.groupby with axis=1 is deprecated)r   r$   Z
MultiIndexZfrom_productr   r   r   r   r   r-   r.   r   r1   ÚTr&   )r   r2   r   r   r   r   r   Útest_fill_consistency>   sN    ÿüôô4:rD   r6   Ú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   rG   rG   r   rG   T)Zdropr   r   r   Z	group_col)r#   rE   )Úlimit)rG   r   r   rG   rG   rG   )rG   r   r   rG   r   r   )r   r   rG   rG   rG   rG   )r   r   rG   r   r   rG   ))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&   )rE   r6   rF   Zdf_without_nan_rowsZridxr   Zgroup_bÚgroupedr   Zexpected_rowsr   r   r   r   Útest_ffill_handles_nan_groupso   s(    ørL   zmin_count, valuer(   )rG   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   rR   r   )r=   )r   r   r   r   r   r   r   r&   )r   rS   Úvaluer   r   r   r   r   r   Útest_min_count“   s    ("rU   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   )é   é   é   rQ   r   r   r   ))r	   r(   )r	   r   )r   r   r   r   Úindicesr7   )r   Úgr   r   r   r   r   Útest_indices_with_missing�   s
     r[   )Únumpyr   r/   Zpandasr$   r   r   r   Zpandas._testingZ_testingr   ÚmarkZparametrizer   r'   r3   r9   rD   rL   r   rU   r[   r   r   r   r   Ú<module>   s,   

	ÿ
1!