
    Owg1%              
          d dl Zd dlZd dlZd dlmZ ej                  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                  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                  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                  j                  dg d      ej                  j                  d d!d"g      ej                  j                  d#d$d%g      d&                      Zej                  j                  d'g d(      ej                  j                  d)g d(      ej                  j                  d*g d+      d,                      Zd- Zej                  j                  d*g d.      d/        Z ej(                         d0        Zd1 Zd2 Zej                  j                  d3eej@                  ejB                  ejD                  g      d4        Z#d5 Z$y)6    Nzarg, expected_rows)r               )   r      r      ic                 l    |j                   |   }| j                  |   }t        j                  ||       y N_positional_selectoriloctmassert_frame_equalslice_test_dfslice_test_groupedargexpected_rowsresultexpecteds         Y/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/groupby/test_indexing.pytest_intr   
   s4      44S9F!!-0H&(+    c                 v    |j                   ddd   }| j                  g d   }t        j                  ||       y )Nr   r   r   r   r   r   r   r   r   r   r   r   s       r   
test_slicer       s8    44QqU;F!!,/H&(+r   r   r   r   r   r   r   r   r   r   r	   r   )listnegativerangeset)idsc                 l    |j                   |   }| j                  |   }t        j                  ||       y r   r   r   s         r   	test_listr)   %   s4    "  44S9F!!-0H&(+r   c                 p    |j                   d   }| j                  g d   }t        j                  ||       y )Nr!   r"   r   r   s       r   	test_intsr+   <   s3    44X>F!!"45H&(+r   c                 |    |j                   d ddd f   }| j                  g d   }t        j                  ||       y )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    |j                   dddd f   }| j                  g d   }t        j                  ||       y )Nr   r   r
   r-   r   r   s       r   test_mixr0   L   s;    44Q23Y?F!!"78H&(+r   r-   c                     | j                  dd      j                  |   }| j                  |   }t        j                  ||       y )NGroupF)sort)groupbyr   r   r   r   )r   r   r   r   r   s        r   test_as_indexr5   T   sD     ""7"7L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
      } | j                  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
                  ||       y )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            
         t         j                  j                  d      } d}d}t        j                  d|d      }t        |      D cg c]  }d| 	 }}i }|D ]j  }|| j                  dd	      z
  }|d | D 	cg c]-  }	|	| j                  dd
      dz  | j                  dd
      dz  f/ }
}	|
j                  d        |
||<   l |S c c}w c c}	w )Nr   d      20130101D)periodsfreqzitem r      i'  c                     | d   S )Nr    )xs    r   <lambda>z!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_datarc   y   s    
))


"CFFMM*f3?E"'-0QuQC[0E0D  3<<2#66 ./
 3<<5)C/a1G#1MN
 
 	'T
 K 1

s   	C
:2Cc                     i }| D ]  }| |   D ]  }|d   |d   d|||d   f<    ! t         j                  j                  |d      }d|j                  _        |S )Nr   r   )r9   r:   r   r@   )orient)DateItem)rA   rB   	from_dictr@   names)r^   rowsr_   levelrC   s        r   _make_df_from_datarl      sx    D D$Z 	DE+08%(%CD$a!"	DD 
		W		5B%BHHNIr   c                     t        |       }|j                  dd      j                  t        dd            }| D ci c]  }|| |   dd  }}t        |      }t	        j
                  ||       y c c}w )Nrf   Fr=   r   )rl   r4   nthslicer   r   )rc   rC   r   r_   slicedr   s         r   test_multiindexrr      ss    	O	,BZZZ/33E!RLAF<KLDdOD)!B//LFL!&)H&(+ Ms   A0r   )r   r      i  r   iimethodheadtail	simulatedTFc           
      p   d}d}t        |      D cg c]  }t        |      D ]  }d| 	  c}}t        |      D cg c]  }t        |      D ]
  }d| d|   c}}d}t        j                  |      }|j                  dd      }	| d	k\  r| n|| z   }
