
    d(                     b   d Z ddlm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dlmZ d Zd Zg Zg ZdD ]Z ed	d
          D ]\  ZZ eeee          Zd ej        d eded                                                   dz   d          fZddddgfZ  ee e          D ]<\  Z!Z"e#                    ee!e"eef           e#                    e! de de            =ej$        j%        ej$        &                    dee          ej$        &                    dddg          ej$        &                    dddg          ej$        &                    dddg          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* Z0d+ Z1d, Z2ej$        &                    d-g d.          ej$        &                    dddg          ej$        &                    d/g d0          ej$        &                    d1ddg          ej$        &                    d2ddg          d3                                                             Z3ej$        &                    d4ddg          ej$        &                    d5ddg d6g d7g d8fddg d9g d:g d;fddg d<g d=g d;fg          d>                         Z4ej-        d?             Z5ej$        &                    d@ddddAg dBg dCfddddAg dDg dEfddddAg dFg dGfddddHg dIg dGfg          dJ             Z6ej-        dK             Z7ej$        &                    dLddg dMg dNfddg dOg dPfddg dQg dRfddg dSg dTfg          dU             Z8ej-        dV             Z9ej$        &                    dWdddg ej:        g dXg dYZ          fdg d[ e edg           eg d\           ed]d^ej;        g          gg d_g d`g dagg dYb          fg          ej$        &                    dddg          dc                         Z<ej$        &                    d1ddg          ej$        &                    ddddg          ej$        &                    deddA ej=        g dfej>        g          fddH ej=        g dh          fg          di                                     Z?dj Z@ej$        &                    d1ddg          ej$        &                    deddA ej=        g dfej>        g          fddH ej=        g dh          fg          dk                         ZAej$        &                    d1ddg          ej$        &                    deddA ej=        g dlej>        g          fddH ej=        g dm          fg          dn                         ZBej$        &                    d1ddg          ej$        &                    dodg dpfdg dqfg          ej$        &                    deddA ej=        g drej>        g          fddH ej=        g ds          fg          dt                                     ZCej$        &                    d1ddg          ej$        &                    ddddg          ej$        &                    deddA ej=        g dfej>        g          fddH ej=        g dh          fg          du                                     ZDej$        &                    dvddAg dwfddHg dTfg          dx             ZEej$        &                    dydz eFd{          g d|fd} eFd~          dgz   g dfg          ej$        &                    d1ddg          d                         ZGej$        &                    dddg          d             ZHd ZId ZJd ZKd ZLd ZMej$        &                    dddg          d             ZNd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
    )productN)	CategoricalCategoricalIndex	DataFrameGrouperIndex
MultiIndexSeries
date_rangeto_datetime)Versionc                     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        b/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/groupby/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           j                            d           t          dd          }t	          t           j                            t          d          |          t           j                            ||          t           j                            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 )Ni  z
2015-08-24
   )periodsabcdr   )1st2nd3rdr/   float   r-         r.            	   )nprandomseedr   r   choicelistrandintr   nanloc)	seed_nansnmdaysframes        r&   seed_dfrE   0   s.   INN4lB///D9##DLL!449##D!,,9$$QAq11	
 	
 E  )U|**733e"$&	!%R%,"$&	!%R%,"$&	!%R%,"$&	!%R%,"$&	!%R%,Lr(   TF)d   i  )      rH   r/   r      r-   r.   -zdf, keys, bins, n, m)idsisortTFznormalize, name)T
proportion)Fr   sort	ascendingdropnac                    d }|||	|
|d}|                      ||          } |d         j        di |}|                      ||          } |d         j        t          j        fi |}|j        j        d d         dgz   |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_arraysrU   )r!   arrs     r&   rebuild_indexz7test_series_groupby_value_counts.<locals>.rebuild_index_   sK    3rx0%8H2I2IJJKK)#RX^DDD	r(   )	normalizerO   rP   rQ   binsrO   r/    )r   r   applyr
   r   rU   renamerV   r   r    
