
    Pi                     f   d Z ddlZddlZddlmZmZmZmZm	Z	m
Z
mZmZmZ ddlmZ d Zd Zej        j        ej                            dddg          ej                            d	d
dg          ej                            dddg          ej                            dddddgge          ej                            ddddgge          ej                            dddg          ej                            dddg          d                                                                                                 Zej                            dddg          d             Zej                            dddgg dg          d             Zej                            dddgg dg          d              Zd! Zd" Zej        d#             Zd$ Zd% Z d& Z!ej                            d'g d(          ej                            dddg          ej                            d)g d*          ej                            d+ddg          d,                                                 Z"ej                            d-ddg          ej                            d.ddg d/g d0g d1fddg d2g d3g d4fddg d5g d6g d7fg          d8                         Z#ej                            d9dddd:g d;g d<fdddd:g d=g d>fdddd:g d?g d@fddddAg dBg d@fg          dC             Z$ej                            dDddg dEg dFfddg dGg dHfddg dIg dJfddg dKg dLfg          dM             Z%ej                            dNddOdOg e
j&        g dPg dQR          fdg dS e
 e	dOg           e	g dT           e	dUdVej'        g          gg dWg dXg dYgg dQZ          fg          ej                            dddg          d[                         Z(ej                            d\ddg          ej                            d]dd: ej)        g d^ej*        _          fddA ej)        g d`          fg          da                         Z+db Z,ej                            d]dd: ej)        g d^ej*        _          fddA ej)        g d`          fg          dc             Z-ej                            d]dd: ej)        g ddej*        _          fddA ej)        g de          fg          df             Z.ej                            dgdg dhfdg difg          ej                            d]dd: ej)        g djej*        _          fddA ej)        g dk          fg          dl                         Z/ej                            d\ddg          ej                            d]dd: ej)        g d^ej*        _          fddA ej)        g d`          fg          dm                         Z0ej                            dndd:g dofddAg dLfg          dp             Z1ej                            dqdr e2ds          g dtfdug  e2dv          dwg dxfg          dy             Z3ej                            dzddg          d{             Z4d| Z5d} Z6d~ Z7d Z8d Z9ej                            dddg          d             Z:d Z;ej                            dddg          ej                            d-ddg          d                         Z<ej                            dddg          ej                            d-ddg          d                         Z=ej                            dddg          d             Z>dS )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_datetimec                     t          dgdgd          } | d                             d          | d<   |                     d          d                                         }t          ddggddg          }|d                             d          |d<   t	          j        |          }t          dg|d	
          }t          j        ||           d S )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        /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/groupby/methods/test_value_counts.py.tests_value_counts_index_names_category_columnr%      s    	jv	
 	

 
B h<&&z22BxLZZ	""8,99;;F x 01Ix;PQQQN-h7>>zJJN8'77Kqc7;;;H68,,,,,    c           	         t          dd          }t          t          j                            d                              t          d          |          t          j                            d                              ||          t          j                            d                              d|dz   |          d          }| r|d                             d	          |d<   t          j	        |j
        dd d
df<   t          j	        |j
        dd ddf<   t          j	        |j
        dd ddf<   t          j	        |j
        dd ddf<   t          j	        |j
        dd ddf<   |S )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_dfrD   ,   sD   lB///D9((++224<<CC9((++224;;9((++44QAqAA	
 	
 E  )U|**73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   c                    t          | ||          }d }|||	|
|d}|                    ||          } |d         j        di |}|                    ||          } |d         j        t          j        fi |}g |j        j        d d         d|j        _        |                    |          }t          |||f          \  }}t          j
        |                                |                                           d S )Nc                     t          t          | j        j        t	          | j        j                                      }t          j        || j        j                  | _        | S )Nnames)	r;   mapr   get_level_valuesrangenlevelsr   from_arraysrR   )r   arrs     r$   rebuild_indexz7test_series_groupby_value_counts.<locals>.rebuild_indexZ   sK    3rx0%8H2I2IJJKK)#RX^DDD	r&   )	normalizesort	ascendingdropnarL   r[   r.    )rD   r   r   applyr	   r   rR   renamerS   r   r   
