
    d                        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        ]/var/www/html/t/fyr/venv311/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                      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_argumentsr6   '   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          }|                    |           }t          dt          j        |d          i          }t          j        ||           d S )	N)Nr   Nstring)dtype)r   r   r   r0   r   methodr   )r   r(   arrayr   r5   r   r*   )r;   r   r   grpr   s        r   test_fillna_with_string_dtyper>   .   s    
 
"3"3"38DDD999UU	V	VB
**S//CZZvZ&&F#rxAAABCCH&(+++++r    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d          	                    d          }| j
                            dd
          	                    d          j
        }t          j        ||           d S )Nvalue1value2z
2014-01-01z
2014-01-0612idr   )indexr   r
      r/      r"   !   r#   ,   r   )levelr&   r   r:   )r   r(   
MultiIndexfrom_productr   r   r   r   r   r5   Tr   r*   )r   r   r   s      r   test_fill_consistencyrN   :   sH    
m((!:lL#I#IJ
 
 sCjt,,,	
 
 
B 		




	



BsG 		




	



BsG zzz**111AAHT\\\**111AACF&(+++++r    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   rR   rR   r
   rR   T)dropr   r   r"   	group_col)r'   rO   )limit)rR   r   r   rR   rR   rR   )rR   r   r   rR   r
   r
   )r   r   rR   rR   rR   rR   )r   r   rR   r
   r
   rR   ))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*   )rO   r;   rP   df_without_nan_rowsridxr   group_bgroupedr   expected_rowsr   s              r   test_ffill_handles_nan_groupsra   f   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/   )rR   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   rh   r   )rE   )r   r   r   r   r   r   r   r*   )r   ri   valuer   r   r   s         r   test_min_countrk      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#   )         rg   r   r   r   ))r   r/   )r   r"   )r   r   r   r   indicesr<   )r   gr   r   s       r   test_indices_with_missingrr      s}    	!QiiiiiiHH	I	IB


C:AYF(A3--28QC==AAHXr    )numpyr   r2   pandasr(   r   r   r   pandas._testing_testingr   markparametrizer   r-   r6   r>   rN   ra   r   rk   rr    r    r   <module>rz      s2                    
       '7!344	, 	, 54	, '7!344	, 	, 54	,! ! ! '#3#3#34w@P@P@P6QR , , ,), ), ),X 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    