
    o[we                        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        Alib/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                      t          ddgddgd          } t          j        t          d          5  |                     d                                           d d d            d S # 1 swxY w Y   d S )Nr
      r   r   zMust specify a fillmatchr   )r   pytestraises
ValueErrorr   fillna)r   s    r   test_ffill_missing_argumentsr7   '   s    	!Qq!f--	.	.B	z)>	?	?	? ! !


3   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s   (A''A+.A+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   z3DataFrameGroupBy.fillna with 'method' is deprecatedr1   methodr   )	r   r(   arrayr   r   assert_produces_warningFutureWarningr6   r*   )r<   r   r   grpmsgr   s         r   test_fillna_with_string_dtyperB   .   s    
 
"3"3"38DDD999UU	V	VB
**S//C
?C		#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 deprecatedr1   r   )levelr&   r   r;   z+DataFrame.groupby with axis=1 is deprecated)r   r(   
MultiIndexfrom_productr   r   r   r   r   r>   r?   r   r6   Tr*   )r   rA   r   r   s       r   test_fill_consistencyrR   <   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   rV   rV   r
   rV   T)dropr   r   r"   	group_col)r'   rS   )limit)rV   r   r   rV   rV   rV   )rV   r   r   rV   r
   r
   )r   r   rV   rV   rV   rV   )r   r   rV   r
   r
   rV   ))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*   )rS   r<   rT   df_without_nan_rowsridxr   group_bgroupedr   expected_rowsr   s              r   test_ffill_handles_nan_groupsre   m   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/   )rV   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   rl   r   )rI   )r   r   r   r   r   r   r   r*   )r   rm   valuer   r   r   s         r   test_min_countro      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#   )         rk   r   r   r   ))r   r/   )r   r"   )r   r   r   r   indicesr=   )r   gr   r   s       r   test_indices_with_missingrv      s}    	!QiiiiiiHH	I	IB


C:AYF(A3--28QC==AAHXr    )numpyr   r3   pandasr(   r   r   r   pandas._testing_testingr   markparametrizer   r-   r7   rB   rR   re   r   ro   rv    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    