|d
k(  rq|	j                  d |  }|rNt        |
      D cg c](  }t        |      D ]  }||z  |z   ||z  k  r||z  |z    * }}}|j
                  |   }n|	j                  |       }nz|	j                  |  d  }|rWt        |
      D cg c]1  }t        |      D ]!  }||z   |
z
  |z  |z   d	k\  r||z   |
z
  |z  |z   # 3 }}}|j
                  |   }n|	j                  |       }t        j                  ||       y c c}}w c c}}w c c}}w c c}}w )NrG   rs   zgroup z row groupvaluer{   Fr=   r   rv   )
r%   rA   rB   r4   r   r   rv   rw   r   r   )r   ru   rx   n_groupsn_rows_per_groupjgr^   rC   rD   sizer   r\   indicesr   s                  r   test_against_head_and_tailr      s)   
 H #((8"9
5?
>?fQCL


 +,
8_
  QCuQC 
 
		D 
d	Bjj5j1G(3 03 6D--ds3 tx x<!#h1A&AA Hq  G  www'H ||C(H --sde4 tx $q(4/8;a?1D "A%,81<<G  www'H ||C(H&(+W

s   F  F&=-F,/6F2start)Nr   r   
   r   istopstep)Nr   r   c                    d}dg|z  t        t        |            d}t        j                  |      }|j	                  dd      }|j
                  | ||   }|j                  | ||   }t        j                  ||       y )Nrs   zgroup 0rz   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wwuT$'H&(+r   c                      t        j                  g dg d      } | j                  d      }|j                  dd }t        j                  ddgd	d
g      }t	        j
                  ||       y )Nr   r   r   r   r   )r7   r7   r7   r8   r8   )r@   r   )rk   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68,r   r   c                    t        d      D cg c]	  }dd| g }}|t        d      D cg c]	  }dd| g c}z  }|t        d      D cg c]	  }dd| g c}z  }t        j                  |ddg	      }|j                  dd
      }|j                  d d |    }t        dd|       D cg c]	  }dd| g }}|t        dd|       D cg c]	  }dd| g c}z  }|t        dd|       D cg c]	  }dd| g c}z  }t        dd|       D cg c]  }d|z   	 }}|t        dd|       D cg c]  }d|z   	 c}z  }|t        dd|       D cg c]  }d|z   	 c}z  }t        j                  |ddg|      }t        j                  ||       y c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w )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-qSAaS'N-D-U1X.cQqc7^..DU1X.cQqc7^..D	dS#J	/Bjjuj-G))&D&1F$)!Q$56qSAaS'N6D6U1a%67cQqc7^77DU1a%67cQqc7^77D!!Q-.qQU.E.	U1a./a!e//E	U1a./a!e//E||D3*EBH&(+' ... 777.//s4   FFF-F"F'0F,F10F6F;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   rO   r   r   column_group_dfr     s    <<	 563 r   c                    d}t        j                  t        |      5  | j                  | j                  d   d      }d d d        j
                  dd }| j                  d d ddgf   }t        j                  ||       y # 1 sw Y   DxY w)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##O$8$8$;!#DE##Ab)F##A1vI.H&(+E Es   !BBc            	      H   t        j                  dD  ci c]  } | t        d       c}       }ddg}|j                  |j                  dk        |   D ]H  \  }}t        j                  |j                  t        j                  |             d|j                  vrHJ  y c c} w )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3q%)|3	4B :DBDD1H%d+ %2
bjj"((4.9"**$$$%	 4s   Bfuncc                 (   t        j                  ddgddgddgd      }|j                  d       | g d         j                         }t        j                  g dgg dt        j                  dgd	      
      }t        j                  ||       y )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                      t        j                  g dg dg dd      } | j                  ddg      }d	}t        j                  t
        |
      5  |j                  d       d d d        y # 1 sw Y   y xY w)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   @  sh    	##

B ::#s:$D
C	xs	+ %|$% % %s   A--A6)%numpyrS   r   pandasrA   pandas._testing_testingr   markparametrizer   r    r%   r)   r+   r.   r0   rp   r5   rE   fixturerc   rl   rr   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   