
    d$              
          d dl Z d dlZd dlZd dlZd dlmZ ej	        
                    dd g dgddggdg gdg dgdd	d
ggdg gg          d             Zd Zej	        
                    dd dgg dgg dg dg ed dd          g dgd dhg dggg d          d             Zd Zd Zd Zej	        
                    dd g dgg dg dg edd           edd          fg dgg          d             Zd Z ej                    d             Zd Zd Zej	        
                    dg d          ej	        
                    d d!d"g          ej	        
                    d#d$d%g          d&                                     Zej	        
                    d'g d(          ej	        
                    d)g d(          ej	        
                    d*g d+          d,                                     Zd- Zej	        
                    d*g d.          d/             Z ej                    d0             Zd1 Zd2 Zej	        
                    d3e ej!        ej"        ej#        g          d4             Z$d5 Z%dS )6    Nzarg, expected_rows)r               )   r      r      ic                 d    |j         |         }| j        |         }t          j        ||           d S N_positional_selectoriloctmassert_frame_equalslice_test_dfslice_test_groupedargexpected_rowsresultexpecteds         ^/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/groupby/test_indexing.pytest_intr      s7      4S9F!-0H&(+++++    c                 n    |j         ddd         }| j        g d         }t          j        ||           d S )Nr   r   r   r   r   r   r   r   r   r   r   r   s       r   
test_slicer       s?    4QqU;F!,,,/H&(+++++r   r   r   r   r   r   r   r   r   r   r	   r   )listnegativerangeset)idsc                 d    |j         |         }| j        |         }t          j        ||           d S r   r   r   s         r   	test_listr)   '   s7    "  4S9F!-0H&(+++++r   c                 h    |j         d         }| j        g d         }t          j        ||           d S )Nr!   r"   r   r   s       r   	test_intsr+   >   s<    4X>F!"4"4"45H&(+++++r   c                 t    |j         d ddd f         }| j        g d         }t          j        ||           d S )Nr   r
   r   r   r   r   r   r   r	   r   r   s       r   test_slicesr.   F   sH    4RaRW=F!"7"7"78H&(+++++r   c                 r    |j         dddd f         }| j        g d         }t          j        ||           d S )Nr   r   r
   r-   r   r   s       r   test_mixr0   N   sF    4Q233Y?F!"7"7"78H&(+++++r   r-   c                     |                      dd          j        |         }| j        |         }t          j        ||           d S )NGroupF)sort)groupbyr   r   r   r   )r   r   r   r   r   s        r   test_as_indexr5   V   sJ     ""7"77LSQF!-0H&(+++++r   c                     t          j        ddgddgddgddgddggdd	g
          } |                     dd          }|j        dd         }t          j        ddgddggdd	gddg          }t	          j        ||           |j        d         }t          j        ddgddgddggdd	gg d          }t	          j        ||           d S )Nar   r   r   br   r   ABcolumnsFas_indexr<   index)r   r   )r   r   r   )pd	DataFramer4   r   r   r   )dfgroupedr   r   s       r   test_doc_examplesrE   f   s   	
qC8c1XQx#q:S#J
 
 
B jjuj--G)!A#.F|c1XQx03*QPQFSSSH&(+++)%0F|
qC8c1X&c
)))  H &(+++++r   c                     d} d}t          j        d| d          }d t          |          D             }i }|D ]J}|t          j        dd          z
  }d	 |d |         D             }|                    d
            |||<   K|S )Nd      20130101D)periodsfreqc                     g | ]}d | S )zitem  .0is     r   
<listcomp>z#multiindex_data.<locals>.<listcomp>   s    000Q[Q[[000r   r      c                 p    g | ]3}|t          j        d d          dz  t          j        d d          dz  f4S )r   i'  rG   )randomrandint)rP   items     r   rR   z#multiindex_data.<locals>.<listcomp>   sQ     
 
 
 6>!U++c16>!U3K3Kc3QR
 
 
r   c                     | d         S )Nr   rN   xs    r   <lambda>z!multiindex_data.<locals>.<lambda>   s
    !A$ r   )key)rA   
