
    bMh1%              
          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         b/var/www/html/test/jupyter/venv/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.   D   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   L   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   T   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   d   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                  R   t           j                            d          d} d}t          j        d| d          }d t          |          D             }i }|D ]M}|                    dd	          z
  }fd
|d |         D             }|                    d            |||<   N|S )Nr   d      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                 v    g | ]5}|                     d d          dz                       d d          dz  f6S )r   i'  rG   )integers)rP   itemrngs     r   rR   z#multiindex_data.<locals>.<listcomp>   sV     
 
 
 3<<5))C/a1G1G#1MN
 
 
r   c                     | d         S )Nr   rN   xs    r   <lambda>z!multiindex_data.<locals>.<lambda>   s
    !A$ r   )key)nprandomdefault_rngrA   
date_ranger%   rU   r3   )	ndatesnitemsdatesitemsdatadatenitems_for_datelevelsrW   s	           @r   multiindex_datari   y   s    
)


"
"CFFM*f3???E00%--000ED   3<<2#6#66
 
 
 
../
 
 
 	'''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)re   rowsrf   levelrC   s        r   _make_df_from_datarr      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 )Nrl   Fr=   r   c                 2    i | ]}||         d d         S )r   rt   rN   )rP   rf   ri   s     r   
<dictcomp>z#test_multiindex.<locals>.<dictcomp>   s)    LLLDdOD)!B$/LLLr   )rr   r4   nthslicer   r   )ri   rC   r   slicedr   s   `    r   test_multiindexrz      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                 n  	
 d	d
	fdt          
          D             	fdt          
          D             d}t          j        |          }|                    dd          }| d	k    r| n
| z   |d
k    rQ|j        d |          }|r*	
fdt                    D             }|j        |         }nh|                    |           }nR|j        |  d          }|r+	
fdt                    D             }|j        |         }n|                    |           }t          j	        ||           d S )NrG   r{   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~   c                 b    g | ]+}t                    D ]}|z  |z   z  k     |z  |z   ,S rN   r   )rP   r   rQ   r   n_rows_per_groups      r   rR   z.test_against_head_and_tail.<locals>.<listcomp>   sd       x  x<!#h1A&AAA Hq  BAAAr   c                 t    g | ]4}t                    D ]"}|z   z
  z  |z   d k    |z   z
  z  |z   #5S r   r   )rP   r   rQ   r   r   sizes      r   rR   z.test_against_head_and_tail.<locals>.<listcomp>   st       x  $q(4/8;a?1DD "A%,81< EDDDr   )
r%   rA   rB   r4   r   r   r~   r   r   r   )r   r}   r   re   rC   rD   r   indicesr   r   r   r   s            @@@r   test_against_head_and_tailr      s   
 H
 
 
 
"'(8"9"9
 
 

 
 
 
+,,
 
 
		 	D 
d		Bjj5j11G((33 03 6D-dsd3 
	)    t  G ww'HH ||C((HH -sdee4 
	)     t  G 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 )Nr{   zgroup 0r   r   Fr=   )	r#   r%   rA   rB   r4   r   r   r   r   )	r   r   r   n_rowsre   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   )rq   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   re   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                 "   d}t          j        t          |          5  |                     | j        d         d          }d d d            n# 1 swxY w Y   |j        dd         }| j        d d ddgf         }t          j        ||           d S )NzDataFrame.groupby with axis=1matchr   )axisr   r   )r   assert_produces_warningFutureWarningr4   r   r   r   )r   msgr   r   r   s        r   test_column_axisr     s    
)C		#M	=	=	= E E##O$8$;!#DDE E E E E E E E E E E E E E E#AbD)F#AAA1vI.H&(+++++s   #AAA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   rv   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)re   r9   r:   )byz('a2', 'b1')r   )r   r   )rA   rB   r4   pytestraisesKeyError	get_group)rC   grpsr   s      r   #test_groupby_get_nonexisting_groupsr   @  s    	######99
 

 
 
B ::#s:$$D
C	xs	+	+	+ % %|$$$% % % % % % % % % % % % % % % % % %s   A88A<?A<)%numpyr]   r   pandasrA   pandas._testing_testingr   markparametrizer   r    r%   r)   r+   r.   r0   rx   r5   rE   fixtureri   rr   rz   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   