
    bMh                        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             Zej                            dddg          d             Zd Zej                            d	dg d
fdg dfg          d             Zd Zej                            dddg          ej                            dddg          ej                            dddg          d                                     Zej                            ddej        fdg          ej                            dg d          d                         Zd ZdS )    N)	DataFrameIndex
date_rangefuncffillbfillc                 L   t          g ddt          j        t          j        gg dgt          g dd                    }|                    dg          d	d
g         } t          ||                       j        }t          d	d
gd          }t          j        ||           d S )N)         ?g      r
   )r
   g       @g       )typeabidxnamecolumnsr   r   r   )	r   npnanr   groupbygetattrr   tmassert_index_equal)r   df
df_groupedresultexpecteds        a/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/groupby/test_missing.py.test_groupby_column_index_name_lost_fill_funcsr      s     
	!RVRV,nnn=(((u555
 
 
B VH%%sCj1J&WZ&&((0Fc3Ze,,,H&(+++++    c                 n   t          g dg dd          }t          ddt          j        dgi          }t          j        ||gd                              dg          }t          dd	gd
t          j        gddggddg          } t          ||                       }t          j        ||           d S )N)r
         )field1field2r$   r
   r#   )axisr%   )byr   r"   g      @r   )	r   r   r   pdconcatr   r   r   assert_frame_equal)r   df1df2r   r   r   s         r   (test_groupby_fill_duplicate_column_namesr-      s     yyyIII>>
?
?C
X261~.
/
/CC:A...668*6EEJ
SArv;C)Hh3G  H 'WZ&&((F&(+++++r    c                  R   t          ddgddgd          } d}t          j        t          |          5  t	          j        t          d          5  |                     d                                           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr
      r   r   %DataFrameGroupBy.fillna is deprecatedmatchzMust specify a fillr   )	r   r   assert_produces_warningFutureWarningpytestraises
ValueErrorr   fillna)r   msgs     r   test_ffill_missing_argumentsr;   '   s%   	!Qq!f--	.	.B
1C		#M	=	=	= % %]:-BCCC 	% 	%JJsOO""$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%% % % % % % % % % % % % % % % % % %s5   B(B8BB	BB	BB #B zmethod, expected)Nr   r   )r   r   Nc                    t          t          j        g dd          g dd          }|                    d          }d}t	          j        t          |          5  |                    | 	          }d d d            n# 1 swxY w Y   t          d
t          j        |d          i          }t	          j        ||           d S )N)Nr   Nstring)dtype)r   r   r   r0   r   r1   r2   methodr   )	r   r(   arrayr   r   r4   r5   r9   r*   )r@   r   r   grpr:   r   s         r   test_fillna_with_string_dtyperC   0   s    
 
"3"3"38DDD999UU	V	VB
**S//C
1C		#M	=	=	= + +6**+ + + + + + + + + + + + + + +#rxAAABCCH&(+++++s   B  BBc                     t          t          j                            ddgt	          dd          g          t          ddg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          |          5  |                     dd                              d          }d d d            n# 1 swxY w Y   d}t          j	        t          |          5  | j                            dd
                              d          j        }d d d            n# 1 swxY w Y   t          j        ||           d S )Nvalue1value2z
2014-01-01z
2014-01-0612idr   )indexr   r
      r/      r"   !   r#   ,   z5The 'axis' keyword in DataFrame.groupby is deprecatedr2   r   )levelr&   r   r?   z+DataFrame.groupby with axis=1 is deprecated)r   r(   
MultiIndexfrom_productr   r   r   r   r   r4   r5   r   r9   Tr*   )r   r:   r   r   s       r   test_fill_consistencyrS   >   sM    
m((!:lL#I#IJ
 
 sCjt,,,	
 
 
B 		




	



BsG 		




	



BsG BC		#M	=	=	= F F::AA:..55W5EEF F F F F F F F F F F F F F F 8C		#M	=	=	= H HAA..55W5EEGH H H H H H H H H H H H H H H&(+++++s$   1,E))E-0E-6GGGr@   dropnaTFhas_nan_groupc           	      r   t          ddg          }g d}|                    |                              d          }|rt          j        nd}t          j        dgdz  |gdz  z             |d	<   |                    d	| 
          } t          ||          d           }g dg dg dg dg dg dg dg dd}	|		                    || |f          }|                    |                              d          }
|
j
                            t                    |
_
        t          j        ||
           d S )N)r
   g?)r/   g?)r   rW   rW   r
   rW   T)dropr   r   r"   	group_col)r'   rT   )limit)rW   r   r   rW   rW   rW   )rW   r   r   rW   r
   r
   )r   r   rW   rW   rW   rW   )r   r   rW   r
   r
   rW   ))r   TT)r   TF)r   FT)r   FF)r   TT)r   TF)r   FT)r   FF)r   reindexreset_indexr   r   r(   Seriesr   r   getr   astypeobjectr   r*   )rT   r@   rU   df_without_nan_rowsridxr   group_bgroupedr   expected_rowsr   s              r   test_ffill_handles_nan_groupsrf   o   ss    $Xx$899!!!D		$	$T	*	*	6	6D	6	A	AB%.bff3Gi	WIM 9::B{OjjKj77G%WWf%%D111F  655 4 4 4 4 4 4!5!5!5555 4 4 4 4 4 4!5!5!5	 	M ffm<==D"**400<<$<GGH'..v66H&(+++++r    zmin_count, valuer/   )rW   r   )firstlastmaxminc                 b   t          dgdz  dt          j        t          j        gt          j        gdz  d          } t          |                    d          |           |          }t          |gt          j        gdt          dgd                    }t          j        ||           d S )	Nr
   r"   r   r   cr   )	min_count)r   rm   r   )rJ   )r   r   r   r   r   r   r   r*   )r   rn   valuer   r   r   s         r   test_min_countrp      s     
!q2626':"&ANN	O	OB+WRZZ__d++i@@@FwbfX66eQCc>R>R>RSSSH&(+++++r    c                      t          ddt          j        gg dg dd          } |                     ddg          }|j        }t          j        dg          t          j        dg          d}||k    sJ d S )	Nr
   )r/   r"   r#   )         rl   r   r   r   ))r   r/   )r   r"   )r   r   r   r   indicesrA   )r   gr   r   s       r   test_indices_with_missingrw      s}    	!QiiiiiiHH	I	IB


C:AYF(A3--28QC==AAHXr    )numpyr   r6   pandasr(   r   r   r   pandas._testing_testingr   markparametrizer   r-   r;   rC   rS   rf   r   rp   rw    r    r   <module>r      s2                    
       '7!344	, 	, 54	, '7!344	, 	, 54	,% % % '#3#3#34w@P@P@P6QR , , ,., ., .,b GW#566D%=114-88, , 98 21 76,B +q"&k9-EFF!@!@!@AA, , BA GF,    r    