
    Pi*<                        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
                            dg d          ej
                            dg dg dfg dg d	fg dg d	fg d
g dfdej        dej        dgdej        dej        dgfej        dej        dej        gej        dej        dej        gf ej        ddd           ej        ddd          ddd         f ej        ddd                              d           ej        ddd          ddd                             d          fej        gdz  ej        gdz  fg	          ej
                            dg d          d                                     Zd Zd Zd Zd Zej
                            ddd g          ej
                            d!d gd d"gg          ej
                            dd#d$gg          d%                                     Zd& Zd' Zd( Zej
                            d)dej        dej        g ed*          ddgd+dgfdej        ddg ed*          ddgd+d,gfd-d.d.ej        g ed*          d-d.gd d/gfd gd0gd gd1gfg g  ej        g d23           ej        g d23          fg          d4             Zej
                            d5 ej        g d6d7z  d83           ej        g d9d7z  d:3          g          ej
                            dd#g d;g          d<                         Zej
                            dd#g d;g          ej
                            d=d>d?g          d@                         ZdA ZdB Zej
                            dCg dD          dE             Zej
                            ddFdGg          dH             Z ej
                            dIdJdKg          dL             Z!dM Z"dN Z#dO Z$dP Z%dS )Q    N)	DataFrameIndexinterpolation)linearlowerhighernearestmidpointza_vals,b_vals)               )r   r   r   r   r   )r   r   r   r   )r   r   r   r   )      ?       @      @      @      @)r   r   r   r   r   r   r   r   r   r   z1/1/18Dr   )freqperiodssq)r         ?      ?      ?r   c                    t          j        t          j        |          t          j        |          g          }t          j        |                              ||           }t          j        |                              ||           }t	          dgt          |          z  dgt          |          z  z   |d          }t	          ||gdgt          ddgd                    }|j        j        d	k    r5|j	        j
        d
         j        d	k    r|                    |j                  }|                    d                              ||           }	t          j        |	|           d S )N)r   abkeyvalr#   r"   name)columnsindexMr   )pdconcatSeriesquantiler   lenr   dtypekinddtypesvaluesastypegroupbytmassert_frame_equal)
r   a_valsb_valsr   all_vals
a_expected
b_expecteddfexpectedresults
             ~/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/groupby/methods/test_quantile.pytest_quantiler?      sS   < y")F++RYv->->?@@H6""++A]+KKJ6""++A]+KKJ	C53v;;.#V1DDXVV	W	WB	Z 5'SzPU9V9V9V  H ~c!!ho&<Q&?&D&K&K ??8>22ZZ'''GGF&(+++++    c                     t          dg di          } t          j        g dt          j                  }|                     |                              dg          }t          j                            ddgdgg          }t          dddgi|	          }t          j
        ||           t          g d
g dd          } t          j                            ddgddgg          }t          j        g dt          j                  }|                     |                              ddg          }t          g dg dd|	          }t          j
        ||           d S )NAr   r   r   r   r   )r   r   r   r   r   r.   r   r   r         @r'   )r   r   r   r   )r   r         rB   Br   )r   r   r   r   )r   r   g      @g      @)g      @g      @g      @g      @r   nparrayint64r3   r,   r)   
MultiIndexfrom_productr4   r5   )r;   r"   r=   r'   r<   s        r>   test_quantile_arrayrQ   =   sb   	C)	*	*B
(???"(
3
3
3CZZ__%%tf--FM&&A'788E#d|,E:::H&(+++	LLL99	:	:BM&&At'=>>E
(<<<rx
0
0
0CZZ__%%tTl33F&&&-E-E-EFFe  H &(+++++r@   c                     t           j                            d                              dddt           j                  } t          | t          d                    }|                    d                              d	d
g          }t          g dg ddt          j
                            g dd	d
ggdd g                    }t          j        ||           d S )Nr   r   r   )
   r   )sizer.   ABCr&   rB   333333?ffffff?)
r   r   gffffff@g@rW   rX   g	@r   rW   rX   )
r   r   gffffff?g@rW   rX   g@r   333333?gffffff@)rJ   CrC   namesrF   )rL   randomdefault_rngintegersrN   r   listr3   r,   r)   rO   rP   r4   r5   )arrr;   r=   r<   s       r>   test_quantile_array2rb   R   s    
)


