
    Mh1%              
          S SK rS SKrS SKrS SKJr  \R                  R                  SS / SQ/SS//S/ /S/ SQ/SS	S
//S/ //5      S 5       r
S r\R                  R                  SS S// SQ// SQ/ SQ/\" S SS5      / SQ/S S1/ SQ/// SQS9S 5       rS rS rS r\R                  R                  SS / SQ// SQ/ SQ/\" SS5      \" SS5      4/ SQ//5      S 5       rS r\R(                  " 5       S 5       rS rS r\R                  R                  S/ SQ5      \R                  R                  S S!S"/5      \R                  R                  S#S$S%/5      S& 5       5       5       r\R                  R                  S'/ S(Q5      \R                  R                  S)/ S(Q5      \R                  R                  S*/ S+Q5      S, 5       5       5       rS- r\R                  R                  S*/ S.Q5      S/ 5       r\R(                  " 5       S0 5       rS1 rS2 r\R                  R                  S3\\R@                  \RB                  \RD                  /5      S4 5       r#S5 r$g)6    Nzarg, expected_rows)r               )   r      r      ic                 l    UR                   U   nU R                  U   n[        R                  " XE5        g N_positional_selectoriloctmassert_frame_equalslice_test_dfslice_test_groupedargexpected_rowsresultexpecteds         T/var/www/html/env/lib/python3.13/site-packages/pandas/tests/groupby/test_indexing.pytest_intr   
   s2      44S9F!!-0H&+    c                 v    UR                   SSS2   nU R                  / SQ   n[        R                  " X#5        g )Nr   r   r   r   r   r   r   r   r   r   r   r   s       r   
test_slicer       s6    44QqU;F!!,/H&+r   r   r   r   r   r   r   r   r   r   r	   r   )listnegativerangeset)idsc                 l    UR                   U   nU R                  U   n[        R                  " XE5        g r   r   r   s         r   	test_listr)   %   s2    "  44S9F!!-0H&+r   c                 p    UR                   S   nU R                  / SQ   n[        R                  " X#5        g )Nr!   r"   r   r   s       r   	test_intsr+   <   s1    44X>F!!"45H&+r   c                 |    UR                   S S2SS 24   nU R                  / SQ   n[        R                  " X#5        g )Nr   r
   r   r   r   r   r   r   r	   r   r   s       r   test_slicesr.   D   s;    44RaRW=F!!"78H&+r   c                 z    UR                   SSSS 24   nU R                  / SQ   n[        R                  " X#5        g )Nr   r   r
   r-   r   r   s       r   test_mixr0   L   s9    44Q23Y?F!!"78H&+r   r-   c                     U R                  SSS9R                  U   nU R                  U   n[        R                  " X45        g )NGroupF)sort)groupbyr   r   r   r   )r   r   r   r   r   s        r   test_as_indexr5   T   sB     ""7"7LLSQF!!-0H&+r   c                     [         R                  " SS/SS/SS/SS/SS//SS	/S
9n U R                  SSS9nUR                  SS n[         R                  " SS/SS//SS	/SS/S9n[        R
                  " X#5        UR                  S   n[         R                  " SS/SS/SS//SS	// SQS9n[        R
                  " X#5        g )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SH&+))%0F||
qC8c1X&c
)H &+r   c            
         [         R                  R                  S5      n SnSn[        R                  " SUSS9n[        U5       Vs/ s H  nSU 3PM
     nn0 nU Hh  nX R                  SS	5      -
  nUS U  V	s/ s H-  n	XR                  SS
5      S-  U R                  SS
5      S-  4PM/     n
n	U
R                  S S9  XU'   Mj     U$ s  snf s  sn	f )Nr   d      20130101D)periodsfreqzitem r      i'  c                     U S   $ )Nr    )xs    r   <lambda>!multiindex_data.<locals>.<lambda>   s    !A$r   )key)nprandomdefault_rngrA   
date_ranger%   integersr3   )rngndatesnitemsdatesiitemsdatadatenitems_for_dateitemlevelss              r   multiindex_datard   y   s    
))