sort_index)r!   keysr^   rA   rB   rM   r]   r   rO   rP   rQ   r\   kwargsgrleftrights                   r&    test_series_groupby_value_countsrj   U   s       F 
Du	%	%B!2e9!++F++D	Du	%	%BBuIOF/::6::E)#2#.%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]applero   bananarp   orangerq   pear	TimestampFoodr2   rt   srk   unitDatetime1Dfreqkeyru   r   )r   dropr   r   r   r   rd   rb   r
   r   rU   rc   r   r    )rk   r!   dfgr"   r%   s        r&   -test_series_groupby_value_counts_with_grouperr   z   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   rT   )r   r   r   r
   r   r	   rZ   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   rX   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	   rZ   r8   arrayr   r   r    )rv   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   rJ   r   rJ   r   r   r   levelscodesrU   r   r   r   rJ   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   ra   r(   r&   education_dfr      s9    JJJHHH;;;	
 	
  r(   c                     |                      dd          }t          j        t          d          5  |                                 d d d            d S # 1 swxY w Y   d S )Nr   r   axisr   match)r   pytestraisesNotImplementedErrorr   r   gps     r&   	test_axisr      s    			ia		0	0B	*&	9	9	9  
                 s   AAAc                     |                      d          }t          j        t          d          5  |                    dg           d d d            d S # 1 swxY w Y   d S )Nr   subsetr   r   )r   r   r   
ValueErrorr   r   s     r&   test_bad_subsetr      s    			i	(	(B	z	2	2	2 , ,
	{+++, , , , , , , , , , , , , , , , , ,s   AAAc                    t          t          j                  t          d          k    r9|j                            t
          j                            dd                     |                     d          ddg         	                    d	          }t          g d
t          j        g dg d          d          }t          j        ||           d S )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   rT   rN   r   )r   r8   __version__node
add_markerr   markxfailr   r   r
   r	   from_tuplesr   r    )r   requestr"   r%   s       r&   
test_basicr      s   r~'&//11KC    	
 	
 	
 !!),,h-DERR S  F ((($   544	
 	
 	
   H 68,,,,,r(   c                 >    | |                              |||          S )Nr]   rO   rP   )r   )r!   re   r]   rO   rP   s        r&   _frame_value_countsr     s!    d8  949 UUUr(   r   columnr   functionzsort, ascending))FN)TTrF   as_indexrD   c	                     t          t          j                  t          d          k    r?|r=|r;|r9|j                            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k    r9|                    ddid          }t          j        |d         dd          |d<   n5|dk    r|d         dk    |d<   nt          j        |d         dd          |d<   t          j        ||           d S  d	         dz    d
         z    d<   |
d         
                    |||          }||_        |r|j                            d          }|d         j                            d          j                            d          |d	<   |d         j                            d          j                            d          |d
<   |d= |                    dd id          }t3          j        |          |_        t          j        ||           d S |                    dd	|d         j                            d          j                            d                     |                    dd
|d         j                            d          j                            d                     |d= t          j        ||           d S )Nr   r   Fr   r   c                 (    d         |          dk    S )Nr   r   ra   )xr   s    r&   <lambda>z6test_against_frame_and_seriesgroupby.<locals>.<lambda>@  s    l95a8D@ r(   r   )byr   r   r   r   rN   r   r   r   r   r   level_0r   r   r   rK   bothr   rJ   )r   r8   r   r   r   r   r   r   valuesr   r   rb   r   r   r    reset_indexrc   whereassert_frame_equalr   r   to_framestrsplitgetr	   r   insert)r   r   r]   r   rO   rP   r   rD   r   r   r   r"   r%   index_frames   `             r&   $test_against_frame_and_seriesgroupbyr     s   . r~'&//11e111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(""#??Iy+A?JJ&(hx	/BD$&O&O##J&&&.y&9Q&>##&(hx	/BD$&O&O#!&(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$F#%,,aYQ,??K'2;??HN"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 !&(33333r(   r]   zCsort, ascending, expected_rows, expected_count, expected_group_size)r   r   rJ   r2      r   )r   r2   r   r2   r   )r   r2   r   rJ   r   )r   rJ   r   r   r   )r   r2   r2   r   r   )r   r   r2   rJ   r   )r   r   rJ   r   r   c                 (   
                       ddgdd          }|d                             |||          }t                      }	dD ]

 fd|D             |	