"
"
+
+Aqwbh
+
O
OC	3U	,	,	,BZZ__%%sCj11FCCCRRR	
 	
 m((__sCj)#t ) 
 
  H &(+++++r@   c                  f   t          g dg dd          } t          j        g dt          j                  }|                     |d                              g d          }t          g d	g d
dt          j                            ddgg dg                    }t          j
        ||           |                     |d                              ddg          }t          g dg ddt          j                            ddgddgg                    }t          j
        ||           d S )Nr   r   r   r   r   r   rI   )r   r   r   rD   F)sort)r   r   r   )r   r         ?r   r   r   )      @r         @r   r   r   r   r   rF   r   r   )rg   r   r   r   )ri   rh   r   r   rK   )r;   r"   r=   r<   s       r>   test_quantile_array_no_sortrj   c   sU   	33	4	4B
(999BH
-
-
-CZZ%Z((112C2C2CDDF,,,3Q3Q3QRRm((1a&2C2C2C)DEE  H &(+++ZZ%Z((114,??F""")=)=)=>>m((1a&4,)?@@  H &(+++++r@   c                  :   t          g dg dg dg dd          } |                     ddg                              dd	g          }t          j                            g d
g d          }t          g dg dd|          }t          j        ||           d S )Nrd   re   )r   r   r   )r   r   r    )rB   rJ   cdrl   rm   r   r   ))r   r   r   )r   r   r   )r   r    r   )r   r    r   )rl   rm   Nr[   )r   r   r   r   )g      
@g      @r   r   rI   rF   )r   r3   r,   r)   rO   from_tuplesr4   r5   )r;   r=   r'   r<   s       r>   #test_quantile_array_multiple_levelsro   u   s    	iiiiioooOOOTT
 
B ZZc
##,,dD\::FM%%PPP &  E $$$+A+A+ABB%  H &(+++++r@   
frame_size)r   r   )d   rS   r3   r   r   g333333?c                 b   | \  }t          t          j        fdt          |          D                       t                              }t          j        t          |d                    gt                    z  gz   }fdt          t          |d                    D             gt                    z  t          t          t                                        t          |d          z  gz   }t          j	        ||g d           }fdt          t          |d                    D             }fdt                    D             }	t          |||	          }
|
                                                            }t          j        ||
           d S )	Nc                 "    g | ]}|d z  gz  S )r    ).0_ncols     r>   
<listcomp>zJtest_groupby_quantile_with_arraylike_q_and_int_columns.<locals>.<listcomp>   s#    AAATQUG^AAAr@   rV   r   c                     g | ]	}D ]}|
S rt   rt   )ru   xrv   r   s      r>   rx   zJtest_groupby_quantile_with_arraylike_q_and_int_columns.<locals>.<listcomp>   s&    <<<!<<Q!<<<<r@   )levelscodesr\   c                 `    g | ]*}D ]%}t          |          gt                    z
  z  &+S rt   )floatr-   )ru   rz   rv   r3   rw   r   s      r>   rx   zJtest_groupby_quantile_with_arraylike_q_and_int_columns.<locals>.<listcomp>   sS       /0QR LMq
dS\\)*   r@   c                     g | ]}|v|	S rt   rt   )ru   rz   r3   s     r>   rx   zJtest_groupby_quantile_with_arraylike_q_and_int_columns.<locals>.<listcomp>   s#    CCCa!72B2B2B2B2Br@   r'   r&   )r   rL   rM   rangearangeminr-   r`   r)   rO   r3   r,   r4   r5   )rp   r3   r   nrowr;   
idx_levels	idx_codesexpected_indexexpected_valuesexpected_columnsr<   r=   rw   s    ``         @r>   6test_groupby_quantile_with_arraylike_q_and_int_columnsr      s   
 JD$	28AAAAU4[[AAABBERVKK	X	X	XB)CaLL))*S\\9QC?J<<<<U3tQ<<00<<<=GLU3q66]]c$ll*P I ]2BG2BT2B  N     49#dA,,4G4G  O DCCC5;;CCC~7G  H ZZ  ))!,,F&(+++++r@   c                      t          ddgddgddggddg          } d}t          j        t          |	          5  |                     d                                           d d d            d S # 1 swxY w Y   d S )
Nfoor   r    rl   r"   r#   rV   z:dtype '(object|str)' does not support operation 'quantile'match)r   pytestraises	TypeErrorr3   r,   )r;   msgs     r>   test_quantile_raisesr      s    	UCL5#,=u~	V	V	VB
FC	y	,	,	, % %


5""$$$% % % % % % % % % % % % % % % % % %s   (A//A36A3c                     t          g dt          d          d          } |                     g d          }t          j        t
          d          5  |                    d           d d d            n# 1 swxY w Y   t          j        t
          d          5  |                    d           d d d            d S # 1 swxY w Y   d S )	N)r   r   r   r   r   r   rG   r   r    zGot '50.0' insteadr   2   zGot '-1.0' insteadr   )r   r   r3   r   r   
ValueErrorr,   )r;   gs     r>   $test_quantile_out_of_bounds_q_raisesr      sA   	+++%((;;	<	<B


%%%&&A	z)=	>	>	>  	

2               
z)=	>	>	>  	

2                 s$   A66A:=A:B??CCc                      t          j        dt           j        dg          } t          | t	          d          d          }|                    d          }t	          d          D ]}|                                 d S )Nr   r   r!   r"   rq   )rL   rM   nanr   r   r3   r,   )datar;   grprv   s       r>   /test_quantile_missing_group_values_no_segfaultsr      sv    8S"&#&''D	4a11	2	2B **U

C3ZZ   r@   z$key, val, expected_key, expected_valr           rE   r   r    rg   *   g      E@float64rD   c                 >   t          | |d          }t          |t          |d          dg          }|                    d          }|                    d          }t	          j        ||           |                                }t	          j        ||           d S )Nr!   r"   r$   r#   r   r   )r   r   r3   r,   r4   r5   )r"   r#   expected_keyexpected_valr;   r<   r   r=   s           r>   2test_quantile_missing_group_values_correct_resultsr      s     
3s++	,	,BE,U;;;eW  H **U

C\\#F&(+++\\^^F&(+++++r@   r1   )r   r   Nr   Int64)TFNbooleanr   r   r   c                    t          dgdz  dgdz  z   | d          }|                    d          d                             |          }t          |t                    r,t
          j                            ddg|fdd g          }g d}nt          ddgd	          }d
g}t          j	        |dz  |dd          }t          j        ||           d S )Nrz   r   yr   r   r    r[   r   r$   r   r   Float64r'   r%   r.   )r   r3   r,   
isinstancer`   r)   rO   rP   r   r+   r4   assert_series_equal)r1   r   r;   r=   idxtrue_quantilesr<   s          r>   $test_groupby_quantile_nullable_arrayr      s     
#cUQY.V<<	=	=BZZ__S!**1--F!T m((3*ad(LL(S#JS)))y!+3S	RRRH68,,,,,r@   numeric_onlyTFc                    t          dgdgdgd          }|rp|                    d                              | |          }|                    d          dg                             |           }t          j        ||           d S d}t          j        t          |	          5  |                    d                              | |           d d d            d S # 1 swxY w Y   d S )
Nr   r   rz   )r   r    rl   r   )r   r    z0dtype '.*' does not support operation 'quantile'r   )r   r3   r,   r4   r5   r   r   r   )r   r   r;   r=   r<   r   s         r>   -test_groupby_quantile_raises_on_invalid_dtyper      s>    
!C5u55	6	6B CC))!,)GG::c??C5)22155
fh/////@]9C000 	C 	CJJsOO$$Q\$BBB	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	Cs   &+CC"%C"c                    t          j        g |           j        }t          |t          j                  rt          j        nt           j        }t          ddgd|gd|           }|                    d          d         	                    d          }t          dg| d	          }| d
v r| }nd }t          j        dg||d          }t          j        ||           |                    d          d         	                    ddg          }t          j        dgdz  t           j                            |ddgfdd g          d|          }t          j        ||           d S )NrD   r   皙?rz   r   rz   r   r   r   )r.   r%   )Float32r   r.   r'   r%   r   r   r[   r   )r)   r+   r.   r   rL   r   NAr   r3   r,   r   r4   r   rO   rP   )any_float_dtyper.   itemr;   r=   	exp_indexexpected_dtyper<   s           r>   test_groupby_quantile_NA_floatr      sa   Ib0006Erx00;266beD	!QsDk22/	J	J	JBZZ__S!**3//Fse?===I000(y#nICPPPH68,,,ZZ__S!**C;77Fy		m(()c4[)A#t(UU	  H 68,,,,,r@   c           	         t          ddgddgd|           }|                    d          d                             d          }t          j        d	gd
t          dgd|           d          }t          j        ||           |                    d                              d          }t          dd	id
t          dgd|                     }t          j        ||           d S )Nr   r   r   r   rD   rz   r   r   rh   r   )r%   r.   r   r.   r'   )	r   r3   r,   r)   r+   r   r4   r   r5   )any_int_ea_dtyper;   r=   r<   s       r>   test_groupby_quantile_NA_intr     s    	!Qq!f--5E	F	F	FBZZ__S!**3//Fy	QCc)9:::	  H 8V,,,ZZ__%%c**F	c
)5!3FV+W+W+W  H &(+++++r@   zinterpolation, val1, val2))r   r   r   )r   r   r   )r	   r   r   c           
         t          g ddddt          j        gd|          }|                    d                              dd	g| 
          }t          d||t          j        t          j        gi|t          j                            t          j        g d|          g dgdd g                    }t          j	        ||           d S )Nr   r   r   r   r   r   r   r   rD   r   r   rX   r   r   r    r   r   r   r   )r   rX   r   rX   r[   r   
r   r)   r   r3   r,   rO   from_arraysr+   r4   r5   )r   val1val2any_numeric_ea_dtyper;   r=   r<   s          r>   )test_groupby_quantile_all_na_group_maskedr   -  s     
ll!Q25!122:N
 
 
B ZZ__%%c
-%PPF	tT25"%()"m''Y|||+?@@@BVBVBVW+ ( 
 
  H &(+++++r@   r
   r   c           
         t          g ddddt          j        gd|          }|                    d                              dd	g| 
          }|dk    r|}nd}t          dddt          j        t          j        gi|t          j                            t          j        g d|          g dgdd g                    }t          j	        ||           d S )Nr   r   r   r   r   rD   r   r   r   r   r   r   r    r   rE   r   )r   r   r   r   r[   r   r   )r   r   r;   r=   r   r<   s         r>   0test_groupby_quantile_all_na_group_masked_interpr   C  s   
 
ll!Q25!122:N
 
 
B ZZ__%%d=%QQFy((-"	sC&'m''	,,,.BCCC&&& + ( 
 

 
 
H &(+++++r@   r.   r   r   c                 R   t          ddgt          j        gdz  d|           }|                    d          d                             d          }t          j        t          j        g| t          dg|           d	          }d|j        _        t          j
        ||           d S )
Nr   r   r   rD   rz   r   r   r   r   )r   r)   r   r3   r,   r+   r   r'   r%   r4   r   )r.   r;   r=   r<   s       r>   "test_groupby_quantile_allNA_columnr   `  s     
!Qrugk22%	@	@	@BZZ__S!**3//Fy	uE3%u$=$=$=C  H HN8V,,,,,r@   c                     t          j        t          j        d          d                              d          } t          | g dd          }|                    d                              d          }t          d	t          j        d
          t          j        d          git          ddgd                    }t          j        ||           d S )Nr   r   )unitusr   )valuegroupr   gGz?r   z0 days 00:00:00.990000z0 days 00:00:02.990000r   r   r$   rF   )r)   to_timedeltarL   r   as_unitr   r3   r,   	Timedeltar   r4   r5   )tdir;   r=   r<   s       r>   test_groupby_timedelta_quantiler   l  s    
/")A,,S
1
1
1
9
9$
?
?C	S<<<88	9	9BZZ  ))$//F566566	
 QF)))  H &(+++++r@   c           
         t          j        dddd|                               d          }t          |t	          t          dd                    t	          t          dd	                    d
          }|                    d                              ddg          }t           j        	                    |d d d         ddggd          }t          ddddddddddddg|          }t          j        ||           d S )Nz2020-04-19 00:00:001minrq   UTC)startr   r   tzr   1hr   e      )	timestampcategoryr   r   r   皙?c   )r   Nr[   g)@g333333\@)r   r   gH@gfffffb@g333333Q@ge@gW@gfffffh@rF   )r)   
date_rangefloorr   r`   r   r3   r,   rO   rP   r4   r5   )r   dtir;   r=   mir<   s         r>   test_timestamp_groupby_quantiler   }  s-   
-#&#%d  eDkk  
U1c]]++%S//**	
 	

 
B ZZ$$--sCj99F		#	#S2Yc
$;CV	#	W	WB........		
   H &(+++++r@   c                     t          j        ddd          } t          j        |                                                                           |                     d          d<   |                     d          d<   | | d	         z
  d
<   t           j        j        d<   t          j
        t          j        d          d          }                    |          }|                    d          }fdt          d          D             }t          |          j                                        }|j                            t(                    |_        t+          j        ||           d S )Nz
2016-01-01i  ns)r   r   z
US/Pacificr   r   r   r   r   r   r      r   c                 X    i | ]&}|j         |d d                             d          'S )Nr   r   )ilocr,   )ru   ir;   s     r>   
<dictcomp>z7test_groupby_quantile_dt64tz_period.<locals>.<dictcomp>  s5    
<
<
<a1bgaddm$$S))
<
<
<r@   )r)   r   r+   to_framecopytz_localize	to_periodNaTr   rL   tiler   r3   r,   r   r   Tinfer_objectsr'   r2   intr4   r5   )r   bygbr=   expr<   r;   s         @r>   #test_groupby_quantile_dt64tz_periodr     s*   
-d
>
>
>C	3	 	 	"	"	'	'	)	)BOOL))BqEMM#BqE#a&LBqE&BGBK	1s	#	#B	BB[[F =
<
<
<588
<
<
<C~~--//H^**3//HN&(+++++r@   c                  .   t           j                            g dg d          } t          j        t	          d          |           }|                    dd                              d	d
g          }t           j                            g ddd g          }t          j        g d|          }t          j        ||           t           j	        j
        j                            ddgd	d
gg          }t          j        |j        j        |           d S )N))r   r   rJ   )r   r   rB   )r   r    rJ   )r   r    rB   )r   r   rJ   )r   r   rB   )r   r    rJ   )r   r    rB   )samplecat0cat1r[      rF   r  F)levelrf   r   r   ))rJ   r   )rJ   r   )rB   r   )rB   r   )rY   g333333@g@g333333@rJ   rB   )r)   rO   rn   r+   r   r3   r,   r4   r   coreindexesfrozen
FrozenListassert_equalr'   r{   )indserr=   qindr<   expected_levelss         r>   +test_groupby_quantile_nonmulti_levels_orderr    s   
-
#
#		
 		
 		
 )(( $  C )E!HHC
(
(
(C[[vE[22;;S#JGGF=$$888 %  D y---T:::H68,,, go,77#sc3Z8PQQOOFL'99999r@   )&numpyrL   r   pandasr)   r   r   pandas._testing_testingr4   markparametrizer   r   r   r?   rQ   rb   rj   ro   r   r   r   r   r   rM   r   r   r   r   r   r   r   r   r   r   r   r  rt   r@   r>   <module>r     s                         III   
///*	|||$	,,,'	"	"	"$=$=$=>
rvsBFC	(3RVS*IJ
&#rvsBF	+bfc263-OP BM(a888BM(a8882>	

 BM(a888@@EEBM(a8882>FFsKK	

 &Ax!|$) 2 55566, , 763  :,(, , ,*, , ,", , ,$, , , 	':;;aS1a&M22Szl++, , ,+ 32 <;,0% % %     *
rvsBF	#UU1XXSzC:F
rvsC	 %%((S#Jc
C
sC	 %%((S#JCA
rdQC$ 	R"I...90M0M0MN	 	, ,	 	,& !111$$$q(	:::  sOOO455- - 65 -  sOOO455$77	C 	C 87 65	C- - -4, , ,& !W!W!W , , ,& :x*@AA, , BA,8 9i"899- - :9-, , ,", , ,:, , ,,: : : : :r@   