sort_index)r?   rE   rG   rJ   rL   rM   rZ   r   r[   r\   r]   r   rY   kwargsgrleftrights                    r$    test_series_groupby_value_countsrh   C   s$   * 
Hg	.	.B    F 
Du	%	%B!2e9!++F++D	Du	%	%BBuIOF/::6::E8%++CRC08%8EKLLE mdE]33KD%4??,,e.>.>.@.@AAAAAr&   utcc                    t          g dg dd                              dg          }t          |d         | d          |d<   |                    t	          d	d
                    }|d                                                                         }|d                             t          j                                                  }|j	        j
        |j	        _
        |                    d          }t          j        ||           d S )NiGI]i)J]iJ]iK]i)<M]iU=M]iN]applerm   bananarn   orangero   pear	TimestampFoodr1   rr   sri   unitDatetime1Dfreqkeyrs   r   )r   dropr   r   r   r   rc   ra   r	   r   rR   rb   r   r   )ri   r   dfgr    r#   s        r$   -test_series_groupby_value_counts_with_grouperr~   u   s    
   WVV	
 	

 
 dA3ii  !KcDDDBzN
**W$J777
8
8C [%%''2244F6{  !455@@BBH!<-HNw''H68,,,,,r&   r   AB)r   r   Cc                 P   t          |           }|                    | d d                   }|| d                                                  }t          g |j        d          }t          j        g gt          |           z  |           |_        t          j
        ||           d S )Nr   r_   r   )dtyper   rQ   )r   r   r   r	   r   r   rW   lenr   r   r   r   r   r}   r    r#   s        r$   &test_series_groupby_value_counts_emptyr      s     
7	#	#	#B
**WSbS\
"
"C**,,Fb7;;;H+RD3w<<,?wOOOHN68,,,,,r&   c                 *   t          t          t          |                     g|           }|                    | d d                   }|| d                                                  }|                                }t          j        ||           d S )N)datar   r_   )r   rU   r   r   r   r   r   r   s        r$   (test_series_groupby_value_counts_one_rowr      s     
s7||,,-w	?	?	?B
**WSbS\
"
"C**,,F  H68,,,,,r&   c                  d   t          t          dgddg                    } |                     dg                                          }t          ddgt	          j        t          j        ddg          t          ddgddgdd          g          d	
          }t          j
        ||           d S )Nab)
categoriesr   r   Fr   )r   orderedr   r   r   r   r   )r	   r   r   r   r   rW   r7   arrayr   r   r   )rt   r    r#   s      r$   /test_series_groupby_value_counts_on_categoricalr      s     	{C5c3Z88899AYYs^^((**FV$!Q   #JC:uJ  
 
   H$ 68,,,,,r&   c                  @   t          g dg dg dd          } |                     ddgd          d	         }|                    d          }t          d