<   |r||	d	<   |	d	xx         |z  cc<   n||	d
<   t          j        ||	           d S )Nr   r   F)r   rO   r   r   r   c                 ,    g | ]}         |         S ra   ra   ).0rowr   r   s     r&   
<listcomp>z!test_compound.<locals>.<listcomp>  s#    OOO#L05OOOr(   rN   r   )r   r   r   r   r   )r   r]   rO   rP   expected_rowsexpected_countexpected_group_sizer   r"   r%   r   s   `         @r&   test_compoundr   p  s    & 
		y(3e%		P	PB_))$) *  F {{H4 P POOOOOOOO +!/"55*&(+++++r(   c                  <    t          g dg dg ddg d          S )Nr   r   r   r   )rJ   r   r      )rJ   r   r   r   r}   num_legs	num_wings)falcondogcatantr   r   ra   r(   r&   
animals_dfr     s;    ,,,\\\RR---   r(   z?sort, ascending, normalize, name, expected_data, expected_indexr   r   rJ   r   )r   r   r   )rJ   r   r   rJ   r   r   r   r   rJ   )r   )rJ   r   r   r   )rJ   r   r   )r   )r   rJ   r   )r   rJ   r   rN   )r   r   r   c                 0   |                      |||          }t          |t          j        |g d          |          }t	          j        ||           |                     d                               |||          }	t	          j        |	|           d S )N)rO   rP   r]   r   rT   r   r}   )r   r
   r	   rZ   r   r    r   )
r   rO   rP   r]   r   expected_dataexpected_indexresult_framer%   result_frame_groupbys
             r&   test_data_frame_value_countsr    s    * **Y) +  L $"B"B"B
 
 
   H <222%--e44AAY) B   /:::::r(   c                      t           j        } t          dd| d| ddddg	ddd| | ddddg	dddddd| d| g	ddddddd| | g	d	          S )
Nr   r   r   r2   rJ   rH   r6   r4   )r   r   r   D)r8   r>   r   )rA   s    r&   nulls_dfr
    s}    
AQ1aAq!,Q1aAq!,Q1aAq!,Q1aAq!,		
 	
  r(   z:group_dropna, count_dropna, expected_rows, expected_values)	r   r   r2   rH   r4   r   r6   rJ   r   )	r   r         ?r   r   r   r   r  r  )r   r   r2   rH   rJ   r   )r   r   r  r  r  r  )r   r   rH   r4   r   r6   )r   r   r   r   r   r   )r   r   rH   )r   r   r  c                      t          t          j                  t          d          k    r;|s9|j                            t
          j                            dd                                          ddg|          }|	                    dd|	          }t                      } j        D ] fd
|D             |<   t          j        |          }	t          ||	d          }
t          j        ||
           d S )Nr   r   Fr   r   r   )rQ   T)r]   rO   rQ   c                 ,    g | ]}         |         S ra   ra   )r   r   r   r
  s     r&   r   z,test_dropna_combinations.<locals>.<listcomp>  s#    JJJS8F+C0JJJr(   rN   r   )r   r8   r   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   s   `          @r&   test_dropna_combinationsr    s   " r~'&//11,1KC    	
 	
 	
 
		3*\		:	:B__t$|_LLFkkG" K KJJJJJMJJJ!'**E?%lKKKH68,,,,,r(   c                 8    t          g dg dd| | dgd          S )Nr   )JohnAnner  BethSmithLouiser}   
