
    Mh                        S r SSKrSSKrSSKJs  Jr  SSKJ	r	J
r
JrJrJrJrJrJrJr  SSKJr  SSKJr  S rS r\R2                  R4                  \R2                  R7                  SSS	/5      \R2                  R7                  S
SS/5      \R2                  R7                  SSS/5      \R2                  R7                  SSSSS//\S9\R2                  R7                  SSSS//\S9\R2                  R7                  SSS	/5      \R2                  R7                  SSS/5      \R2                  R7                  SSS	/5      \R2                  R7                  SSS	/5      \R2                  R7                  SSS	/5      S 5       5       5       5       5       5       5       5       5       5       5       r\R2                  R7                  SSS	/5      S 5       r\R2                  R7                  SS S!// S"Q/5      S# 5       r\R2                  R7                  SS S!// S"Q/5      S$ 5       r S% r!S& r"\RF                  S' 5       r$S( r%S) r&S* r'S+ r(\R2                  R7                  S,/ S-Q5      \R2                  R7                  SSS/5      \R2                  R7                  S./ S/Q5      \R2                  R7                  S0SS	/5      \R2                  R7                  S1SS	/5      S2 5       5       5       5       5       r)\R2                  R7                  S3\*\RV                  " S4\RX                  " S55      S69\RV                  " S7\RX                  " S55      S69/5      \R2                  R7                  S8SS	/5      \R2                  R7                  S9S	S/ S:Q/ S;Q/ S<Q4SS	/ S=Q/ S>Q/ S?Q4SS/ S@Q/ SAQ/ SBQ4/5      SC 5       5       5       r-\RF                  SD 5       r.\R2                  R7                  SES	SS	SF/ SGQ/ SHQ4SSS	SF/ SIQ/ SJQ4SS	S	SF/ SKQ/ SLQ4SS	SSM/ SNQ/ SLQ4/5      SO 5       r/\RF                  SP 5       r0\R2                  R7                  SQS	S	/ SRQ/ SSQ4S	S/ STQ/ SUQ4SS	/ SVQ/ SWQ4SS/ SXQ/ SYQ4/5      SZ 5       r1\RF                  S[ 5       r2\R2                  R7                  S\SS]S]/\Rf                  " / S^Q/ S_QS`94S	/ SaQ\" \" S]/5      \" / SbQ5      \" ScSd\Rh                  /5      // SeQ/ SfQ/ SgQ// S_QSh94/5      \R2                  R7                  SSS/5      Si 5       5       r5\R2                  R7                  S0S	S/5      \R2                  R7                  SjS	S/5      \R2                  R7                  SkS	SF\Rl                  " / SlQ\Rn                  Sm94SSM\Rl                  " / SnQ5      4/5      So 5       5       5       r8Sp r9\R2                  R7                  S0SS	/5      \R2                  R7                  SkS	SF\Rl                  " / SlQ\Rn                  Sm94SSM\Rl                  " / SnQ5      4/5      Sq 5       5       r:\R2                  R7                  S0SS	/5      \R2                  R7                  SkS	SF\Rl                  " / SrQ\Rn                  Sm94SSM\Rl                  " / SsQ5      4/5      St 5       5       r;\R2                  R7                  S0SS	/5      \R2                  R7                  SuS	/ SvQ4S/ SwQ4/5      \R2                  R7                  SkS	SF\Rl                  " / SxQ\Rn                  Sm94SSM\Rl                  " / SyQ5      4/5      Sz 5       5       5       r<\R2                  R7                  S0S	S/5      \R2                  R7                  SjS	S/5      \R2                  R7                  SkS	SF\Rl                  " / SlQ\Rn                  Sm94SSM\Rl                  " / SnQ5      4/5      S{ 5       5       5       r=\R2                  R7                  S|S	SF/ S}Q4SSM/ SYQ4/5      S~ 5       r>\R2                  R7                  SS\?" S5      / SQ4S\?" S5      S/-   / SQ4/5      \R2                  R7                  S0S	S/5      S 5       5       r@\R2                  R7                  SSS/5      S 5       rAS rBS rCS rDS rES rF\R2                  R7                  SSS	/5      S 5       rGS rH\R2                  R7                  SSS	/5      \R2                  R7                  S8SS	/5      S 5       5       rI\R2                  R7                  SSS	/5      \R2                  R7                  S8SS	/5      S 5       5       rJg)z
these are systematically testing all of the args to value_counts
with different size combinations. This is to ensure stability of the sorting
and proper parameter handling
    N)	CategoricalCategoricalIndex	DataFrameGrouperIndex