dgddgg dgg dg dg dgg d          }t	          g d|d          }t          j        ||           d S )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codesrR   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JJHHH;;;	
 	

 
B 
Y)	6	6{	CB__%_((Ftvx02K2K2KLA000  E
 oooUAAAH68,,,,,r&   c                  4    t          g dg dg dd          S )Nr   r   r   r   )r   r`   r&   r$   education_dfr      s9    JJJHHH;;;	
 	
  r&   c                     |                      d          }t          j        t          d          5  |                    dg           d d d            d S # 1 swxY w Y   d S )Nr   subsetmatchr   )r   pytestraises
ValueErrorr   )r   gps     r$   test_bad_subsetr      s    			i	(	(B	z	2	2	2 , ,
	{+++, , , , , , , , , , , , , , , , , ,s   AAAc                 R   |                     t          j                            dd                     |                     d          ddg                             d          }t          g d	t          j        g d
g d          d          }t          j
        ||           d S )NYpandas default unstable sorting of duplicatesissue with numpy>=1.25 with AVX instructionsFreasonstrictr   r   r   TrZ   )      ?      ?r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rQ   rN   r   )applymarkerr   markxfailr   r   r	   r   from_tuplesr   r   )r   requestr    r#   s       r$   
test_basicr      s    ?  	 	
 	
   !!),,h-DERR S  F ((($   544	
 	
 	
   H 68,,,,,r&   c                 >    | |                              |||          S )NrZ   r[   r\   )r   )r   rJ   rZ   r[   r\   s        r$   _frame_value_countsr     s!    d8  949 UUUr&   r   columnr   functionzsort, ascending))FN)TT)TFrC   c
                 H    |r8|r6|r4|                     t          j                            dd                     d d         j         fdd|         }
                     |
|          }|dd	g                             |||
          }|r|                    t          dd	g|||          }|rt          j
        ||           d S |rdnd}|                                                    d|id          }|dv r#|s!|r|                    dd|d                    n|                    dd|d                    t          j        ||           d S  d         dz    d	         z    d<   |d                             |||
          }||_        |rB|j                            d          }|d         j                            d          j                            d          |d<   |d         j                            d          j                            d          |d	<   |d         j        }|                    ||d          }|d= |                    dd id          }t/          j        |          |_        |j                                        d         r!d g|j        j        dd          |j        _        t          j
        ||           d S |                    dd|d         j                            d          j                            d                     |                    dd	|d         j                            d          j                            d                     |	r|                    ddd          }|d= t          j        ||           d S )Nr   Fr   r   c                 (    d         |          dk    S )Nr   r   r`   )xr   s    r$   <lambda>z6test_against_frame_and_seriesgroupby.<locals>.<lambda><  s    l95a8D@ r&   r   )byas_indexr   r   r   rN   r   r   r   )axis)r   r   level_0)r>   r   value-bothr   )r   r   r*   str)r   r   r   r   valuesr   r   ra   r   r   r   reset_indexrb   insertassert_frame_equalr   r   to_framer   splitgetr   r   r   r   r   isnarR   )r   r   rZ   r   r[   r\   r   rC   r   using_infer_stringr   r   r    r#   index_frame
both_dtypeindex_frame2s   `                r$   $test_against_frame_and_seriesgroupbyr     s   >  	
 	
) 	
KC    	
 	
 	
 i(/@@@@
 
 	
B 
		h		7	7B;'(55$) 6  F  /488(K!8)T9
 
  		4"6844444#,9<<'D++--44aYQ4GGH////e/Aivi?PQQQQAivi?PQQQ!&(33333  ,H5;l;>WWVf:**di + 
 
  	4".111>>K$/$7$;$A$A#$F$F$J$N$Nq$Q$QK!'26':'>'D'DS'I'I'M'Q'QRS'T'TK$$V,2J%,,%J?? K F#&--q$ia-@@L'2<@@HN#((**1- I )-'Hx~/CABB/G'H$"6844444OOAx&)9)=)C)CC)H)H)L)P)PQR)S)STTTOOA{HV,<,@,F,Fs,K,K,O,S,STU,V,VWWW! R#??e%+P+PQQ !&(33333r&   rZ   zCsort, ascending, expected_rows, expected_count, expected_group_size)r   r   r*   r1      r   )r   r1   r   r1   r   )r1   r   r   r*   r   )r*   r   r   r   r   )r1   r   r1   r   r   )r   r   r*   r   r1   )r   r   r   r   r*   )r   r1   r   r   r1   c	                     |}	                      |	            j                             |	           _                             ddgdd          }
|
d                             |||          }t	                      }dD ]H fd|D             |<   |                     |	          }|j                             |	          |_        I|r9||d	<   |d	xx         |z  cc<   |	d
k    r|d	                                         |d	<   n(||d<   |	d
k    r|d                                         |d<   |r$|	t          k    r|                     dddd          }t          j        ||           d S )Nr   r   Fr   r[   r   r   r   c                 ,    g | ]}         |         S r`   r`   ).0rowr   r   s     r$   
<listcomp>z!test_compound.<locals>.<listcomp>  s#    OOO#L05OOOr&   rN   zstring[pyarrow]r   r   )	r   r   r   r   r   convert_dtypesobjectr   r   )r   rZ   r[   r\   expected_rowsexpected_countexpected_group_sizeany_string_dtyper   r   r   r    r#   r   s   `            @r$   test_compoundr   u  s   ( E&&u--L'/66u==L			y(3e%		P	PB_))$) *  F {{H4 : :OOOOOOOO??5))#+22599 	C!/"55%%%%-l%;%J%J%L%LH\"*%%% ( 1 @ @ B BHW 
evoo??UCC
 
 &(+++++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   rN   )r   r   r   c                 j   t          g dg dg ddg d          }|                    | ||          }t          |t          j        |g d          |	          }t          j        ||           |                    d
                              | ||          }	t          j        |	|           d S )Nr   r   r   r   )r*   r   r   r   )r*   r   r   r   )r{   num_legs	num_wings)falcondogcatantr   )r[   r\   rZ   rQ   r   r{   )r   r   r	   r   rW   r   r   r   )