first_namemiddle_namer   )nulls_fixtures    r&   names_with_nulls_dfr    s:    <<:::#]M8L	
 	
  r(   z%dropna, expected_data, expected_index)r   r   )r  r  )r  r  r  rT   r   )r  r  r  r  r  )r   r   r   r   )r   r   rJ   rJ   )rJ   r   r   rJ   r   c                 B   |                      ||          }t          |||          }|r|t          t          |                    z  }t	          j        ||           |                     d                               ||          }t	          j        ||           d S )N)rQ   r]   r   r}   )r   r
   r0   r   r   r    r   )	r  rQ   r]   r   r  r  r  r%   r  s	            r&   #test_data_frame_value_counts_dropnar    s    B '336Y3WWL  H
  .E#m,,---<222.66u==JJ K   /:::::r(   observedznormalize, name, expected_data)rJ   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          t          j                  t          d          k    r9|j                            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   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   rT   r   r2   levelrN   r   r   )r   r8   r   r   r   r   r   r   r   r   r   r	   r   r
   rX   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_categoriesr4  2  s   , r~'&//11KC    	
 	
 	
 
		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   rT   r   r2   r   r-  r/  )copyr   r   add_categoriesr   r   r
   r	   r   rX   r   r   r   set_categoriesr   r0  r   r    r   r   )r   r   r   r  r]   r   r  r   r"   r2  r3  index_levelr%   s                r&   !assert_categorical_single_grouperr;  }  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          t          j                  t          d          k    r9|j                            t
          j                            dd                     g d}t          | |d||||           d S )Nr   r   Fr   r%  Tr   r   r   r  r]   r   r  	r   r8   r   r   r   r   r   r   r;  r   r   r]   r   r  r   r  s          r&   -test_categorical_single_grouper_observed_truer@    s    * r~'&//11KC    	
 	
 	
  N &!%#     r(   )rJ   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          t          j                  t          d          k    r9|j                            t
          j                            dd                     g d}t          | |d||||           d S )Nr   r   Fr   )r   r   r   r&  r(  r'  r   r   r,  r+  r*  r)  )r6  r   r   )r6  r   r   )r6  r   r   )r6  r   r   )r6  r   r   )r6  r   r   r=  r>  r?  s          r&   .test_categorical_single_grouper_observed_falserB    s    X r~'&//11K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   )rC  rD  rE  rF  rG  )r   r   rJ   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   rT   r   rJ   r-  rN   r   r/  )r7  r   r   r   r
   r	   r   rX   r   r0  r   r   r   r    r   r   )r   r   r   r  r]   r   r  r   r"   r2  r3  r%   s               r&   "test_categorical_multiple_groupersrI  1  s   n  $$&&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                 R   t          t          j                  t          d          k    r9|j                            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   r   Fr   r   r   r   r   r$  r   r%  r   rT   r   r   r2   r-  rN   r   r/  )r   r8   r   r   r   r   r   r   r7  r   r   r   r
   r	   r   rX   r   r0  r   r   r   r    r   r   r1  s                r&   test_categorical_non_groupersrK    s   0 r~'&//11KC    	
 	
 	
  $$&&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                 B   t          g dg dd          }|                    g ddd gd          }|                    d	| 
          }t          dt          j        g dt          j                  dg ddg ddg d||i          }t          j        ||           d S )Nr   r   rJ   r2   )r   r   )r   rH   r   r   c                     | dk    rdndS )Nr   r4   r6   ra   )r3  s    r&   r   z&test_mixed_groupings.<locals>.<lambda>  s    AFFqq r(   Fr   T)rO   r]   r   )r   r   rH   r!  r  level_2)r6   r6   r4   r   )r   r2   rJ   )r   r   r   r8   r   int_r   r   )r]   expected_labelr  r!   r   r"   r%   s          r&   test_mixed_groupingsrS    s     
33	4	4B	YYY%A%ABU	S	SB__$)_<<Frx			999yyyO	
 H &(+++++r(   ztest, columns, expected_namesrepeatabbde)r   Ndr   r   er.  r,   level_1)r   NrV  r   crX  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   r2   rH   r4   r7   )rJ   r   r   r6   r*   r   )r   r   r4   r2   rH   r7   )rJ   r   r6   r   r   r*   r   r   r   r!  rV  rO  r  rT   r   r   c                 4    g | ]}t          |          d gz   S )r   )r<   )r   r   s     r&   r   z0test_column_label_duplicates.<locals>.<listcomp>  s$    BBBScaSBBBr(   rX  )r   r8   r   int64r   r   r
   r	   r   r   r    r<   appendr   )