date_ranger%   rU   rV   r3   )ndatesnitemsdatesitemsdatadatenitems_for_datelevelss           r   multiindex_datarf   {   s    FFM*f3???E00%--000ED   6>!R#8#88
 
../
 
 
 	'''T

Kr   c                     i }| D ])}| |         D ]}|d         |d         d|||d         f<   *t           j                            |d          }d|j        _        |S )Nr   r   )r9   r:   r   r@   )orient)DateItem)rA   rB   	from_dictr@   names)rb   rowsrc   levelrC   s        r   _make_df_from_dataro      s    D D D$Z 	D 	DE+08%(%C%CD$a!""	D 
		W		5	5B%BHNIr   c                      t                     }|                    dd                              t          dd                    } fd D             }t          |          }t	          j        ||           d S )Nri   Fr=   r   c                 2    i | ]}||         d d         S )r   rq   rN   )rP   rc   rf   s     r   
<dictcomp>z#test_multiindex.<locals>.<dictcomp>   s)    LLLDdOD)!B$/LLLr   )ro   r4   nthslicer   r   )rf   rC   r   slicedr   s   `    r   test_multiindexrw      sz    	O	,	,BZZZ//33E!RLLAAFLLLLOLLLF!&))H&(+++++r   r   )r   r      i  r   iimethodheadtail	simulatedTFc                 J   dd}fdt          |          D             fdt          |          D             d}t          j        |          }|                    dd          }| d	k    r| n|| z   }|d
k    r|j        d |          }|r^g }	t          |          D ]>}
t                    D ],}|
z  |z   |z  k     r|	                    |
z  |z              -?|j        |	         }n|                    |           }n|j        |  d          }|rgg }	t          |          D ]G}
t                    D ]5}||
z   |z
  z  |z   d	k    r!|	                    ||
z   |z
  z  |z              6H|j        |	         }n|                    |           }t          j
        ||           d S )NrG   rx   c                 >    g | ]}t                    D ]}d | S )group r%   rP   jgn_groupss      r   rR   z.test_against_head_and_tail.<locals>.<listcomp>   sF     
 
 
5??
 
>?LQLL
 
 
 
r   c                 D    g | ]}t                    D ]
}d | d| S )r   z row r   r   s      r   rR   z.test_against_head_and_tail.<locals>.<listcomp>   sV     
 
 
8__
 
  !Q  Q  
 
 
 
r   groupvaluer   Fr=   r   r{   )r%   rA   rB   r4   r   appendr   r{   r|   r   r   )r   rz   r}   n_rows_per_grouprb   rC   rD   sizer   indicesr   rQ   r   r   s                @r   test_against_head_and_tailr      sD   
 H
 
 
 
"'(8"9"9
 
 

 
 
 
+,,
 
 
		 	D 
d		Bjj5j11G((33 03 6D-dsd3 
	)G4[[ 9 9x 9 9A8|a'(5E*EEEq8|a'78889 ww'HH ||C((HH -sdee4 
	)G4[[ U Ux U UA(1,t3x?!CqHH(81(<t(Cx'ORS'STTTU ww'HH ||C((H&(+++++r   start)Nr   r   
   r   istopstep)Nr   r   c                    d}dg|z  t          t          |                    d}t          j        |          }|                    dd          }|j        | ||         }|j        | ||         }t          j        ||           d S )Nrx   zgroup 0r   r   Fr=   )	r#   r%   rA   rB   r4   r   r   r   r   )	r   r   r   n_rowsrb   rC   rD   r   r   s	            r   test_against_df_ilocr      s    
 F v%eFmm$$ D 
d		Bjj5j11G)%T/:FwuT$'H&(+++++r   c                      t          j        g dg d          } |                     d          }|j        dd         }t          j        ddgd	d
g          }t	          j        ||           d S )Nr   r   r   r   r   )r7   r7   r7   r8   r8   )r@   r   )rn   r   r   r   r7   r8   )rA   Seriesr4   r   r   assert_series_equal)serrD   r   r   s       r   test_seriesr      sz    
)OOO+D+D+D
E
E
ECkkk""G)!A#.Fy!QSz222H68,,,,,r   r   c                    d t          d          D             }|d t          d          D             z  }|d t          d          D             z  }t          j        |ddg	          }|                    dd
          }|j        d d |          }d t          dd|           D             }|d t          dd|           D             z  }|d t          dd|           D             z  }d t          dd|           D             }|d t          dd|           D             z  }|d t          dd|           D             z  }t          j        |ddg|          }t          j        ||           d S )Nc                     g | ]	}d d | g
S rY   rN   rO   s     r   rR   ztest_step.<locals>.<listcomp>   s"    ---qS'a''N---r   r   c                     g | ]	}d d | g
S yrN   rO   s     r   rR   ztest_step.<locals>.<listcomp>   "    ...c7q77^...r   r   c                     g | ]	}d d | g
S zrN   rO   s     r   rR   ztest_step.<locals>.<listcomp>   r   r   r   r9   r:   r;   Fr=   c                     g | ]	}d d | g
S rY   rN   rO   s     r   rR   ztest_step.<locals>.<listcomp>  s"    666qS'a''N666r   r   c                     g | ]	}d d | g
S r   rN   rO   s     r   rR   ztest_step.<locals>.<listcomp>  "    777c7q77^777r   c                     g | ]	}d d | g
S r   rN   rO   s     r   rR   ztest_step.<locals>.<listcomp>  r   r   c                     g | ]}d |z   S )r   rN   rO   s     r   rR   ztest_step.<locals>.<listcomp>
  s    ...qQU...r   c                     g | ]}d |z   S )r   rN   rO   s     r   rR   ztest_step.<locals>.<listcomp>      ///a!e///r   c                     g | ]}d |z   S )	   rN   rO   s     r   rR   ztest_step.<locals>.<listcomp>  r   r   r?   )r%   rA   rB   r4   r   r   r   )r   rb   rC   rD   r   r@   r   s          r   	test_stepr      s    .-E!HH---D..U1XX....D..U1XX....D	dS#J	/	/	/Bjjuj--G)&&D&1F66E!Q$5$5666D77U1a%6%67777D77U1a%6%67777D..E!Q--...E	//U1a..////E	//U1a..////E|D3*EBBBH&(+++++r   c                  >    t          j        g dg dgg d          S )N)r   r   r   r   r   r   r   )r   r   r   r   r   r   r   )r9   r:   CrJ   EFGr;   )rA   rB   rN   r   r   column_group_dfr     s9    <			 5 5 56333   r   c                     |                      | j        d         d          }|j        dd         }| j        d d ddgf         }t          j        ||           d S )Nr   )axisr   r   )r4   r   r   r   r   )r   r   r   r   s       r   test_column_axisr     se     4Q 7a@@A#AbD)F#AAA1vI.H&(+++++r   c                     t          j        d dD                       } ddg}|                     | j        dk               |         D ]<\  }}t	          j        |j        t          j        |                     d|j        vsJ =d S )Nc                 .    i | ]}|t          d           S )r   r   )rP   ks     r   rs   z(test_columns_on_iter.<locals>.<dictcomp>%  s     333q%))333r   ABCr9   r:   r   r   )rA   rB   r4   r9   r   assert_index_equalr<   Index)rC   cols_dgs       r   test_columns_on_iterr   #  s    	33U333	4	4B :DBD1H%%d+ % %2
bj"(4..999"*$$$$$% %r   funcc                 >   t          j        ddgddgddgd          }|                    d           | g d                                                   }t          j        g dgg dt          j        dgd	          
          }t          j        ||           d S )Nr   r   r   r   )r9   r:   r   r   )r9   r:   r9   )      ?g      @r   )namer?   )rA   rB   r4   meanr   r   r   )r   rC   r   r   s       r   test_groupby_duplicated_columnsr   .  s     
QQs	
 	

 
B ZZ__TT///22388::F|	???"(C5s:S:S:S  H &(+++++r   c                  
   t          j        g dg dg dd          } |                     ddg          }d	}t          j        t
          |
          5  |                    d           d d d            d S # 1 swxY w Y   d S )N)a1a2N)b1b2r   )r   r   r   )r9   r:   val)rb   r9   r:   )byz('a2', 'b1'))match)r   r   )rA   rB   r4   pytestraisesKeyError	get_group)rC   grpsmsgs      r   #test_groupby_get_nonexisting_groupsr   ?  s    	######99
 

 
 
B ::#s:$$D
C	xs	+	+	+ % %|$$$% % % % % % % % % % % % % % % % % %s   A88A<?A<)&rU   numpynpr   pandasrA   pandas._testing_testingr   markparametrizer   r    r%   r)   r+   r.   r0   ru   r5   rE   fixturerf   ro   rw   r   r   r   r   r   r   r   r#   r   r   arrayr   r   rN   r   r   <module>r      s'                   	
III	
QC	
B	YYY	aV	R
 
, ,
 
,, , , 
Q	'''(	q!Q&
Q		 	 	   , , ,, , ,, , ,, , , 	
III	'''(
%a..%%D//	*,A,A,AB , , ,, , ,*   &  , , ,  D D DEEFF#344tUm441, 1, 54 54 FE1,h ";";";<<!:!:!:;;.., , /. <; =<,"- - - 11, , 21,0   , , ,% % % $")RX!FGG, , HG, % % % % %r   