r[   r\   rZ   r   expected_dataexpected_index
animals_dfresult_framer#   result_frame_groupbys
             r$   test_data_frame_value_countsr    s    * ,,,\\\RR---  J **Y) +  L $"B"B"B
 
 
   H <222%--e44AAY) B   /:::::r&   z:group_dropna, count_dropna, expected_rows, expected_values)	r   r   r1   rH   r   r3   r5   r*   r   )	r   r         ?r   r   r   r   r  r  )r   r   r1   rH   r*   r   )r   r   r  r  r  r  )r   r   rH   r   r3   r5   )r   r   r   r   r   r   )r   r   rH   )r   r   r  c                   
 | s4|                     t          j                            dd                     t	          ddt
          j        dt
          j        ddddg	dddt
          j        t
          j        ddddg	ddddd	dt
          j        d
t
          j        g	ddddd	ddt
          j        t
          j        g	d                              ddg|           }|                    dd|          }t	                      }j	        D ]

fd|D             |
<   t          j        |          }t          ||d          }	t          j        ||	           d S )Nr   Fr   r   r   r   r1   r*   rH   r5   r3   )r   r   r   Dr   r   )r]   T)rZ   r[   r]   c                 ,    g | ]}         |         S r`   r`   )r   r   r   nulls_dfs     r$   r   z,test_dropna_combinations.<locals>.<listcomp>  s#    JJJS8F+C0JJJr&   rN   r   )r   r   r   r   r   r7   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   "  	
KC    	
 	
 	
 Q261aA6Q26261aA6Q1aBFArv6Q1aArvrv6		
 	
 H 
		3*\		:	:B__t$|_LLFkkG" K KJJJJJMJJJ!'**E?%lKKKH68,,,,,r&   z%dropna, expected_data, expected_indexr   )r   r   )JohnBeth)SmithLouiser{   
first_namemiddle_namerQ   r   )Anner  r  r  r  )r   r   r   r   )r*   r   r*   r   )r   r*   r*   r   r   c                 x   t          g dg dd| | dgd          }|                    ||          }t          |||          }|r|t          t	          |                    z  }t          j        ||           |                    d                              ||          }	t          j        |	|           d S )	Nr   )r  r  r  r  r  r  r  )r]   rZ   r   r{   )r   r   r	   r/   r   r   r   r   )
nulls_fixturer]   rZ   r   r   r   names_with_nulls_dfr  r#   r  s
             r$   #test_data_frame_value_counts_dropnar    s    B $<<:::#]M8L	
 	
  '336Y3WWL  H
  .E#m,,---<22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                 x   |                     t          j                            dd                     |                     d                              d||          }|                    |          }t          j        g dg d	
          }	t          ||	|          }
