
    .i                        d dl Zd dlZd dlZd dl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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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        _/var/www/app/trading-bot/venv/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   methodhas_nan_groupTFc           	      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?)   g?)r   r1   r1   r	   r1   T)dropr   r   r!   	group_col)r&   dropna)limit)r1   r   r   r1   r1   r1   )r1   r   r   r1   r	   r	   )r   r   r1   r1   r1   r1   )r   r   r1   r	   r	   r1   ))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)   )r4   r-   r.   df_without_nan_rowsridxr   group_bgroupedr   expected_rowsr   s              r   test_ffill_handles_nan_groupsrA   &   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, valuer0   )r1   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   rH   r   )index)r   r   r   r   r   r   r   r)   )r   rI   valuer   r   r   s         r   test_min_countrL   I   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	   )r0   r!   r"   )         rG   r   r   r   ))r
   r0   )r
   r!   )r   r   r   r   indicesarray)r   gr   r   s       r   test_indices_with_missingrT   S   sd    	!QiiH	IB


C:AYYF((A3-288QC=AHXr   )numpyr   pytestpandasr'   r   r   pandas._testing_testingr   markparametrizer   r,   rA   r   rL   rT    r   r   <module>r]      s       '7!34	, 5	, '7!34	, 5	, GW#564-8, 9 7,B +q"&&k9-EF!@A, B G,r   