
    Owg                        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                  j                  dddg      d        Zej                  j                  dddg      d        Zd Zej                  j                  d	dg d
fdg dfg      d        Zd Zej                  j                  dddg      ej                  j                  dddg      ej                  j                  dddg      d                      Zej                  j                  ddej&                  fdg      ej                  j                  dg d      d               Zd Zy)    N)	DataFrameIndex
date_rangefuncffillbfillc                 2   t        g ddt        j                  t        j                  gg dgt        g dd            }|j	                  dg      d	d
g   } t        ||              j                  }t        d	d
gd      }t        j                  ||       y )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        X/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/groupby/test_missing.py.test_groupby_column_index_name_lost_fill_funcsr      s     
	!RVVRVV,n=(u5
B VH%sCj1J&WZ&(00Fc3Ze,H&(+    c                 R   t        g dg dd      }t        ddt        j                  dgi      }t        j                  ||gd      j                  dg      }t        dd	gd
t        j                  gddggddg      } t        ||              }t        j                  ||       y )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     yI>
?C
X2661~.
/CC:A.668*6EJ
SArvv;C)Hh3GH 'WZ&(F&(+r    c                  *   t        ddgddgd      } d}t        j                  t        |      5  t	        j
                  t        d      5  | j                  d      j                          d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)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 	%JJsO""$	%% %	% 	%% %s#   B	 A=,B	=B	B		Bzmethod, expected)Nr   r   )r   r   Nc                 l   t        t        j                  g dd      g dd      }|j                  d      }d}t	        j
                  t        |      5  |j                  | 	      }d d d        t        d
t        j                  |d      i      }t	        j                  |       y # 1 sw Y   BxY w)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    
 
"38D9U	VB
**S/C
1C		#	#M	= +6*+#rxxABCH&(++ +s   B**B3c                  :   t        t        j                  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  | j                  dd      j                  d      }d d d        d}t        j                  t        |      5  | j                  j                  dd
      j                  d      j                  }d d d        t        j                         y # 1 sw Y   }xY w# 1 sw Y   ,xY w)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   >   s    
mm((!:lL#IJ
 sCjt,	
B 		




	



BsG 		




	



BsG BC		#	#M	= F::AA:.55W5EF 8C		#	#M	= HAA.55W5EGGH&(+F FH Hs   %$H.8HHHr@   dropnaTFhas_nan_groupc           	      6   t        ddg      }g d}|j                  |      j                  d      }|rt        j                  nd}t        j                  dgdz  |gdz  z         |d	<   |j                  d	| 
      } t        ||      d       }g dg dg dg dg dg dg dg dd}	|	j                  || |f      }|j                  |      j                  d      }
|
j                  j                  t              |
_
        t        j                  ||
       y )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   s    $Xx$89!D		$	$T	*	6	6D	6	AB%bff3Gii	WIM 9:B{OjjKj7G%WWf%D1F  6 4 4!55 4 4!5	M ffm<=D"**40<<$<GH''..v6H&(+r    zmin_count, valuer/   )rW   r   )firstlastmaxminc                 T   t        dgdz  dt        j                  t        j                  gt        j                  gdz  d      } t        |j	                  d      |       |      }t        |gt        j                  gdt        dgd            }t        j                  ||       y )	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266266':"&&AN	OB+WRZZ_d+i@FwbffX6eQCc>RSH&(+r    c                      t        ddt        j                  gg dg dd      } | j                  ddg      }|j                  }t        j
                  dg      t        j
                  dg      d}||k(  sJ y )	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      sd    	!QiiH	IB


C:AYYF((A3-288QC=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      sn      
  '7!34	, 5	, '7!34	, 5	,% '#34w@P6QR,,.,b GW#56D%=14-8, 9 2 7,B +q"&&k9-EF!@A, B G,r    