t          d          D ]@}|
j                            t          |
j        j        |                   |          |
_        A|rt          j        ||
           d S |
                    |rdnd          }t          j        ||           d S )Nr   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   rQ   r   r1   levelrN   r   r   )r   r   r   r   r   r   r   r   r   r	   rU   r   
set_levelsr   r   r   r   r   r   r   r   r  rZ   r   r   r   r   r    r   expected_seriesir#   s                r$   =test_categorical_single_grouper_with_only_observed_categoriesr/  ;  s   * ?  	 	
 	
   
		Z	(	(	0	0Hx 
1 
 
B __y_11F+	
 	
 	
 100  N$   O
 1XX 
 
 / 5 @ @_29!<==Q !A !
 !
  0
v77777"..!*7 / 
 
 	fh/////r&   c                    |                                                      d          } | d         j                            dg          | d<   |                     d||          }|                    |          }t          |t          j        |g d          |          }	t          d	          D ]m}
t          |	j        j        |
                   }|
d
k    r%|                    | d         j        j                  }|	j                            ||
          |	_        n|rt!          j        ||	           d S |	                    |          }t!          j        ||           d S )Nr   r   ASIAr  r   r   rQ   r   r1   r   r(  r*  )copyr   r   add_categoriesr   r   r	   r   r   rU   r   r   r   set_categoriesr   r+  r   r   r   r   )r   r   r  r   rZ   r   r   r   r    r-  r.  index_levelr#   s                r$   !assert_categorical_single_grouperr6    s     $$&&--j99L +959HH&RRL			i(X		N	NB__y_11F$444
 
 
   O 1XX W W&'<'CA'FGG66%44Y'+6 K !0 5 @ @TU @ V V 0
v77777"..D.99
fh/////r&   c           	          |                     t          j                            dd                     g d}t	          | |d||||           d S )Nr   Fr   r   Tr   r   r  r   rZ   r   r   r   r   r   r   r6  r   r   rZ   r   r   r   r   s          r$   -test_categorical_single_grouper_observed_truer;    s    ( ?  	 	
 	
    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           	          |                     t          j                            dd                     g d}t	          | |d||||           d S )Nr   Fr   )r   r   r   r!  r"  r#  r   r   r$  r%  r&  r'  )r1  r   r   )r1  r   r   )r1  r   r   )r1  r   r   )r1  r   r   )r1  r   r   r8  r9  r:  s          r$   .test_categorical_single_grouper_observed_falser=    s    V ?  	 	
 	
    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   )r>  r?  r@  rA  rB  )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                    |                                  } | d                             d          | d<   | d                             d          | d<   |                     ddg||          }|                    |          }t	          |r||dk             n|t          j        |g d          |	          }	t          d
          D ]@}
|	j        	                    t          |	j        j        |
                   |
          |	_        A|rt          j        ||	           d S |	                    |rdnd          }t          j        ||           d S )Nr   r   r   r  r   r  )r   r   r   rQ   r   r*   r(  rN   r   r*  )r2  r   r   r   r	   r   r   rU   r   r+  r   r   r   r   r   r   )r   r   r  r   rZ   r   r   r   r    r-  r.  r#   s               r$   "test_categorical_multiple_groupersrD  4  s   l  $$&&L*95<<ZHHL ,[ 9 @ @ L LL				K 8h 
 
 
B __y_11F3;N]=3.//$444
 
 
   O 1XX 
 
 / 5 @ @_29!<==Q !A !
 !
  0
v77777"..!*7 / 
 
 	fh/////r&   c                    |                     t          j                            dd                     |                                 } | d                             d          | d<   | d                             d          | d<   |                     d||          }|                    |	          }g d
}	t          |t          j
        |	g d          |          }