MultiIndexSeries
date_rangeto_datetime)Versionc                  R   [        S/S/S.5      n U S   R                  S5      U S'   U R                  S5      S   R                  5       n[        SS//SS/S9nUS   R                  S5      US'   [        R
                  " U5      n[        S/US	S
9n[        R                  " X5        g )NfemaleUS)gendercountryr   categoryr   columns   countindexname)	r   astypegroupbyvalue_countsr   
from_framer	   tmassert_series_equal)dfresultdf_mi_expectedmi_expectedexpecteds        `/var/www/html/env/lib/python3.13/site-packages/pandas/tests/groupby/methods/test_value_counts.py.tests_value_counts_index_names_category_columnr&      s    	jv	

B h<&&z2BxLZZ	"8,99;F x 01Ix;PQN-h7>>zJN8''7Kqc7;H6,    c           	         [        SSS9n[        [        R                  R	                  S5      R                  [        S5      U5      [        R                  R	                  S5      R                  X15      [        R                  R	                  S5      R                  SUS-   U5      S.5      nU (       a  US   R                  S	5      US'   [        R                  UR                  SS S
2S4'   [        R                  UR                  SS S2S4'   [        R                  UR                  SS S2S4'   [        R                  UR                  SS S2S4'   [        R                  UR                  SS S2S4'   U$ )Nz
2015-08-24
   )periods   abcdr   )1st2nd3rdr/   float   r-         r.            	   )r
   r   nprandomdefault_rngchoicelistintegersr   nanloc)	seed_nansnmdaysframes        r%   seed_dfrE   0   s0   lB/D99((+224<C99((+224;99((+44QAqA	
E U|**73e"$&&		!%R%,"$&&		!%R%,"$&&		!%R%,"$&&		!%R%,"$&&		!%R%,Lr'   r@   TFnum_rowsr)   2   max_int      keysr-   r.   )idsbinsisortznormalize, name)T
proportion)Fr   sort	ascendingdropnac                    [        XU5      nS nUUU	U
US.nUR                  X5S9nUS   R                  " S0 UD6nUR                  X5S9nUS   R                  " [        R                  40 UD6nUR
                  R                  S S S/-   UR
                  l        UR                  U5      n[        XU45      u  nn[        R                  " UR                  5       UR                  5       5        g )Nc                     [        [        U R                  R                  [	        U R                  R
                  5      5      5      n[        R                  " XR                  R                  S9U l        U $ )Nnames)	r<   mapr   get_level_valuesrangenlevelsr   from_arraysrV   )r    arrs     r%   rebuild_index7test_series_groupby_value_counts.<locals>.rebuild_indexa   sK    3rxx00%8H8H2IJK))#XX^^D	r'   )	normalizerP   rQ   rR   rM   rP   r/    )rE   r   r   applyr	   r   rV   renamerW   r   r   
sort_index)r@   rF   rH   rK   rM   rN   r_   r   rP   rQ   rR   r    r]   kwargsgrleftrights                    r%    test_series_groupby_value_countsrj   G   s    0 
g	.B F 
D	%Be9!!+F+D	D	%BuIOOF//:6:E))#2.%8EKKLLE mE]3KD%4??,e.>.>.@Ar'   utcc                    [        / SQ/ SQS.5      R                  S/5      n[        US   U SS9US'   UR                  [	        S	SS
95      nUS   R                  5       R                  5       nUS   R                  [        R
                  5      R                  5       nUR                  R                  UR                  l
        UR                  S5      n[        R                  " X45        g )NiGI]i)J]iJ]iK]i)<M]iU=M]iN]applero   bananarp   orangerq   pear	TimestampFoodr2   rt   srk   unitDatetime1Dfreqkeyru   r   )r   dropr   r   r   r   re   rc   r	   r   rV   rd   r   r   )rk   r    dfgr!   r$   s        r%   -test_series_groupby_value_counts_with_grouperr   |   s     
 W	

 dA3i  !KcDBzN
**W$J7
8C [%%'224F6{  !4!45@@BH!<<--HNNw'H6,r'   r   AB)r   r   Cc                    [        U S9nUR                  U S S 5      nX S      R                  5       n[        / UR                  SS9n[
        R                  " / /[        U 5      -  U S9Ul        [        R                  " X45        g )Nr   ra   r   )dtyper   rU   )r   r   r   r	   r   r   r[   lenr   r   r   r   r    r   r!   r$   s        r%   &test_series_groupby_value_counts_emptyr      sv     
7	#B
**WSb\
"C**,Fb7;H++RD3w<,?wOHN6,r'   c                     [        [        [        U 5      5      /U S9nUR                  U S S 5      nX S      R	                  5       nUR	                  5       n[
        R                  " X45        g )N)datar   ra   )r   rY   r   r   r   r   r   r   s        r%   (test_series_groupby_value_counts_one_rowr      s_     
s7|,-w	?B
**WSb\
"C**,F H6,r'   c                  *   [        [        S/SS/S95      n U R                  S/5      R                  5       n[        SS/[        R
                  " [        R                  " SS/5      [        SS/SS/SSS9/5      S	S
9n[        R                  " X5        g )Nab)
categoriesr   r   Fr   )r   orderedr   r   r   r   r   )r	   r   r   r   r   r[   r8   arrayr   r   r   )rv   r!   r$   s      r%   /test_series_groupby_value_counts_on_categoricalr      s     	{C5c3Z89AYYs^((*FV$$!Q  #JC:uJ
 H$ 6,r'   c                      [        / SQ/ SQ/ SQS.5      n U R                  SS/SS9S	   nUR                  SS9n[        S
S/SS// SQ// SQ/ SQ/ SQ// SQS9n[	        / SQUSS9n[
        R                  " X$5        g )Nmaler   r   r   r   r   lowmediumhighr   r   r   r   FRr   r   r   r   r   	educationr   r   r   Fr`   r   r   r   r   r   )r   r   r   )r   r   r   r   r   )r   r   r   r   r   )r   r   r+   r   r+   r   r   r   levelscodesrV   r   r   r   r+   r   r   r   )r   r   r   r   r	   r   r   )r    gbr!   r   r$   s        r%   (test_series_groupby_value_counts_no_sortr      s    	JH;	

B 
Y)	6{	CB__%_(Ftvx02KLA0E
 oUAH6,r'   c                  ,    [        / SQ/ SQ/ SQS.5      $ )Nr   r   r   r   r   rb   r'   r%   education_dfr      s    JH;	
 r'   c                    Sn[         R                  " [        US9   U R                  SSS9nS S S 5        [        R
                  " [        SS9   WR                  5         S S S 5        g ! , (       d  f       NA= f! , (       d  f       g = f)Nz+DataFrame.groupby with axis=1 is deprecatedmatchr   r   axisr   )r   assert_produces_warningFutureWarningr   pytestraisesNotImplementedErrorr   )r   msggps      r%   	test_axisr      sb    
7C		#	#M	=!!)!!4 
>	*&	9
 
:	9 
>	=	9	9s   A(A9(
A69
Bc                     U R                  S5      n[        R                  " [        SS9   UR	                  S/S9  S S S 5        g ! , (       d  f       g = f)Nr   subsetr   r   )r   r   r   
ValueErrorr   )r   r   s     r%   test_bad_subsetr      s<    			i	(B	z	2
	{+ 
3	2	2s   A
Ac                 d   [        [        R                  5      [        S5      :  a-  UR                  [        R
                  R                  SSS95        U R                  S5      SS/   R                  SS	9n[        / S
Q[        R                  " / SQ/ SQS9SS9n[        R                  " X#5        g )N1.25Ypandas default unstable sorting of duplicatesissue with numpy>=1.25 with AVX instructionsFreasonstrictr   r   r   Tr_   )      ?      ?r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rU   rO   r   )r   r8   __version__applymarkerr   markxfailr   r   r	   r   from_tuplesr   r   )r   requestr!   r$   s       r%   
test_basicr      s    r~~'&/1KKC   	
 !!),h-DERR S F ($$ 5	
 H 6,r'   c                 &    X   R                  X#US9$ )Nr_   rP   rQ   )r   )r    rK   r_   rP   rQ   s        r%   _frame_value_countsr     s    8  99 UUr'   r   columnr   functionzsort, ascending))FN)TT)TFas_indexrD   c	                    ^  [        [        R                  5      [        S5      :  aB  U(       a;  U(       a4  U(       a-  UR                  [        R
                  R                  SSS95        ST S   R                  U 4S jS.U   n	T R                  XS9n
U
S	S
/   R                  X$US9nU(       Ga  US:X  a  [        OS nSn[        R                  " XS9   U
R                  [        S	S
/X$U5      nS S S 5        U(       a  [        R                  " UW5        g U(       a  SOSnWR!                  5       R#                  SU0SS9nUS:X  a1  UR#                  SS0SS9n[        R$                  " US   SS5      US'   O0US:X  a  US   S:H  US'   O[        R$                  " US   SS5      US'   [        R&                  " X5        g T S	   S-   T S
   -   T S'   U
S   R                  X$US9nX>l        U(       a  UR*                  R-                  SS9nUS   R.                  R1                  S5      R.                  R3                  S5      US	'   US   R.                  R1                  S5      R.                  R3                  S5      US
'   US	 UR#                  SS 0SS9n[4        R6                  " U5      Ul        [        R                  " X5        g UR9                  SS	US   R.                  R1                  S5      R.                  R3                  S5      5        UR9                  SS
US   R.                  R1                  S5      R.                  R3                  S5      5        US	 [        R&                  " X5        g ! , (       d  f       GN= f)Nr   r   Fr   r   c                    > TS   U    S:H  $ )Nr   r   rb   )xr   s    r%   <lambda>6test_against_frame_and_seriesgroupby.<locals>.<lambda>D  s    l95a8D@r'   r   )byr   r   r   r   r   z7DataFrameGroupBy.apply operated on the grouping columnsr   rO   r   r   r   r   level_0r   r   r   -bothr   r+   )r   r8   r   r   r   r   r   valuesr   r   DeprecationWarningr   r   rc   r   r   reset_indexrd   whereassert_frame_equalr   r   to_framestrsplitgetr   r   insert)r   r   r_   r   rP   rQ   r   rD   r   r   r   r!   warnr   r$   index_frames   `               r%   $test_against_frame_and_seriesgroupbyr      sL   . r~~'&/1eKKC   	
 i(//@
 	
B 
				7B;'(55) 6 F %,%8!dG''8xx#h%<iyH 9
 ""684#,<'D++-44aYQ4GH("#??Iy+A?J&(hhx	/BD$&O#J&&.y&9Q&>#&(hhx	/BD$&O#!!&3  ,H5;l;>WWVf:**i + 
 "..111>K$/$7$;$;$A$A#$F$J$J$N$Nq$QK!'26':'>'>'D'DS'I'M'M'Q'QRS'TK$F#%,,aYQ,?K'22;?HN""64OOAx&)9)=)=)C)CC)H)L)L)P)PQR)STOOA{HV,<,@,@,F,Fs,K,O,O,S,STU,VW !!&3K 98s   M..
M=r   zstring[pyarrow_numpy]pyarrow)marksstring[pyarrow]r_   zCsort, ascending, expected_rows, expected_count, expected_group_size)r   r   r+   r2      r   )r   r2   r   r2   r   )r2   r   r   r+   r   )r+   r   r   r   r   )r2   r   r2   r   r   )r   r   r+   r   r2   )r   r   r   r   r+   )r   r2   r   r   r2   c                 N   U R                  U5      n U R                  R                  U5      U l        U R                  SS/SSS9nUS   R                  XUS9n	[	        5       n
S HN  nU Vs/ s H
  oU   U   PM     snX'   U
R                  U5      n
U
R                  R                  U5      U
l        MP     U(       a.  XZS'   U
S==   U-  ss'   US	:X  a  U
S   R                  5       U
S'   O XZS
'   US	:X  a  U
S
   R                  5       U
S
'   [        R                  " X5        g s  snf )Nr   r   Fr   rP   r   r   r   rO   r   r   )r   r   r   r   r   convert_dtypesr   r   )r   r_   rP   rQ   expected_rowsexpected_countexpected_group_sizer   r   r!   r$   r   rows                r%   test_compoundr   w  s=   6  &&u-L'//66u=L			y(3e%		PB_))) * F {H4ANO#05O??5)#++2259 5 !/"55%%%-l%;%J%J%LH\"*%% ( 1 @ @ BHW&+ Ps   +D"c                  .    [        / SQ/ SQ/ SQS./ SQS9$ )Nr   r   r   r   )r+   r   r      )r+   r   r   r   r}   num_legs	num_wings)falcondogcatantr   r   rb   r'   r%   
animals_dfr    s    ,\R- r'   z?sort, ascending, normalize, name, expected_data, expected_indexr   r   r+   r   )r   r   r   )r+   r   r   r+   r   r   r   r   r+   )r  )r+   r   r   r  r+   r   r   )r  )r   r+   r   )r   r+   r   rO   )r   r   r   c                     U R                  XUS9n[        U[        R                  " U/ SQS9US9n[        R
                  " Xx5        U R                  S5      R                  XUS9n	[        R
                  " X5        g )N)rP   rQ   r_   r   rU   r   r}   )r   r	   r   r[   r   r   r   )
r  rP   rQ   r_   r   expected_dataexpected_indexresult_framer$   result_frame_groupbys
             r%   test_data_frame_value_countsr    s    * **) + L $$"B
 H <2%--e4AA) B  /:r'   c                      [         R                  n [        SSU SU SSSS/	SSSX SSSS/	SSSSSSU SU /	SSSSSSSX /	S	.5      $ )
Nr   r   r   r2   r+   rI   r6   r4   )r   r   r   D)r8   r>   r   )rA   s    r%   nulls_dfr    sq    
AQ1aAq!,Q1Aq!,Q1aAq!,Q1aAq,		
 r'   z:group_dropna, count_dropna, expected_rows, expected_values)	r   r   r2   rI   r4   r   r6   r+   r   )	r   r         ?r   r   r   r   r  r  )r   r   r2   rI   r+   r   )r   r   r  r  r  r  )r   r   rI   r4   r   r6   )r   r   r   r   r   r   )r   r   rI   )r   r   r  c                    [        [        R                  5      [        S5      :  a4  U(       d-  UR                  [        R
                  R                  SSS95        U R                  SS/US9nUR                  SSUS	9n[        5       nU R                   H  n	U V
s/ s H
  oU	   U
   PM     sn
X'   M     [        R                  " U5      n[        XKS
S9n[        R                  " X|5        g s  sn
f )Nr   r   Fr   r   r   )rR   T)r_   rP   rR   rO   r   )r   r8   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   )r  group_dropnacount_dropnar   expected_valuesr   r   r!   r   r   r   r   r$   s                r%   test_dropna_combinationsr    s    " r~~'&/1,KKC   	
 
		3*\		:B__t$|_LFkG""<IJMSF+C0MJ #!!'*E?lKH6, Ks   C,c                 .    [        / SQ/ SQSX S/S.5      $ )Nr   )JohnAnner  BethSmithLouiser}   
first_namemiddle_namer   )nulls_fixtures    r%   names_with_nulls_dfr#    s$    :#]8L	
 r'   z%dropna, expected_data, expected_indexr   )r   r   )r  r  )r  r  r  rU   r   )r  r  r  r  r  )r   r   r   r   )r   r   r+   r+   )r+   r   r   r+   r   c                    U R                  XS9n[        UUUS9nU(       a  U[        [        U5      5      -  n[        R
                  " Xg5        U R                  S5      R                  XS9n[        R
                  " X5        g )N)rR   r_   r   r}   )r   r	   r0   r   r   r   r   )	r#  rR   r_   r   r  r  r  r$   r  s	            r%   #test_data_frame_value_counts_dropnar&    s    B '3363WLH
 E#m,--<2.66u=JJ K  /:r'   observedznormalize, name, expected_data)r+   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r           r)  r)  r   r   r)  r)  r)  r)  c                    [        [        R                  5      [        S5      :  a-  UR                  [        R
                  R                  SSS95        U R                  S5      R                  SXS9nUR                  US9n[        R                  " / S	Q/ S
QS9n	[        UU	US9n
[        S5       HB  nU
R                  R                  [!        U
R                  R"                  U   5      US9U
l        MD     U(       a  [$        R&                  " X5        g U
R)                  U(       a  SOSS9n[$        R*                  " X5        g )Nr   r   Fr   r   r   r   r'  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rU   r   r2   levelrO   r   r   )r   r8   r   r   r   r   r   r   r   r   r   r   r	   rY   r   
set_levelsr   r   r   r   r   r   r   r   r'  r_   r   r  r   r   r!   r  expected_seriesir$   s                r%   =test_categorical_single_grouper_with_only_observed_categoriesr;  J  s:   , r~~'&/1KKC   	
 
		Z	(	0	0H 
1 
B __y_1F++	
 1N$ O
 1X / 5 5 @ @_2299!<=Q !A !
 
 
v7"..!* / 
 	f/r'   c                    U R                  5       R                  S5      n U S   R                  R                  S/5      U S'   U R	                  SXS9nUR                  US9n[        U[        R                  " U/ SQS9US9n	[        S	5       Hq  n
[        U	R                  R                  U
   5      nU
S
:X  a(  UR                  U S   R                  R                  5      nU	R                  R                  XS9U	l        Ms     U(       a  [         R"                  " X5        g U	R%                  US9n[         R&                  " X5        g )Nr   r   ASIAr+  r   r   rU   r   r2   r   r4  r6  )copyr   r  add_categoriesr   r   r	   r   r   rY   r   r   r   set_categoriesr   r7  r   r   r   r   )r   r   r'  r  r_   r   r  r   r!   r9  r:  index_levelr$   s                r%   !assert_categorical_single_grouperrB    s4     $$&--j9L +9599HH&RL			i(		NB__y_1F$$4
 O 1X&'<'<'C'CA'FG6%44Y'++66K !0 5 5 @ @ @ V  
v7"..D.9
f/r'   c           
          [        [        R                  5      [        S5      :  a-  UR                  [        R
                  R                  SSS95        / SQn[        U USUUUUS9  g )Nr   r   Fr   r,  Tr   r   r'  r  r_   r   r  r   r8   r   r   r   r   r   rB  r   r   r_   r   r  r   r  s          r%   -test_categorical_single_grouper_observed_truerG    so    * r~~'&/1KKC   	
N &!%#r'   )r+   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r)  r)  r)  r   r   r)  r)  r)  r)  r)  r)  r)  r)  r)  r)  c           
          [        [        R                  5      [        S5      :  a-  UR                  [        R
                  R                  SSS95        / SQn[        U USUUUUS9  g )Nr   r   Fr   )r   r   r   r-  r.  r/  r   r   r0  r1  r2  r3  )r=  r   r   )r=  r   r   )r=  r   r   )r=  r   r   )r=  r   r   )r=  r   r   rD  rE  rF  s          r%   .test_categorical_single_grouper_observed_falserI    sp    X r~~'&/1KKC   	
N* &!%#r'   zobserved, expected_index)r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   )r   r   r   )r   r   r   )rJ  rK  rL  rM  rN  )r   r   r+   r   r   r   r   r   r   r   r   r   )r  r)  r  r)  r  r)  r  r)  r  r)  r)  r)  c                 X   U R                  5       n U S   R                  S5      U S'   U S   R                  S5      U S'   U R                  SS/XS9nUR                  US9n[	        U(       a  XfS:     OU[
        R                  " U/ SQS9US	9n	[        S
5       HB  n
U	R                  R                  [        U	R                  R                  U
   5      U
S9U	l        MD     U(       a  [        R                  " X5        g U	R                  U(       a  SOSS9n[        R                  " X5        g )Nr   r   r   r+  r   r)  )r   r   r   rU   r   r+   r4  rO   r   r6  )r>  r   r   r   r	   r   r   rY   r   r7  r   r   r   r   r   r   )r   r   r'  r  r_   r   r  r   r!   r9  r:  r$   s               r%   "test_categorical_multiple_groupersrP  I  s3   n  $$&L*95<<ZHL ,[ 9 @ @ LL				K 8 
 
B __y_1F3;]3./$$4
 O 1X / 5 5 @ @_2299!<=Q !A !
 
 
v7"..!* / 
 	f/r'   c                    [        [        R                  5      [        S5      :  a-  UR                  [        R
                  R                  SSS95        U R                  5       n U S   R                  S5      U S'   U S   R                  S5      U S'   U R                  SXS	9nUR                  US
9n/ SQn	[        U[        R                  " U	/ SQS9US9n
[        SS5       HB  nU
R                  R!                  [#        U
R                  R$                  U   5      US9U
l        MD     U(       a  [&        R(                  " X5        g U
R+                  U(       a  SOSS9n[&        R,                  " X5        g )Nr   r   Fr   r   r   r   r   r+  r   r,  r   rU   r   r   r2   r4  rO   r   r6  )r   r8   r   r   r   r   r   r>  r   r   r   r	   r   r   rY   r   r7  r   r   r   r   r   r   r8  s                r%   test_categorical_non_groupersrR    sl   0 r~~'&/1KKC   	
  $$&L)(3:::FL ,[ 9 @ @ LL			i(		NB__y_1FN $$4
 O 1a[ / 5 5 @ @_2299!<=Q !A !
 
 
v7"..!* / 
 	f/r'   z*normalize, expected_label, expected_valuesr  c                    [        / SQ/ SQS.5      nUR                  / SQSS /SS9nUR                  S	U S
9n[        S[        R                  " / SQ[
        S9S/ SQS/ SQS/ SQX05      n[        R                  " XV5        g )Nr  r   r+   r2   )r   r   )r   rI   r   r   c                     U S:X  a  S$ S$ )Nr   r4   r6   rb   )r:  s    r%   r   &test_mixed_groupings.<locals>.<lambda>  s    AFq/A/Ar'   Fr   TrP   r_   r   )r   r   rI   r(  r  level_2)r6   r6   r4   r   )r   r2   r+   )r   r   r   r8   r   intr   r   )r_   expected_labelr  r    r   r!   r$   s          r%   test_mixed_groupingsr\    s     
3	4B	Y%ABU	SB__$)_<Frxx	5y	
H &+r'   ztest, columns, expected_namesrepeatabbde)r   Ndr   r   er5  r,   level_1)r   Nr_  r   cra  c                    [        / SQ/ SQ/US9nSS/nS[        R                  " SS/[        R                  S	9S
/nUR	                  XcS9R                  5       nU(       a5  [        S[        R                  " UUS9SS9n[        R                  " Xx5        g U V	s/ s H  n	[        U	5      S/-   PM     nn	[        U5      n
SU
S'   U
R                  S5        [        XZS9n[        R                  " Xx5        g s  sn	f )N)r   r2   rI   r4   r7   )r+   r   r   r6   r)   r   )r   r   r4   r2   rI   r7   )r+   r   r6   r   r   r)   r   r   r   r(  r_  rW  r$  rU   r   r   ra  )r   r8   r   int64r   r   r	   r   r   r   r   r<   appendr   )testr   expected_namesr   r    r  rK   r!   r$   r   expected_columnss              r%   test_column_label_duplicatesri    s     
O%56	HB')<=M1a&137DZZZ0==?F(($ 
 	v04ABMScaSMB/'(]E
f/ Cs   C6znormalize, expected_labelc                     [        / SQ/SSU/S9R                  SSS9nSU S3n[        R                  " [        US	9   UR                  U S
9  S S S 5        g ! , (       d  f       g = f)NrT  r   r   r   FrW  zColumn label 'z' is duplicate of result columnr   r   )r   r   r   r   r   r   )r_   r[  r   r   s       r%   test_result_label_duplicatesrk  '  si     
I;c>(B	C	K	Ke 
L 
B >**I
JC	z	-
), 
.	-	-s   A
A%c                     [        SSS/05      n U R                  [        R                  " SS/[        R                  S95      nUR                  5       n[        S/[        R                  " SS//S S/S9SS9n[        R                  " X#5        g )Nr   r   r(  r+   rU   r   r   )r   r   r8   r   rd  r   r	   r   r   r   r   )r    r   r!   r$   s       r%   test_ambiguous_groupingrm  8  s{    	C!Q=	!B	BHHaV2884	5B__F	
:))Aq6(4+FWH 6,r'   c                      [        / SQ/ SQS./ SQS9n Sn[        R                  " [        US9   U R	                  S5      R                  S/S	9  S S S 5        g ! , (       d  f       g = f)
Nr   r   rb  r   yrq  c1c2r   r   r   r   z;Keys {'c1'} in subset cannot be in the groupby column keys.r   rs  r   r   r   r   r   r   r   r    r   s     r%   "test_subset_overlaps_gb_key_raisesrx  C  sN    	/A	SB
GC	z	-


4%%dV%4 
.	-	-    A
A&c                      [        / SQ/ SQS./ SQS9n Sn[        R                  " [        US9   U R	                  S5      R                  S	/S
9  S S S 5        g ! , (       d  f       g = f)Nro  rp  rr  ru  r   z4Keys {'c3'} in subset do not exist in the DataFrame.r   rs  c3r   rv  rw  s     r%   !test_subset_doesnt_exist_in_framer|  K  sN    	/A	SB
@C	z	-


4%%dV%4 
.	-	-ry  c                      [        / SQ/ SQS./ SQS9n U R                  SS9R                  S/S	9n[        S
S/[        R
                  " SS
/SS//S S/S9SS9n[        R                  " X5        g )Nro  rp  rr  ru  r   r   r4  rt  r   r   r+   r   rq  rU   r   r   r   r   r   r	   r   r[   r   r   r    r!   r$   s      r%   test_subsetr  S  sx    	/A	SBZZaZ --dV-<F	
A$$q!fsCj%9$NH
 6,r'   c            	          [        / SQ/ SQ/ SQ// SQ/ SQS9n U R                  SS9R                  S/S	9n[        S
S/[        R
                  " SS
/SS/SS/// SQS9SS9n[        R                  " X5        g )N)r   r   r   )r   rq  rq  ru  )rs  rt  rt  )r   r   r   r4  rt  r   r   r+   r   rq  )Nrt  rt  rU   r   r   r~  r  s      r%   test_subset_duplicate_columnsr  _  s    		/?;"
B
 ZZaZ --dV-<F	
A$$Vc3Z#s,4F
 H 6,r'   c                    [        / SQ/ SQS.5      R                  S/5      n[        US   U SS9R                  R	                  U5      US'   UR                  [        S	SS
95      nUR                  5       n[        / SQU S9R	                  U5      nUS   R                  5       n[        XV/ SQ// SQ[        S5      / SQ// SQS9n[        SUSS9n[        R                  " XH5        g )Nrm   rn   rs   r2   rt   rv   rw   ry   rz   r{   )z
2019-08-06z
2019-08-07z
2019-08-09z
2019-08-10)rk   )ro   rp   rq   rr   )r   r   r   r+   r+   r2   r   )r   r   r   r+   r+   r2   )ry   rt   ru   r   r   r   r   )r   r~   r   dtas_unitr   r   r   uniquer   rY   r	   r   r   )	rk   rx   r    r   r!   dates
timestampsr   r$   s	            r%   test_value_counts_time_grouperr  q  s     
 W	

 dA3i  !KcDGGOOPTUBzN	G:6	7B__F@cgdm 
 K'')J#HI!58-?@/E
 au73H6,r'   c                      [        / SQ/ SQ/ SQS.5      n U R                  SS/SSS9nUS	   R                  5       n[        / SQ/ SQ/ SQSS
.5      n[        R                  " X#5        g )N)r   r   r   )r   r   r_  ro  rT  r   r+   Fr   r2   )r   r+   r2   r   )r   r   r   r   r   )r    r   r!   r$   s       r%   !test_value_counts_integer_columnsr    sc    	?O	PB	QFU	7BU!FOaPH &+r'   vc_sortc                    [        / SQ/ SQS.5      nUR                  SU S9nUR                  XS9nU(       a  / SQnO/ SQn[        S	S
/SS/// SQ/ SQ/SS/S9n[	        XgU(       a  SOSS9nU (       a  U(       a  / SQn	O*U (       a  U(       d  / SQn	OU (       d  U(       a  / SQn	O/ SQn	UR                  U	5      n[        R                  " XX5        g )Nr+   r   r   r   r2   r   r2   r2   r   r   r   r`   rX  )UUUUUU?UUUUUU?r  r	  r   r+   r2   r   )r   r   r   )r   r   r   r   r   rO   r   r   )r   r   r+   )r   r+   r   )r+   r   r   )r   r   r   r   r	   taker   r   )
rP   r  r_   r    r   r!   r   r   r$   takers
             r%   test_value_counts_sortr    s     
,7	8B	Cd	#B__'_?F$AA	9'=c1XE f	wWH	gg}}U#H6,r'   c           	         [        / SQ/ SQS.SS9nUR                  SU SS9nUR                  XS	9nU(       a  / S
QnO/ SQnU(       a  SOSn[        S[        / SQ5      S[        / SQ5      Xv05      R	                  SS/5      U   nU (       a  U(       a  / SQn	O*U (       a  U(       d  / SQn	OU (       d  U(       a  / SQn	O/ SQn	UR                  U	5      n[        R                  " XX5        g )Nr  r  r  r   r(  r   T)rP   r'  rX  )r  r  r  r)  )r+   r   r   r   rO   r   )r   r   r+   r+   r   )r2   r   r2   r   )r   r   r+   r2   )r   r+   r   r2   )r+   r2   r   r   )r   r   r   r   	set_indexr  r   r   )
rP   r  r_   r    r   r!   r   r   r$   r  s
             r%   "test_value_counts_sort_categoricalr    s     
,7z	JB	CdT	2B__'_?F)$<'D\*{<(	
 ia$ H 	gg}}U#H6,r'   )K__doc__numpyr8   r   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r   r   r   r   r   r	   r
   r   pandas._testing_testingr   pandas.util.versionr   r&   rE   r   slowparametrizereprrj   r   r   r   r   r   fixturer   r   r   r   r   r   objectparam
skip_if_nor   r  r  r  r  r#  r[   r>   r&  r   rd  r;  rB  rG  rI  rP  rR  r\  r<   ri  rk  rm  rx  r|  r  r  r  r  r  r  rb   r'   r%   <module>r     sx
     ) )
 
 
  '-(. tUm4b"X.QG,%!?TJ$AT:4-0*-ACS,TU$/tUm4D%=1'B 2 5 0 V 1 ; K - / 5 'BT u.- /-< c3Z$AB	- C	- c3Z$AB- C--6-(  ,-@V $CD*-ACS,TU dE]34-0H4 1 4 V EH4V ,BMM)4LM&bmmI.FG tUm4I	oH	uoH	t_oG, 5",D   E	eWi1RS	tUGY0QR	ueWi1RS-	
	 ;! ;0 	 	 @ '=		
 
(*HI	u(*LM	tY0
--.   + F""?:	
 1#J238Wbff56
 $\<@:	
4 *-=?S,TU; V56;0 eT]3eT]3$ HH9J	
 HHST	
70 4 4"70t 0F dE]3$ HH9J	
 HHST	
' 4 'T dE]3$ HHFbhh	
 HH	
"%L-M% 4N-` dE]3 	
$ 		
%@ $ HH9J	
 HHQR		
 "0!A 4b"0J eT]3eT]3$ HH9J	
 HHST		
 90! 4 4$90x 0	#	|_-,," #	4="AB	$v,),.ST eT]30 404 ---55	--$ u.- /-B, T5M2tUm4- 5 3-6 T5M2tUm4- 5 3-r'   