a
    Pf                     @   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   Z/var/www/ai-form-bot/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 s0    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!