t          dd          D ]@}|
j                            t          |
j        j        |                   |          |
_        A|rt!          j        ||
           d S |
                    |rdnd          }t!          j        ||           d S )Nr   Fr   r   r   r   r   r  r   r   r   rQ   r   r   r1   r(  rN   r   r*  )r   r   r   r   r2  r   r   r   r	   r   r   rU   r   r+  r   r   r   r   r   r   r,  s                r$   test_categorical_non_groupersrF    s   . ?  	 	
 	
    $$&&L)(3:::FFL ,[ 9 @ @ L LL			i(X		N	NB__y_11F  N $444
 
 
   O 1a[[ 
 
 / 5 @ @_29!<==Q !A !
 !
  0
v77777"..!*7 / 
 
 	fh/////r&   z*normalize, expected_label, expected_valuesr   c                 8   t          g dg dd          }|                    g ddd gd          }|                    d	| 
          }t          dt          j        g dt
                    dg ddg ddg d||i          }t          j        ||           d S )Nr   r   r*   r1   )r   r   )r   rH   r   r   c                     | dk    rdndS )Nr   r3   r5   r`   )r.  s    r$   r   z&test_mixed_groupings.<locals>.<lambda>  s    AFFqq r&   Fr   Tr[   rZ   r   )r   r   rH   r  r   level_2)r5   r5   r3   r   )r   r1   r*   )r   r   r   r7   r   intr   r   )rZ   expected_labelr  r   r   r    r#   s          r$   test_mixed_groupingsrO    s     
33	4	4B	YYY%A%ABU	S	SB__$)_<<Frx			555yyyO	
 H &(+++++r&   ztest, columns, expected_namesrepeatabbde)r   Ndr   r   er)  r+   level_1)r   NrR  r   crT  c                    t          g dg dg|          }ddg}dt          j        ddgt          j        	          d
g}|                    ||                                          }|r=t          dt          j        ||          d          }t          j
        ||           d S d |D             }t          |          }	d|	d<   |	                    d           t          ||	          }t          j        ||           d S )N)r   r1   rH   r3   r6   )r*   r   r   r5   r(   r   )r   r   r3   r1   rH   r6   )r*   r   r5   r   r   r(   r   r   r   r  rR  rJ  r  rQ   r   r   c                 4    g | ]}g t          |          d S )r   )r;   )r   r   s     r$   r   z0test_column_label_duplicates.<locals>.<listcomp>  s&    BBBS499aBBBr&   rT  )r   r7   r   int64r   r   r	   r   r   r   r   r;   appendr   )
testr   expected_namesr   r   r   rJ   r    r#   expected_columnss
             r$   test_column_label_duplicatesr]    s9    
OOO%5%5%56	H	H	HB')<=M1a&11137DZZxZ00==??F 0($   
 
 
 	vx00000BBMBBB//'(((]4DEEE
fh/////r&   znormalize, expected_labelc                     t          g dgdd|g                              dd          }d| d}t          j        t          |	          5  |                    | 
           d d d            d S # 1 swxY w Y   d S )NrH  r   r   r   FrJ  zColumn label 'z' is duplicate of result columnr   r   )r   r   r   r   r   r   )rZ   rN  r   msgs       r$   test_result_label_duplicatesr`    s     
III;c>(B	C	C	C	K	Ke 
L 
 
B K>
J
J
JC	z	-	-	- - -
),,,- - - - - - - - - - - - - - - - - -s   A22A69A6c                  @   t          dddgi          } |                     t          j        ddgt          j                            }|                                }t          dgt          j        ddggd dg          d          }t          j
        ||           d S )Nr   r   r  r*   rQ   r   r   )r   r   r7   r   rX  r   r	   r   r   r   r   )r   r   r    r#   s       r$   test_ambiguous_groupingrb    s    	C!Q=	!	!B	BHaV28444	5	5B__F	
:)Aq6(4+FFFW  H 68,,,,,r&   c                      t          g dg ddg d          } d}t          j        t          |          5  |                     d                              dg	           d d d            d S # 1 swxY w Y   d S )
Nr   r   rU  r   yrf  c1c2r   r   r   r   z;Keys {'c1'} in subset cannot be in the groupby column keys.r   rh  r   r   r   r   r   r   r   r   r_  s     r$   "test_subset_overlaps_gb_key_raisesrm  *  s    	///AA	S	S	SB
GC	z	-	-	- 5 5