"CFFMM*f3?E"'-0-QuQC[-E0D <<2#66 ./
/ <<5)C/a1G#1MN/ 	 
 	'T
  K 1

s   C
:4Cc                     0 nU  H   nX    H  nUS   US   S.XUS   4'   M     M"     [         R                  R                  USS9nSUR                  l        U$ )Nr   r   )r9   r:   r   r@   )orient)DateItem)rA   rB   	from_dictr@   names)r_   rowsr`   levelrC   s        r   _make_df_from_datarm      sf    DZE+08%(%CDa!"    
		W		5B%BHHNIr   c                     [        U 5      nUR                  SSS9R                  [        SS5      5      nU  Vs0 s H
  o3X   SS _M     nn[        U5      n[        R
                  " X%5        g s  snf )Nrg   Fr=   r   )rm   r4   nthslicer   r   )rd   rC   r   r`   slicedr   s         r   test_multiindexrs      sn    	O	,BZZZ/33E!RLAF<KLODO)!B//OFL!&)H&+ Ms   A.r   )r   r      i  r   iimethodheadtail	simulatedTFc           
         SnSn[        U5       VVs/ s H  n[        U5        H  nSU 3PM
     M     snn[        U5       VVs/ s H  n[        U5        H  nSU SU 3PM     M      snnS.n[        R                  " U5      nUR                  SSS9n	U S	:  a  U OX@-   n
US
:X  a|  U	R                  S U  nU(       aT  [        U
5       VVs/ s H,  n[        U5        H  nXS-  U-   X4-  :  d  M  XS-  U-   PM     M.     nnnUR
                  U   nOU	R                  U 5      nOU	R                  U * S  nU(       a^  [        U
5       VVs/ s H6  n[        U5        H#  nXE-   U
-
  U-  U-   S	:  d  M  XE-   U
-
  U-  U-   PM%     M8     nnnUR
                  U   nOU	R                  U 5      n[        R                  " X5        g s  snnf s  snnf s  snnf s  snnf )NrG   rt   zgroup z row groupvaluer|   Fr=   r   rw   )
r%   rA   rB   r4   r   r   rw   rx   r   r   )r   rv   ry   n_groupsn_rows_per_groupjgr_   rC   rD   sizer   r]   indicesr   s                  r   test_against_head_and_tailr      s   
 H #((8"9
"9Q5?afQCL?L"9

 +,
,8_ QCuQC $ !,
		D 
d	Bjj5j1G(3 0 6D--ds3 t$AxA<!#h&AA !q ( !$   www'H ||C(H --sde4 t$AxA$(4/8;a?1D =!%,81<( =$   www'H ||C(H&+W

s#   "G%G G1G
$G2Gstart)Nr   r   
   r   istopstep)Nr   r   c                     SnS/U-  [        [        U5      5      S.n[        R                  " U5      nUR	                  SSS9nUR
                  XU2   nUR                  XU2   n[        R                  " Xx5        g )Nrt   zgroup 0r{   r|   Fr=   )	r#   r%   rA   rB   r4   r   r   r   r   )	r   r   r   n_rowsr_   rC   rD   r   r   s	            r   test_against_df_ilocr      s~    
 F v%eFm$D 
d	Bjj5j1G))%T/:Fwwu$'H&+r   c                      [         R                  " / SQ/ SQS9n U R                  SS9nUR                  SS n[         R                  " SS/S	S
/S9n[        R
                  " X#5        g )Nr   r   r   r   r   )r7   r7   r7   r8   r8   )r@   r   )rl   r   r   r   r7   r8   )rA   Seriesr4   r   r   assert_series_equal)serrD   r   r   s       r   test_seriesr      s[    
))O+D
ECkkk"G))!A.Fyy!QSz2H6,r   r   c                    [        S5       Vs/ s H
  nSSU 3/PM     nnU[        S5       Vs/ s H
  nSSU 3/PM     sn-  nU[        S5       Vs/ s H
  nSSU 3/PM     sn-  n[        R                  " USS/S	9nUR                  SS
S9nUR                  S S U 2   n[        SSU 5       Vs/ s H
  nSSU 3/PM     nnU[        SSU 5       Vs/ s H
  nSSU 3/PM     sn-  nU[        SSU 5       Vs/ s H
  nSSU 3/PM     sn-  n[        SSU 5       Vs/ s H  nSU-   PM
     nnU[        SSU 5       Vs/ s H  nSU-   PM
     sn-  nU[        SSU 5       Vs/ s H  nSU-   PM
     sn-  n[        R                  " USS/US9n[
        R                  " XW5        g s  snf s  snf s  snf s  snf s  snf s  snf s  snf s  snf s  snf )Nr   rP   r   yr   zr9   r:   r;   Fr=   r   	   r?   )r%   rA   rB   r4   r   r   r   )r   r]   r_   rC   rD   r   r@   r   s           r   	test_stepr      s    %*!H-HqSAaS'NHD-U1X.XcQqc7^X..DU1X.XcQqc7^X..D	dS#J	/Bjjuj-G))&D&1F$)!Q$56$5qSAaS'N$5D6U1a%67%6cQqc7^%677DU1a%67%6cQqc7^%677D!!Q-.-qQU-E.	U1a./.a!e.//E	U1a./.a!e.//E||D3*EBH&+' ... 777.//s4   F'F,F11F6F;:G G G
$Gc                  <    [         R                  " / SQ/ SQ// SQS9$ )N)r   r   r   r   r   r   r   )r   r   r   r   r   r   r   )r9   r:   CrJ   EFGr;   )rA   rB   rO   r   r   column_group_dfr     s    <<	 563 r   c                    Sn[         R                  " [        US9   U R                  U R                  S   SS9nS S S 5        WR
                  SS nU R                  S S 2SS/4   n[         R                  " X45        g ! , (       d  f       NI= f)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	=##O$8$8$;!#D 
>##Ab)F##A1vI.H&+ 
>	=s   A==
Bc            	      X   [         R                  " S V s0 s H  o [        S5      _M     sn 5      nSS/nUR                  UR                  S:  5      U    HL  u  p4[
        R                  " UR                  [         R                  " U5      5        SUR                  ;  a  ML   e   g s  sn f )NABCr   r9   r:   r   r   )	rA   rB   r%   r4   r9   r   assert_index_equalr<   Index)krC   cols_dgs        r   test_columns_on_iterr   $  s    	U3U%)|U3	4B :DBDD1H%d+
bjj"((4.9"**$$$ ,	 4s   B'funcc           	      "   [         R                  " SS/SS/SS/S.5      nUR                  S5      U " / SQ5         R                  5       n[         R                  " / SQ// SQ[         R                  " S/SS	9S
9n[
        R                  " X#5        g )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_T/2388:F||	?"((C5s:SH &+r   c                      [         R                  " / SQ/ SQ/ SQS.S9n U R                  SS/S9nS	n[        R                  " [
        US
9   UR                  S5        S S S 5        g ! , (       d  f       g = f)N)a1a2N)b1b2r   )r   r   r   )r9   r:   val)r_   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_    	##

B ::#s:$D
C	xs	+|$ 
,	+	+s   A&&
A4)%numpyrT   r   pandasrA   pandas._testing_testingr   markparametrizer   r    r%   r)   r+   r.   r0   rq   r5   rE   fixturerd   rm   rs   r   r   r   r   r   r   r   r#   r   r   arrayr   r   rO   r   r   <module>r      s       	
I	
QC	
B	Y	aV	R
,
,, 
Q	'(	q!Q&
Q		  ,,,,, 	
I	'(
a.%D/	*,AB,,,*  (,  DEFF#34tUm41, 5 5 F1,h ";<!:;., / < =,"- 1, 2,0  ,% $"))RXX!FG, H, %r   