testr   expected_namesr   r!   r  re   r"   r%   expected_columnss
             r&   test_column_label_duplicatesra    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 )NrM  r   r   r   FrO  zColumn label 'z' is duplicate of result columnr   r   )r   r   r   r   r   r   )r]   rR  r   msgs       r&   test_result_label_duplicatesrd    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!  rJ   rT   r   r   )r   r   r8   r   r\  r   r
   r	   r   r   r    )r!   r   r"   r%   s       r&   test_ambiguous_groupingrf     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   rY  r   yrj  c1c2r   r   r   r   z;Keys {'c1'} in subset cannot be in the groupby column keys.r   rl  r   r   r   r   r   r   r   r!   rc  s     r&   "test_subset_overlaps_gb_key_raisesrq  +  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 )Nrh  ri  rk  rn  r   z4Keys {'c3'} in subset do not exist in the DataFrame.r   rl  c3r   ro  rp  s     r&   !test_subset_doesnt_exist_in_frameru  3  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 5rr  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 )Nrh  ri  rk  rn  r   r   r-  rm  r   r   rJ   r   rj  rT   r   r   r   r   r   r
   r	   rZ   r   r    r!   r"   r%   s      r&   test_subsetry  ;  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   rj  rj  rn  )rl  rm  rm  )r   r   r   r-  rm  r   r   rJ   r   rj  )Nrm  rm  rT   r   r   rw  rx  s      r&   test_subset_duplicate_columnsr{  G  s    		///???;ii"""
 
 
B
 ZZaZ  --dV-<<F	
A$Vc3Z#s,4F4F4F
 
 
   H 68,,,,,r(   c                    t          g dg dd                              dg          }t          |d         | d          |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 )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   rJ   rJ   r2   r   )r   r   r   rJ   rJ   r2   )ry   rt   ru   r   r   r   r   )r   r~   r   r   r   r   uniquer	   rX   r
   r   r    )rk   r!   r   r"   dates
timestampsr   r%   s           r&   test_value_counts_time_grouperr  Y  sE    
   WVV	
 	

 
 dA3ii  !KcDDDBzN	G:666	7	7B__F@@@c  E K''))Jz#H#H#HI!!!588-?-?-?@///  E
 au7333H68,,,,,r(   )O__doc__	itertoolsr   numpyr8   r   pandasr   r   r   r   r   r	   r
   r   r   pandas._testing_testingr   pandas.util.versionr   r'   rE   binnedrL   r@   rA   rB   r!   arangemaxr^   re   kr   r]  r   slowparametrizerj   r   r   r   r   r   fixturer   r   r   r   r   r   r   r   r  r
  r  r  rZ   r>   r  r   r\  r4  r;  r@  rB  rI  rK  rS  r<   ra  rd  rf  rq  ru  ry  r{  r  ra   r(   r&   <module>r     s              
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
       ' ' ' ' ' '- - -*  2 
 ' 'IW-- ' '1WY1%%YRYq##aE"9"9A"=qAAAeeU^+GD$'' 	' 	'DAqMM2q!Q*+++JJ!~~a~~!~~&&&&	'	' /SAA4-00*-ACS,TUU$//tUm44D%=11B B 21 54 0/ VU 10 BA B< 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    dE]334-00E4 E4 10 43  VU EDE4P tUm44I	oooH	uoooH	t___oooG , ,  54,2    E	eWiii1R1R1RS	tUGYYY0Q0Q0QR	ueWiii1R1R1RS---	
	  ; ;!  ;0 	 	 	 @ '''===		
 
(((*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;0 eT]33eT]33$ BH999JJJ	
 BHSSSTT	
 70 70  43 43"70t 0  0  0F dE]33$ BH999JJJ	
 BHSSSTT	
 ' '  43 'T dE]33$ BHFFFbh  	
 BH   	
"% %L- -M% % 43N-` dE]33   	
$   		
% @ $ BH999JJJ	
 BHQQQRR		
  "0 "0! A  43b"0J eT]33eT]33$ BH999JJJ	
 BHSSSTT		
  90 90!  43 43$90x 0	#	|___- , , ," #	44=="A"A"AB	$$v,,),.S.S.ST  eT]330 0 43 04  - - -- - -5 5 55 5 5	- 	- 	-- - -$ u..- - /.- - -r(   