4%%dV%4445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5   +A00A47A4c                      t          g dg ddg d          } d}t          j        t          |          5  |                     d                              d	g
           d d d            d S # 1 swxY w Y   d S )Nrd  re  rg  rj  r   z4Keys {'c3'} in subset do not exist in the DataFrame.r   rh  c3r   rk  rl  s     r$   !test_subset_doesnt_exist_in_framerq  2  s    	///AA	S	S	SB
@C	z	-	-	- 5 5


4%%dV%4445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5rn  c                     t          g dg ddg d          } |                     d                              dg	          }t          d
dgt	          j        dd
gddggd dg          d          }t          j        ||           d S )Nrd  re  rg  rj  r   r   r(  ri  r   r   r*   r   rf  rQ   r   r   r   r   r   r	   r   rW   r   r   r   r    r#   s      r$   test_subsetru  :  s    	///AA	S	S	SBZZaZ  --dV-<<F	
A$q!fsCj%9$NNN  H
 68,,,,,r&   c            	      *   t          g dg dg dgg dg d          } |                     d                              dg	          }t          d
dgt	          j        dd
gddgddggg d          d          }t          j        ||           d S )N)r   r   r   )r   rf  rf  rj  )rh  ri  ri  )r   r   r   r(  ri  r   r   r*   r   rf  )Nri  ri  rQ   r   r   rs  rt  s      r$   test_subset_duplicate_columnsrw  F  s    		///???;ii"""
 
 
B
 ZZaZ  --dV-<<F	
A$Vc3Z#s,4F4F4F
 
 
   H 68,,,,,r&   c                 X   t          g dg dd                              dg          }t          |d         | d          j                            |          |d<   |                    t          d	d
                    }|                                }t          g d|                               |          }|d                                         }t          ||g dgg dt          d          g dgg d          }t          d|d          }t          j        ||           d S )Nrk   rl   rq   r1   rr   rt   ru   rw   rx   ry   )z
2019-08-06z
2019-08-07z
2019-08-09z
2019-08-10)ri   )rm   rn   ro   rp   )r   r   r   r*   r*   r1   r   )r   r   r   r*   r*   r1   )rw   rr   rs   r   r   r   r   )r   r|   r   dtas_unitr   r   r   uniquer   rU   r	   r   r   )	ri   rv   r   r   r    dates
timestampsr   r#   s	            r$   test_value_counts_time_grouperr~  X  se    
   WVV	
 	

 
 dA3ii  !KcDDDGOOPTUUBzN	G:666	7	7B__F@@@c  gdmm 
 K''))Jz#H#H#HI!!!588-?-?-?@///  E
 au7333H68,,,,,r&   c                      t          g dg dg dd          } |                     ddgdd          }|d	                                         }t          g dg dg ddd
          }t          j        ||           d S )N)r   r   r   )r   r   rR  rd  rH  r   r*   Fr   r1   )r   r*   r1   r   )r   r   r   r   r   )r   r   r    r#   s       r$   !test_value_counts_integer_columnsr  z  s    	???OO	P	PB	QFU	7	7BU!!FOOOOOaPP H &(+++++r&   vc_sortc                    t          g dg dd          }|                    d|           }|                    ||          }|rg d}ng d}t          d	d
gddggg dg dgddg          }t	          |||rdnd          }| r|rg d}	n| r|sg d}	n| s|rg d}	ng d}	|                    |	          }t          j        ||           d S )Nr*   r   r   r   r1   r   r1   r1   r   r   r   r^   rK  )UUUUUU?UUUUUU?r  r   r   r*   r1   r   )r   r   r   )r   r   r   r   r   rN   r   r   )r   r   r*   )r   r   r*   )r   r*   r   )r*   r   r   )r   r   r   r   r	   taker   r   )
r[   r  rZ   r   r   r    r   r   r#   takers
             r$   test_value_counts_sortr    sB    
,,,77	8	8B	Cd	#	#B__'Y_??F $$$AA			999'=c1X  E fE	0VwWWWH  			 g 		 g 				}}U##H68,,,,,r&   c           	         t          g dg ddd          }|                    d| d          }|                    ||	          }|rg d
}ng d}|rdnd}t          dt          g d          dt          g d          ||i                              ddg          |         }| r|rg d}	n| r|sg d}	n| s|rg d}	ng d}	|                    |	          }t          j        ||           d S )Nr  r  r  r   r  r   T)r[   r  rK  )r  r  r  r  )r*   r   r   r   rN   r   )r   r   r*   r*   r   )r1   r   r1   r   )r   r   r*   r1   )r   r*   r   r1   )r*   r   r   r1   )r   r   r   r   	set_indexr  r   r   )
r[   r  rZ   r   r   r    r   r   r#   r  s
             r$   "test_value_counts_sort_categoricalr    sV    
,,,77z	J	J	JB	CdT	2	2B__'Y_??F )))$1<<'D\\\**{<<<((&	
  ia$ H   	 g  g }}U##H68,,,,,r&   groupby_sortc                    t          g dt          j        d          }|                    d|          }|                    | |          }ddgt          j        ggddgd	}|rg }t          dd
g g gi|}n5|s| sddg}t          dd
ddgddggi|}nddg}t          dd
ddgddggi|}t          ||dd          }	t          j        ||	           d S )Nr   )r   r   r   r^   )r[   r]   r   r*   r   )r   rR   r   r   rX  r   )r   r   r   r`   )	r   r7   r=   r   r   r   r	   r   r   )
r[   r]   r  r   r   r    rd   r   r   r#   s
             r$   test_value_counts_all_nar    s.    
00	1	1B	Cl	+	+B__$v_66FQ"&*c3Z@@F =44"b4V44 =$ =1v<<1a&1a&!1<V<<1v<<1a&1a&!1<V<<d%wWEEEH68,,,,,r&   )?__doc__numpyr7   r   pandasr   r   r   r   r   r   r	   r
   r   pandas._testing_testingr   r%   rD   r   slowparametrizereprrh   r~   r   r   r   r   fixturer   r   r   r   r   r   r  r  rW   r=   r  r   rX  r/  r6  r;  r=  rD  rF  rO  r;   r]  r`  rb  rm  rq  ru  rw  r~  r  r  r  r  r`   r&   r$   <module>r     s        
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
      - - -(  . tUm44b"X..QG,,%!?TJJ$AT::4-00*-ACS,TUU'B 'B VU 10 ;: KJ -, /. 54 'BT u..- - /.-< c3Z$ABB	- 	- CB	- c3Z$ABB- - CB-- - -6- - -(   , , ,- - ->V V V $C$C$CDD*-ACS,TUU    4-00W4 W4 10  VU EDW4t tUm44I	oooH	uoooH	t___oooG ', ',  54',T E	eWiii1R1R1RS	tUGYYY0Q0Q0QR	ueWiii1R1R1RS---	
	  ; ;!  ;8 @ '''===		
 
(((*H*H*HI	u(((*L*L*LM	tYYY0
 - - -> + F"J"???:::  	
 LLJE1#JJE22233E8Wbf566
 $||\\\<<<@:::  	
 4 *-=?S,TUU; ; VU5 6;> eT]33$ BH999JJJ	
 BHSSSTT	
 60 60  43 60r 0  0  0F $ BH999JJJ	
 BHSSSTT	
 & & &R $ BHFFFbh  	
 BH   	
"% %L, ,M% %L,^    	
$   		
% @ $ BH999JJJ	
 BHQQQRR		
  "0 "0! A `"0J eT]33$ BH999JJJ	
 BHSSSTT		
  80 80!  43"80v 0	#	|___- , , ," #	44=="A"A"AB	,DDLL,),.S.S.ST 0 0 04  - - -- - -5 5 55 5 5	- 	- 	-- - -$ u..- - /.-B, , , T5M22tUm44- - 54 32-6 T5M22tUm44- - 54 32-> $77- - 87- - -r&   