Ë
    ¤ehÂ›  ã                   óÎ  — d Z ddlZddlZddlmc m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ej2                  j4                  ej2                  j7                  ddd	g«      ej2                  j7                  d
ddg«      ej2                  j7                  dddg«      ej2                  j7                  dddddgge¬«      ej2                  j7                  ddddgge¬«      ej2                  j7                  ddd	g«      ej2                  j7                  dddg«      ej2                  j7                  ddd	g«      ej2                  j7                  ddd	g«      ej2                  j7                  ddd	g«      d„ «       «       «       «       «       «       «       «       «       «       «       Zej2                  j7                  ddd	g«      d„ «       Zej2                  j7                  dd d!gg d"¢g«      d#„ «       Zej2                  j7                  dd d!gg d"¢g«      d$„ «       Z d%„ Z!d&„ Z"ejF                  d'„ «       Z$d(„ Z%d)„ Z&d*„ Z'd+„ Z(ej2                  j7                  d,g d-¢«      ej2                  j7                  dddg«      ej2                  j7                  d.g d/¢«      ej2                  j7                  d0dd	g«      ej2                  j7                  d1dd	g«      d2„ «       «       «       «       «       Z)ej2                  j7                  d3e* ejV                  d4 ejX                  d5«      ¬6«       ejV                  d7 ejX                  d5«      ¬6«      g«      ej2                  j7                  d8dd	g«      ej2                  j7                  d9d	dg d:¢g d;¢g d<¢fdd	g d=¢g d>¢g d?¢fddg d@¢g dA¢g dB¢fg«      dC„ «       «       «       Z-ejF                  dD„ «       Z.ej2                  j7                  dEd	dd	dFg dG¢g dH¢fddd	dFg dI¢g dJ¢fdd	d	dFg dK¢g dL¢fdd	ddMg dN¢g dL¢fg«      dO„ «       Z/ejF                  dP„ «       Z0ej2                  j7                  dQd	d	g dR¢g dS¢fd	dg dT¢g dU¢fdd	g dV¢g dW¢fddg dX¢g dY¢fg«      dZ„ «       Z1ejF                  d[„ «       Z2ej2                  j7                  d\dd]d]g ejf                  g d^¢g d_¢¬`«      fd	g da¢ e ed]g«       eg db¢«       edcddejh                  g«      gg de¢g df¢g dg¢gg d_¢¬h«      fg«      ej2                  j7                  dddg«      di„ «       «       Z5ej2                  j7                  d0d	dg«      ej2                  j7                  djd	dg«      ej2                  j7                  dkd	dF ejl                  g dl¢ejn                  ¬m«      fddM ejl                  g dn¢«      fg«      do„ «       «       «       Z8dp„ Z9ej2                  j7                  d0dd	g«      ej2                  j7                  dkd	dF ejl                  g dl¢ejn                  ¬m«      fddM ejl                  g dn¢«      fg«      dq„ «       «       Z:ej2                  j7                  d0dd	g«      ej2                  j7                  dkd	dF ejl                  g dr¢ejn                  ¬m«      fddM ejl                  g ds¢«      fg«      dt„ «       «       Z;ej2                  j7                  d0dd	g«      ej2                  j7                  dud	g dv¢fdg dw¢fg«      ej2                  j7                  dkd	dF ejl                  g dx¢ejn                  ¬m«      fddM ejl                  g dy¢«      fg«      dz„ «       «       «       Z<ej2                  j7                  d0d	dg«      ej2                  j7                  djd	dg«      ej2                  j7                  dkd	dF ejl                  g dl¢ejn                  ¬m«      fddM ejl                  g dn¢«      fg«      d{„ «       «       «       Z=ej2                  j7                  d|d	dFg d}¢fddMg dY¢fg«      d~„ «       Z>ej2                  j7                  dd€ e?d�«      g d‚¢fdƒ e?d„«      d…gz   g d†¢fg«      ej2                  j7                  d0d	dg«      d‡„ «       «       Z@ej2                  j7                  dˆddg«      d‰„ «       ZAdŠ„ ZBd‹„ ZCdŒ„ ZDd�„ ZEdŽ„ ZFej2                  j7                  ddd	g«      d�„ «       ZGd�„ ZHej2                  j7                  d‘dd	g«      ej2                  j7                  d8dd	g«      d’„ «       «       ZIej2                  j7                  d‘dd	g«      ej2                  j7                  d8dd	g«      d“„ «       «       ZJy)”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                  ó\  — t        dgdgdœ«      } | d   j                  d«      | d<   | j                  d«      d   j                  «       }t        ddggddg¬«      }|d   j                  d«      |d<   t	        j
                  |«      }t        dg|d	¬
«      }t        j                  ||«       y )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        úl/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/groupby/methods/test_value_counts.pyÚ.tests_value_counts_index_names_category_columnr&      s¶   € ä	à�jØ�vñ	
ó
€Bð �h‘<×&Ñ& zÓ2€B€x�LØ�Z‰Z˜	Ó" 8Ñ,×9Ñ9Ó;€Fô   xÐ 0Ð1¸IÀxÐ;PÔQ€NØ-¨hÑ7×>Ñ>¸zÓJ€N�8ÑÜ×'Ñ'¨Ó7€KÜ�q�c °7Ô;€Hä×Ñ˜6 8Õ,ó    c           	      óì  — t        dd¬«      }t        t        j                  j	                  d«      j                  t        d«      |«      t        j                  j	                  d«      j                  ||«      t        j                  j	                  d«      j                  d|dz   |«      dœ«      }| rÁ|d   j                  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_dfrE   0   s2  € Ü�l¨BÔ/€Dää—9‘9×(Ñ(¨Ó+×2Ñ2´4¸³<ÀÓCÜ—9‘9×(Ñ(¨Ó+×2Ñ2°4¸Ó;Ü—9‘9×(Ñ(¨Ó+×4Ñ4°Q¸¸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                 óò  — t        | ||«      }d„ }|||	|
|dœ}|j                  ||¬«      } |d   j                  di |¤Ž}|j                  ||¬«      } |d   j                  t        j                  fi |¤Ž}|j
                  j                  d d dgz   |j
                  _        |j                  |«      }t        |||f«      \  }}t        j                  |j                  «       |j                  «       «       y )Nc                 óò   — t        t        | j                  j                  t	        | j                  j
                  «      «      «      }t        j                  || j                  j                  ¬«      | _        | S )N©Únames)	r<   Úmapr   Úget_level_valuesÚrangeÚnlevelsr   Úfrom_arraysrV   )r    Úarrs     r%   Úrebuild_indexz7test_series_groupby_value_counts.<locals>.rebuild_indexa   sM   € Ü”3�r—x‘x×0Ñ0´%¸¿¹×8HÑ8HÓ2IÓJÓKˆÜ×)Ñ)¨#°R·X±X·^±^Ô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_countsri   G   sõ   € ô0 
�˜H gÓ	.€Bòð ØØØØñ€Fð 
�‰�D˜uˆÓ	%€BØ!ˆ2ˆe‰9×!Ñ!Ñ+ FÑ+€Dà	�‰�D˜uˆÓ	%€BØˆBˆu‰I�O‰OœF×/Ñ/Ñ:°6Ñ:€EØŸ™×)Ñ)¨#¨2Ð.°%°Ñ8€E‡K�KÔà�L‰L˜Ó€Eô �m d¨E ]Ó3�K€Dˆ%Ü×Ñ˜4Ÿ?™?Ó,¨e×.>Ñ.>Ó.@ÕAr'   Úutcc                 óâ  — t        g d¢g d¢dœ«      j                  dg«      }t        |d   | d¬«      |d<   |j                  t	        d	d¬
«      «      }|d   j                  «       j                  «       }|d   j                  t        j
                  «      j                  «       }|j                  j                  |j                  _
        |j                  d«      }t        j                  ||«       y )N©i©GI]i)™J]i�™J]i©êK]i)<M]iU=M]i©�N]©Úapplern   Úbananaro   Úorangerp   Úpear©Ú	TimestampÚFoodr2   rs   Ús©rj   ÚunitÚDatetimeÚ1D©ÚfreqÚkeyrt   r   )r   Údropr   r   r   r   rd   rb   r	   r   rV   rc   r   r   )rj   r    Údfgr!   r$   s        r%   Ú-test_series_groupby_value_counts_with_grouperr   |   sÏ   € ô 
òò Wñ	
ó
÷ �dˆAˆ3ƒið ô !  K¡°cÀÔD€B€z�NØ
�*‰*”W $¨JÔ7Ó
8€Cð �‰[×%Ñ%Ó'×2Ñ2Ó4€FØ�6‰{× Ñ ¤×!4Ñ!4Ó5×@Ñ@ÓB€HØ!Ÿ<™<×-Ñ-€H‡N�NÔà�‰˜wÓ'€Hä×Ñ˜6 8Õ,r'   r   ÚAÚB)r€   r�   ÚCc                 ó  — t        | ¬«      }|j                  | d d «      }|| d      j                  «       }t        g |j                  d¬«      }t        j                  g gt        | «      z  | ¬«      |_        t        j                  ||«       y )Nr   r`   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‡   ›   sz   € ô 
˜7Ô	#€BØ
�*‰*�W˜S˜b�\Ó
"€Cà�˜‘Ñ×*Ñ*Ó,€FÜ�b §¡°7Ô;€HÜ×+Ñ+¨R¨D´3°w³<Ñ,?ÀwÔO€H„Nä×Ñ˜6 8Õ,r'   c                 óä   — t        t        t        | «      «      g| ¬«      }|j                  | d d «      }|| d      j	                  «       }|j	                  «       }t        j                  ||«       y )N)Údatar   r`   )r   rY   r…   r   r   r   r   r†   s        r%   Ú(test_series_groupby_value_counts_one_rowrŠ   ¨   sc   € ô 
œœs 7›|Ó,Ð-°wÔ	?€BØ
�*‰*�W˜S˜b�\Ó
"€Cà�˜‘Ñ×*Ñ*Ó,€FØ�‰Ó €Hä×Ñ˜6 8Õ,r'   c                  ó8  — t        t        dgddg¬«      «      } | j                  dg«      j                  «       }t        ddgt	        j
                  t        j                  ddg«      t        ddgddgdd¬«      g«      d	¬
«      }t        j                  ||«       y )NÚaÚb)Ú
categoriesr   r   Fr   )rŽ   Úorderedr„   r   ©r‰   r   r   )r	   r   r   r   r   r[   r8   Úarrayr   r   r   )ru   r!   r$   s      r%   Ú/test_series_groupby_value_counts_on_categoricalr’   ´   s—   € ô 	Œ{˜C˜5¨c°3¨ZÔ8Ó9€AØ�Y‰Y˜�s‹^×(Ñ(Ó*€FäØ�ˆVÜ×$Ñ$ä—‘˜!˜Q˜Ó Ü Ø˜#�J¨C°¨:¸uÈJôðó
ð ô€Hô$ ×Ñ˜6 8Õ,r'   c                  ó  — t        g d¢g d¢g d¢dœ«      } | j                  ddgd¬«      d	   }|j                  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                  ||«       y )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°{Ñ	C€BØ�_‰_ %ˆ_Ó(€FÜØ�t�˜v xÐ0Ò2KÐLÚ¢²ÐAÚ0ô€Eô
 ’o¨U¸ÔA€HÜ×Ñ˜6 8Õ,r'   c                  ó,   — t        g d¢g d¢g d¢dœ«      S )Nr”   r–   rš   rœ   ©r   ra   r'   r%   Úeducation_dfr§   ã   s   € äâJÚHÚ;ñ	
óð r'   c                 ó  — d}t        j                  t        |¬«      5  | j                  dd¬«      }d d d «       t	        j
                  t        d¬«      5  j                  «        d d d «       y # 1 sw Y   Œ>xY w# 1 sw Y   y xY w)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´   î   st   € Ø
7€CÜ	×	#Ñ	#¤M¸Ô	=ñ 5Ø×!Ñ! )°!Ð!Ó4ˆ÷5ä	�‰Ô*°&Ô	9ñ Ø
�‰Ô÷ð ÷5ð 5ú÷ð ús   žA/ÁA;Á/A8Á;Bc                 ó¬   — | j                  d«      }t        j                  t        d¬«      5  |j	                  dg¬«       d d d «       y # 1 sw Y   y xY w)Nr   Úsubsetr©   ©r¶   )r   r¯   r°   Ú
ValueErrorr   )r§   r³   s     r%   Útest_bad_subsetr¹   ö   sE   € Ø	×	Ñ	˜iÓ	(€BÜ	�‰”z¨Ô	2ñ ,Ø
�‰ 	˜{ˆÔ+÷,÷ ,ñ ,ús   ­A
Á
Ac                 óx  — t        t        j                  «      t        d«      k\  r0|j                  t        j
                  j                  dd¬«      «       | j                  d«      ddg   j                  d¬	«      }t        g d
¢t        j                  g d¢g d¢¬«      d¬«      }t        j                  ||«       y )Nú1.25úYpandas 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Ø×ÑÜ�K‰K×ÑðCð ð ó ô	
ð ×!Ñ! )Ó,¨h¸Ð-DÑE×RÑRØð Só €Fô Ú(Ü×$Ñ$òò 5ô	
ð ô€Hô ×Ñ˜6 8Õ,r'   c                 ó0   — | |   j                  |||¬«      S )N©r^   rP   rQ   )r   )r    rK   r^   rP   rQ   s        r%   Ú_frame_value_countsrÑ     s   € Øˆd‰8× Ñ ¨9¸4È9Ð ÓUÐUr'   r   ©Úcolumnr‘   Úfunctionzsort, ascending))FN)TT)TFÚas_indexrD   c	                 óÞ  ‡ — t        t        j                  «      t        d«      k\  r6|r4|r2|r0|j                  t        j
                  j                  dd¬«      «       d‰ d   j                  ˆ fd„dœ|   }	‰ j                  |	|¬«      }
|
d	d
g   j                  |||¬«      }|�r	|dk(  rt        nd }d}t        j                  ||¬«      5  |
j                  t        d	d
g|||«      }d d d «       |rt        j                  |«       y |rdnd}j!                  «       j#                  d|id¬«      }|dk(  r3|j#                  ddid¬«      }t        j$                  |d   dd«      |d<   n.|dk(  r|d   dk(  |d<   nt        j$                  |d   dd«      |d<   t        j&                  ||«       y ‰ d	   dz   ‰ d
   z   ‰ d<   |
d   j                  |||¬«      }||_        |rÙ|j*                  j-                  d¬«      }|d   j.                  j1                  d«      j.                  j3                  d«      |d	<   |d   j.                  j1                  d«      j.                  j3                  d«      |d
<   |d= |j#                  dd id¬«      }t5        j6                  |«      |_        t        j                  ||«       y |j9                  dd	|d   j.                  j1                  d«      j.                  j3                  d«      «       |j9                  dd
|d   j.                  j1                  d«      j.                  j3                  d«      «       |d= t        j&                  ||«       y # 1 sw Y   �Œ}xY w)Nr»   r¼   Fr½   r   c                 ó   •— ‰d   |    dk(  S )Nr   r   ra   )Úxr§   s    €r%   ú<lambda>z6test_against_frame_and_seriesgroupby.<locals>.<lambda>D  s   ø€ ˜l¨9Ñ5°aÑ8¸DÑ@€ 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­   rb   rÑ   r   Úreset_indexrc   Ú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ë      se  ø€ ô. Œr�~‰~Ó¤'¨&£/Ò1±eÁÉØ×ÑÜ�K‰K×ÑðCð ð ó ô	
ð Ø˜iÑ(×/Ñ/Û@ñ
ð ñ	
€Bð 
×	Ñ	 ¨hÐ	Ó	7€BØ�˜;Ð'Ñ(×5Ñ5Ø $°)ð 6ó €Fò à%,°Ò%8Õ!¸dˆØGˆÜ×'Ñ'¨°CÔ8ñ 	Ø—x‘xÜ# h°Ð%<¸iÈÈyóˆH÷	ñ
 Ü×"Ñ" 6¨8Õ4á#,‘<°'ˆDØ×+Ñ+Ó-×4Ñ4°a¸°YÀQÐ4ÓGˆHØ˜(Ò"Ø#Ÿ?™?¨I°yÐ+AÈ˜?ÓJ�Ü&(§h¡h¨x¸	Ñ/BÀDÈ$Ó&O�˜Ò#Ø˜JÒ&Ø&.¨yÑ&9¸QÑ&>�˜Ò#ä&(§h¡h¨x¸	Ñ/BÀDÈ$Ó&O�˜Ñ#Ü×!Ñ! &¨(Õ3ð  ,¨HÑ5¸Ñ;¸lÈ;Ñ>WÑWˆ�VÑØ�f‘:×*Ñ*Ø d°ið +ó 
ˆð ˆŒÙØ"Ÿ.™.×1Ñ1¸Ð1Ó>ˆKØ$/°Ñ$7×$;Ñ$;×$AÑ$AÀ#Ó$F×$JÑ$J×$NÑ$NÈqÓ$QˆK˜Ñ!Ø'2°6Ñ':×'>Ñ'>×'DÑ'DÀSÓ'I×'MÑ'M×'QÑ'QÐRSÓ'TˆK˜Ñ$Ø˜FÐ#Ø%×,Ñ,¨a°¨Y¸QÐ,Ó?ˆKÜ'×2Ñ2°;Ó?ˆHŒNÜ×"Ñ" 6¨8Õ4à�O‰O˜A˜x¨°&Ñ)9×)=Ñ)=×)CÑ)CÀCÓ)H×)LÑ)L×)PÑ)PÐQRÓ)SÔTØ�O‰O˜A˜{¨H°VÑ,<×,@Ñ,@×,FÑ,FÀsÓ,K×,OÑ,O×,SÑ,SÐTUÓ,VÔWØ˜Ð Ü×!Ñ! &¨(Õ3÷K	ñ 	ús   Ã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                 óL  — | j                  |«      } | j                  j                  |«      | _        | j                  ddgdd¬«      }|d   j                  |||¬«      }	t	        «       }
dD ]L  }|D �cg c]
  }| |   |   ‘Œ c}|
|<   |
j                  |«      }
|
j                  j                  |«      |
_        ŒN |r.||
d<   |
dxx   |z  cc<   |d	k(  r7|
d   j                  «       |
d<   n ||
d
<   |d	k(  r|
d
   j                  «       |
d
<   t        j                  |	|
«       y c c}w )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  sI  € ð6  ×&Ñ& uÓ-€LØ'×/Ñ/×6Ñ6°uÓ=€LÔà	×	Ñ	˜y¨(Ð3¸eÈ%Ð	Ó	P€BØ�‰_×)Ñ)Ø $°)ð *ó €Fô ‹{€HØ4ò :ˆØANÖO¸#˜L¨Ñ0°Ó5ÒOˆ�ÑØ—?‘? 5Ó)ˆØ#×+Ñ+×2Ñ2°5Ó9ˆÕð:ñ Ø!/ˆ�ÑØ�ÓÐ"5Ñ5ÓØÐ%Ò%Ø%-¨lÑ%;×%JÑ%JÓ%LˆH�\Ò"à*ˆ�ÑØÐ%Ò%Ø (¨Ñ 1× @Ñ @Ó BˆH�WÑÜ×Ñ˜& (Õ+ùò Ps   Á2D!c                  ó4   — t        g d¢g d¢g d¢dœg d¢¬«      S )N©r   r   r   r   )r+   rï   rï   é   )r+   r   r   r   ©r|   Únum_legsÚ	num_wings)ÚfalconÚdogÚcatÚantrÞ   r¦   ra   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                 ó  — | j                  |||¬«      }t        |t        j                  |g d¢¬«      |¬«      }t	        j
                  ||«       | j                  d«      j                  |||¬«      }	t	        j
                  |	|«       y )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–   € ð* ×*Ñ*Ø˜Y°)ð +ó €Lô ØÜ×$Ñ$ØÒ"Bô
ð ô€Hô ×Ñ˜<¨Ô2à%×-Ñ-¨eÓ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   r+   rI   r6   r4   )r€   r�   r‚   ÚD)r8   r>   r   )rA   s    r%   Únulls_dfr  Ú  su   € ä
�‰€AÜà�Q˜˜1˜a  A q¨!Ð,Ø�Q˜˜1˜a  A q¨!Ð,Ø�Q˜˜1˜a  A q¨!Ð,Ø�Q˜˜1˜a  A q¨!Ð,ñ		
óð 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                 óè  — t        t        j                  «      t        d«      k\  r2|s0|j                  t        j
                  j                  dd¬«      «       | j                  ddg|¬«      }|j                  dd|¬	«      }t        «       }| j                  D ]  }	|D �
cg c]
  }
| |	   |
   ‘Œ c}
||	<   Œ t        j                  |«      }t        ||d
¬«      }t        j                  ||«       y c c}
w )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¹,Ø×ÑÜ�K‰K×ÑðCð ð ó ô	
ð 
×	Ñ	˜3 ˜*¨\Ð	Ó	:€BØ�_‰_ t°$¸|ˆ_ÓL€FÜ‹k€GØ×"Ñ"ò KˆØ<IÖJ°S˜8 FÑ+¨CÓ0ÒJˆ�ŠðKä×!Ñ! 'Ó*€EÜ˜?°%¸lÔK€HÜ×Ñ˜6 8Õ,ùò Ks   ÂC/c                 ó0   — 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&   € äâÚ:Ø# ]°MÀ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                 ó  — | j                  ||¬«      }t        |||¬«      }|r|t        t        |«      «      z  }t	        j
                  ||«       | j                  d«      j                  ||¬«      }t	        j
                  ||«       y )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Ñ3¸6ÈYÐ3ÓW€LÜØØØô€Hñ
 Ø”Eœ#˜mÓ,Ó-Ñ-ˆä×Ñ˜<¨Ô2à.×6Ñ6°uÓ=×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                 ó˜  — t        t        j                  «      t        d«      k\  r0|j                  t        j
                  j                  dd¬«      «       | j                  d«      j                  d||¬«      }|j                  |¬«      }t        j                  g d	¢g d
¢¬«      }	t        ||	|¬«      }
t        d«      D ]D  }|
j                  j                  t!        |
j                  j"                  |   «      |¬«      |
_        ŒF |rt%        j&                  ||
«       y |
j)                  |rdnd¬«      }t%        j*                  ||«       y )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_categoriesr9  J  sE  € ô, Œr�~‰~Ó¤'¨&£/Ò1Ø×ÑÜ�K‰K×ÑðCð ð ó ô	
ð 
×	Ñ	˜ZÓ	(×	0Ñ	0Ø˜H¨xð 
1ó 
€Bð �_‰_ yˆ_Ó1€Fä×+Ñ+ò	
ò 1ô€Nô$ ØØØô€Oô
 �1‹Xò 
ˆØ /× 5Ñ 5× @Ñ @Ü˜_×2Ñ2×9Ñ9¸!Ñ<Ó=ÀQð !Aó !
ˆÕð
ñ
 Ü
×Ñ˜v Õ7à"×.Ñ.Ù!*‘°ð /ó 
ˆô 	×Ñ˜f hÕ/r'   c                 ó   — | j                  «       j                  d«      } | d   j                  j                  dg«      | d<   | j	                  d||¬«      }|j                  |¬«      }t        |t        j                  |g d¢¬«      |¬«      }	t        d	«      D ]s  }
t        |	j                  j                  |
   «      }|
d
k(  r(|j                  | d   j                  j                  «      }|	j                  j                  ||
¬«      |	_        Œu |rt!        j"                  ||	«       y |	j%                  |¬«      }t!        j&                  ||«       y )Nr   r   ÚASIAr)  rÀ   rž   rU   r�   r2   r   r2  r4  )Úcopyr   r   Úadd_categoriesr   r   r	   r   rÌ   rY   r   r   r    Úset_categoriesrŽ   r5  r   r   rá   rã   )r§   rÕ   r%  r
  r^   r   r	  r³   r!   r7  r8  Úindex_levelr$   s                r%   Ú!assert_categorical_single_grouperr@  •  sD  € ð  ×$Ñ$Ó&×-Ñ-¨jÓ9€Lð +¨9Ñ5×9Ñ9×HÑHÈ&ÈÓR€L�Ñà	×	Ñ	˜i°(ÀXÐ	Ó	N€BØ�_‰_ yˆ_Ó1€FäØÜ×$Ñ$ØÚ4ô
ð ô€Oô �1‹Xò WˆÜ& ×'<Ñ'<×'CÑ'CÀAÑ'FÓGˆØ�Š6Ø%×4Ñ4Ø˜YÑ'×+Ñ+×6Ñ6óˆKð !0× 5Ñ 5× @Ñ @ÀÐTUÐ @Ó VˆÕðWñ Ü
×Ñ˜v Õ7à"×.Ñ.°DÐ.Ó9ˆÜ
×Ñ˜f hÕ/r'   c           	      óÚ   — t        t        j                  «      t        d«      k\  r0|j                  t        j
                  j                  dd¬«      «       g d¢}t        | |d||||¬«       y )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
  s          r%   Ú-test_categorical_single_grouper_observed_truerE  ¸  so   € ô* Œr�~‰~Ó¤'¨&£/Ò1Ø×ÑÜ�K‰K×Ñð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           	      óÚ   — t        t        j                  «      t        d«      k\  r0|j                  t        j
                  j                  dd¬«      «       g d¢}t        | |d||||¬«       y )Nr»   r¼   Fr½   )rÃ   rÄ   rÅ   r+  r,  r-  rÆ   rÇ   r.  r/  r0  r1  )r;  r   r™   )r;  r   r—   )r;  r   r˜   )r;  r•   r™   )r;  r•   r—   )r;  r•   r˜   rB  rC  rD  s          r%   Ú.test_categorical_single_grouper_observed_falserG  ò  sp   € ôX Œr�~‰~Ó¤'¨&£/Ò1Ø×ÑÜ�K‰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•   )rH  rI  rJ  rK  rL  )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                 ó\  — | j                  «       } | d   j                  d«      | d<   | d   j                  d«      | d<   | j                  ddg||¬«      }|j                  |¬«      }t	        |r||dkD     n|t        j                  |g d¢¬«      |¬	«      }	t        d
«      D ]D  }
|	j                  j                  t        |	j                  j                  |
   «      |
¬«      |	_        ŒF |rt        j                  ||	«       y |	j                  |rdnd¬«      }t        j                  ||«       y )Nr   r   r�   r)  rÀ   r'  )r   r�   r   rU   r�   r+   r2  rO   r   r4  )r<  r   r   r   r	   r   rÌ   rY   r   r5  r   r    r   r   rá   rã   )r§   rÕ   r%  r
  r^   r   r	  r³   r!   r7  r8  r$   s               r%   Ú"test_categorical_multiple_groupersrN  I  s@  € ðn  ×$Ñ$Ó&€LØ*¨9Ñ5×<Ñ<¸ZÓH€L�ÑØ ,¨[Ñ 9× @Ñ @ÀÓ L€L�Ñà	×	Ñ	Ø	�KÐ ¨8¸hð 
ó 
€Bð �_‰_ yˆ_Ó1€FäÙ3;ˆ]˜=¨3Ñ.Ò/ÀÜ×$Ñ$ØÚ4ô
ð ô€Oô �1‹Xò 
ˆØ /× 5Ñ 5× @Ñ @Ü˜_×2Ñ2×9Ñ9¸!Ñ<Ó=ÀQð !Aó !
ˆÕð
ñ
 Ü
×Ñ˜v Õ7à"×.Ñ.Ù!*‘°ð /ó 
ˆô 	×Ñ˜f hÕ/r'   c                 óø  — t        t        j                  «      t        d«      k\  r0|j                  t        j
                  j                  dd¬«      «       | j                  «       } | d   j                  d«      | d<   | d   j                  d«      | d<   | j                  d||¬	«      }|j                  |¬
«      }g d¢}	t        |t        j                  |	g d¢¬«      |¬«      }
t        dd«      D ]D  }|
j                  j!                  t#        |
j                  j$                  |   «      |¬«      |
_        ŒF |rt'        j(                  ||
«       y |
j+                  |rdnd¬«      }t'        j,                  ||«       y )Nr»   r¼   Fr½   r   r   r�   r   r)  rÀ   r*  rž   rU   r�   r   r2   r2  rO   r   r4  )r   r8   rÈ   rÉ   r¯   rÊ   rË   r<  r   r   r   r	   r   rÌ   rY   r   r5  r   r    r   r   rá   rã   r6  s                r%   Útest_categorical_non_groupersrP  Ÿ  sw  € ô0 Œr�~‰~Ó¤'¨&£/Ò1Ø×ÑÜ�K‰K×ÑðCð ð ó ô	
ð  ×$Ñ$Ó&€LØ)¨(Ñ3×:Ñ:¸:ÓF€L�ÑØ ,¨[Ñ 9× @Ñ @ÀÓ L€L�Ñà	×	Ñ	˜i°(ÀXÐ	Ó	N€BØ�_‰_ yˆ_Ó1€Fò€Nô ØÜ×$Ñ$ØÚ4ô
ð ô€Oô �1�a‹[ò 
ˆØ /× 5Ñ 5× @Ñ @Ü˜_×2Ñ2×9Ñ9¸!Ñ<Ó=ÀQð !Aó !
ˆÕð
ñ
 Ü
×Ñ˜v Õ7à"×.Ñ.Ù!*‘°ð /ó 
ˆô 	×Ñ˜f hÕ/r'   z*normalize, expected_label, expected_valuesr  c                 ó  — t        g d¢g d¢dœ«      }|j                  g d¢dd„ gd¬«      }|j                  d	| ¬
«      }t        dt        j                  g d¢t
        ¬«      dg d¢dg d¢dg d¢||i«      }t        j                  ||«       y )Nr  ©r   r+   r2   )r€   r�   )rï   rI   rï   r€   c                 ó   — | dk(  rdS dS )Nr   r4   r6   ra   )r8  s    r%   rÙ   z&test_mixed_groupings.<locals>.<lambda>÷  s   € °A¸²F¨q€ À€ r'   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_groupingsrY  í  s„   € ô 
šªÑ3Ó	4€BØ	�‰’Y Ñ%AÐBÈUˆÓ	S€BØ�_‰_ $°)ˆ_Ó<€FÜà”r—x‘x¢	´Ô5Ø’Ø’yØ’Ø˜Oð	
ó€Hô ×Ñ˜& (Õ+r'   ztest, columns, expected_namesÚrepeatÚabbde)rŒ   NÚdr�   r�   Úer3  r,   Úlevel_1)rŒ   Nr\  r�   Úcr^  c                 ó
  — t        g d¢g d¢g|¬«      }ddg}dt        j                  ddgt        j                  ¬	«      d
g}|j	                  ||¬«      j                  «       }|r:t        dt        j                  ||¬«      d¬«      }t        j                  ||«       y |D �	cg c]  }	t        |	«      dgz   ‘Œ }}	t        |«      }
d|
d<   |
j                  d«       t        ||
¬«      }t        j                  ||«       y c c}	w )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\  rT  r"  rU   r   r�   r^  )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_duplicatesrf    sú   € ô 
’OÒ%5Ð6ÀÔ	H€BØ'Ð)<Ð=€MØ”—‘˜1˜a˜&¬¯©Ô1°3Ð7€DØ�Z‰Z˜ xˆZÓ0×=Ñ=Ó?€FÙÜØÜ×(Ñ(ØØ$ôð ô
ˆô 	×Ñ˜v xÕ0à4AÖB¨Sœ˜c› a S›ÐBˆÐBÜ Ó/ÐØ'Ð˜ÑØ×Ñ Ô(Ü˜]Ð4DÔEˆÜ
×Ñ˜f hÕ/ùò Cs   Â#D znormalize, expected_labelc                 óÜ   — t        g d¢gdd|g¬«      j                  dd¬«      }d|› d�}t        j                  t        |¬	«      5  |j                  | ¬
«       d d d «       y # 1 sw Y   y xY w)NrR  rŒ   r�   r   FrT  zColumn label 'z' is duplicate of result columnr©   rÀ   )r   r   r¯   r°   r¸   r   )r^   rX  r£   r²   s       r%   Útest_result_label_duplicatesrh  '  sr   € ô 
’I�;¨¨c°>Ð(BÔ	C×	KÑ	KØ�eð 
Ló 
€Bð ˜>Ð*Ð*IÐ
J€CÜ	�‰”z¨Ô	-ñ -Ø
�‰ )ˆÔ,÷-÷ -ñ -ús   ÁA"Á"A+c                  ó,  — t        dddgi«      } | j                  t        j                  ddgt        j                  ¬«      «      }|j                  «       }t        dgt        j                  ddggd dg¬«      d¬«      }t        j                  ||«       y )NrŒ   r   r&  r+   rU   r   r   )r   r   r8   r‘   ra  r   r	   r   rÌ   r   r   )r    r£   r!   r$   s       r%   Útest_ambiguous_groupingrj  8  s}   € ä	�C˜!˜Q˜�=Ó	!€BØ	�‰”B—H‘H˜a ˜V¬2¯8©8Ô4Ó	5€BØ�_‰_Ó€FÜØ	
ˆ”:×)Ñ)¨A¨q¨6¨(¸4À¸+ÔFÈWô€Hô ×Ñ˜6 8Õ,r'   c                  óØ   — t        g d¢g d¢dœg d¢¬«      } d}t        j                  t        |¬«      5  | j	                  d«      j                  dg¬	«       d d d «       y # 1 sw Y   y xY w)
N©rŒ   r�   r_  ©rØ   Úyrn  ©Úc1Úc2©r   r   r   rÞ   z;Keys {'c1'} in subset cannot be in the groupby column keys.r©   rp  r·   ©r   r¯   r°   r¸   r   r   ©r    r²   s     r%   Ú"test_subset_overlaps_gb_key_raisesru  C  sW   € ä	š/²ÑAÊÔ	S€BØ
G€CÜ	�‰”z¨Ô	-ñ 5Ø
�
‰
�4Ó×%Ñ%¨d¨VÐ%Ô4÷5÷ 5ñ 5úó   ´#A Á A)c                  óØ   — t        g d¢g d¢dœg d¢¬«      } d}t        j                  t        |¬«      5  | j	                  d«      j                  d	g¬
«       d d d «       y # 1 sw Y   y xY w)Nrl  rm  ro  rr  rÞ   z4Keys {'c3'} in subset do not exist in the DataFrame.r©   rp  Úc3r·   rs  rt  s     r%   Ú!test_subset_doesnt_exist_in_framery  K  sW   € ä	š/²ÑAÊÔ	S€BØ
@€CÜ	�‰”z¨Ô	-ñ 5Ø
�
‰
�4Ó×%Ñ%¨d¨VÐ%Ô4÷5÷ 5ñ 5úrv  c                  óü   — t        g d¢g d¢dœg d¢¬«      } | j                  d¬«      j                  dg¬	«      }t        d
dgt	        j
                  dd
gddggd dg¬«      d¬«      }t        j                  ||«       y )Nrl  rm  ro  rr  rÞ   r   r2  rq  r·   r   r+   rØ   rn  rU   r   r   ©r   r   r   r	   r   r[   r   r   ©r    r!   r$   s      r%   Útest_subsetr}  S  sz   € ä	š/²ÑAÊÔ	S€BØ�Z‰Z˜aˆZÓ ×-Ñ-°d°VÐ-Ó<€FÜØ	
ˆAˆÜ×$Ñ$ q¨! f¨s°C¨jÐ%9À$ÈÀÔNØô€Hô
 ×Ñ˜6 8Õ,r'   c            	      ó  — t        g d¢g d¢g d¢gg d¢g d¢¬«      } | j                  d¬«      j                  dg¬	«      }t        d
dgt	        j
                  dd
gddgddggg d¢¬«      d¬«      }t        j                  ||«       y )N)rŒ   rØ   rØ   )r�   rn  rn  rr  )rp  rq  rq  )r   r   r   r2  rq  r·   r   r+   rØ   rn  )Nrq  rq  rU   r   r   r{  r|  s      r%   Útest_subset_duplicate_columnsr  _  s�   € ä	Ú	š/ª?Ð;ÚÚ"ô
€Bð
 �Z‰Z˜aˆZÓ ×-Ñ-°d°VÐ-Ó<€FÜØ	
ˆAˆÜ×$Ñ$Ø�ˆV�c˜3�Z # s Ð,Ò4Fô
ð ô€Hô ×Ñ˜6 8Õ,r'   c                 óî  — t        g d¢g d¢dœ«      j                  dg«      }t        |d   | d¬«      j                  j	                  |«      |d<   |j                  t        d	d¬
«      «      }|j                  «       }t        g d¢| ¬«      j	                  |«      }|d   j                  «       }t        ||g d¢gg d¢t        d«      g d¢gg d¢¬«      }t        d|d¬«      }t        j                  ||«       y )Nrl   rm   rr   r2   rs   ru   rv   rx   ry   rz   )z
2019-08-06z
2019-08-07z
2019-08-09z
2019-08-10)rj   )rn   ro   rp   rq   )r   r   r   r+   r+   r2   rú   )r   r   r   r+   r+   r2   )rx   rs   rt   rŸ   r   r   r   )r   r}   r   ÚdtÚas_unitr   r   r   Úuniquer   rY   r	   r   r   )	rj   rw   r    r£   r!   ÚdatesÚ
timestampsr   r$   s	            r%   Útest_value_counts_time_grouperr†  q  sï   € ô 
òò Wñ	
ó
÷ �dˆAˆ3ƒið ô !  K¡°cÀÔD×GÑG×OÑOÐPTÓU€B€z�NØ	�‰”G ¨:Ô6Ó	7€BØ�_‰_Ó€FÜÚ@Àcôç�gˆdƒmð 
ð �K‘×'Ñ'Ó)€JÜØ�zÒ#HÐIÚ!¤5¨£8Ò-?Ð@Ú/ô€Eô
 �a˜u¨7Ô3€HÜ×Ñ˜6 8Õ,r'   c                  óØ   — t        g d¢g d¢g d¢dœ«      } | j                  ddgdd¬«      }|d	   j                  «       }t        g d¢g d¢g d¢dd
œ«      }t        j                  ||«       y )N)rŒ   rŒ   rŒ   )rŒ   rŒ   r\  rl  rR  r   r+   Frñ   r2   )r   r+   r2   r   )r   r   r   r   rã   )r    r³   r!   r$   s       r%   Ú!test_value_counts_integer_columnsrˆ  “  se   € ä	’ª?ºÑOÓ	P€BØ	�‰�Q˜�F U°ˆÓ	7€BØ�‰U×ÑÓ!€FÜÚ¢²OÈaÑPó€Hô ×Ñ˜& (Õ+r'   Úvc_sortc                 ór  — t        g d¢g d¢dœ«      }|j                  d| ¬«      }|j                  ||¬«      }|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¢}	|j                  |	«      }t        j                  ||«       y )N©r+   r   r   r   ©r2   rï   r2   r2   ©rŒ   r   rŒ   r_   rU  )ç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Ó	8€BØ	�‰�C˜dˆÓ	#€BØ�_‰_ '°Yˆ_Ó?€FáÚ$‰âˆÜØ�A�˜˜A˜Ðª	²9Ð'=ÀcÈ1ÀXô€Eô �f EÁ	±ÈwÔW€HÙ‘Ú‰Ù	‘gÚ‰Ù‘gÚ‰âˆØ�}‰}˜UÓ#€Hä×Ñ˜6 8Õ,r'   c           	      óž  — t        g d¢g d¢dœd¬«      }|j                  d| d¬«      }|j                  ||¬	«      }|rg d
¢}ng d¢}|rdnd}t        dt        g d¢«      dt        g d¢«      ||i«      j	                  ddg«      |   }| r|rg d¢}	n| r|sg d¢}	n| s|rg d¢}	ng d¢}	|j                  |	«      }t        j                  ||«       y )Nr‹  rŒ  r�  r   r&  rŒ   T)rP   r%  rU  )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Ó   € ô 
šª,Ñ7¸zÔ	J€BØ	�‰�C˜d¨TˆÓ	2€BØ�_‰_ '°Yˆ_Ó?€FáÚ)‰âˆÙ$‰<¨'€DÜà”š\Ó*ØŒ{š<Ó(Ø�&ð	
ó÷ �i��a�Ó˜$ñ €Hñ ‘Ú‰Ù	‘gÚ‰Ù‘gÚ‰âˆØ�}‰}˜UÓ#€Hä×Ñ˜6 8Õ,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Úreprri   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‘   ra  r9  r@  rE  rG  rN  rP  rY  r<   rf  rh  rj  ru  ry  r}  r  r†  rˆ  r’  r•  ra   r'   r%   ú<module>r§     s–
  ðñó Û ç )Ð )÷
÷ 
õ 
õ Ý 'ò-ò(ð. ‡�×ÑØ‡�×Ñ˜ t¨U mÓ4Ø‡�×Ñ˜ b¨" XÓ.Ø‡�×Ñ˜ Q¨ GÓ,Ø‡�×Ñ˜ %¨°¸°Ð!?ÀTÐÓJØ‡�×Ñ˜ $¨¨A¨ °TÐÓ:Ø‡�×Ñ˜ 4¨ -Ó0Ø‡�×ÑÐ*Ð-AÐCSÐ,TÓUØ‡�×Ñ˜ $¨ Ó/Ø‡�×Ñ˜ t¨U mÓ4Ø‡�×Ñ˜ D¨% =Ó1ñ'Bó 2ó 5ó 0ó Vó 1ó ;ó Kó -ó /ó 5ó ð'BðT ‡�×Ñ˜  u Ó.ñ-ó /ð-ð< ‡�×Ñ˜ c¨3 Z²Ð$AÓBñ	-ó Cð	-ð ‡�×Ñ˜ c¨3 Z²Ð$AÓBñ-ó Cð-ò-ò6-ð( ‡�ñó ðòò,ò-ò@Vð ‡�×Ñ˜Ò$CÓDØ‡�×ÑÐ*Ð-AÐCSÐ,TÓUØ‡�×ÑØòóð ‡�×Ñ˜ d¨E ]Ó3Ø‡�×Ñ˜ 4¨ -Ó0ñH4ó 1ó 4óó Vó EðH4ðV ‡�×ÑØàØˆ�‰Ð,°M°B·M±MÀ)Ó4LÔMØˆ�‰Ð&¨m¨b¯m©m¸IÓ.FÔGðóð ‡�×Ñ˜ t¨U mÓ4Ø‡�×ÑØIà	�’o¢ºÐHØ	ˆu’o¢ºÐHØ	ˆt’_¢o²ÐGðóñ,óó 5óð",ðD ‡�ñó ðð ‡�×ÑØEà	��e˜W¢iÒ1RÐSØ	ˆt�U˜G¢YÒ0QÐRØ	ˆu�e˜W¢iÒ1RÐSàØØØÚÚ-ð	
ð	óñ ;ó!ð ;ð0 ‡�ñ	ó ð	ð ‡�×ÑØ@ð ØÚ'Ú=ð		
ð 
�Ò(Ò*HÐIØ	ˆuÒ(Ò*LÐMØ	ˆt’Y¢Ð0ð
óñ-óð-ð. ‡�ñó ðð ‡�×ÑØ+ð Ø�ˆFØ"ˆJ×"Ñ"Ú?Ú:ôð	
ð ÚÙá˜1˜#“JÙÒ2Ó3Ù˜8 W¨b¯f©fÐ5Ó6ðò
 $¢\²<Ð@Ú:ôð	
ðóð4 ‡�×ÑÐ*Ð-=Ð?SÐ,TÓUñ;ó Vó5ð6;ð0 ‡�×Ñ˜ e¨T ]Ó3Ø‡�×Ñ˜ e¨T ]Ó3Ø‡�×ÑØ$ð ØØˆB�H‰HÒ9ÀÇÁÔJð	
ð ØØˆB�H‰HÒSÓTð	
ðóñ70óó 4ó 4ð"70òt 0ðF ‡�×Ñ˜ d¨E ]Ó3Ø‡�×ÑØ$ð ØØˆB�H‰HÒ9ÀÇÁÔJð	
ð ØØˆB�H‰HÒSÓTð	
ðóñ'óó 4ð 'ðT ‡�×Ñ˜ d¨E ]Ó3Ø‡�×ÑØ$ð ØØˆB�H‰HÚFÈbÏhÉhôð	
ð ØØˆB�H‰Hòóð	
ð"ó%ñL-óM%ó 4ðN-ð` ‡�×Ñ˜ d¨E ]Ó3Ø‡�×ÑØð òð	
ð$ òð		
ð%óð@ ‡�×ÑØ$ð ØØˆB�H‰HÒ9ÀÇÁÔJð	
ð ØàˆB�H‰HÒQÓRð		
ðóñ "0ó!óAó 4ðb"0ðJ ‡�×Ñ˜ e¨T ]Ó3Ø‡�×Ñ˜ e¨T ]Ó3Ø‡�×ÑØ$ð ØØˆB�H‰HÒ9ÀÇÁÔJð	
ð ØàˆB�H‰HÒSÓTð		
ðóñ 90ó!ó 4ó 4ð$90ðx ‡�×ÑØ0à	�šÐ#Ø	ˆ|š_Ð-ðóñ,óð,ð" ‡�×ÑØ#à	‘4˜“=Ò"AÐBØ	‘$�v“, ) Ñ,Ò.SÐTðóð ‡�×Ñ˜ e¨T ]Ó3ñ0ó 4óð0ð4 ‡�×ÑØàØðóñ-óð-ò-ò5ò5ò	-ò-ð$ ‡�×Ñ˜  u Ó.ñ-ó /ð-òB,ð ‡�×Ñ˜ T¨5 MÓ2Ø‡�×Ñ˜ t¨U mÓ4ñ-ó 5ó 3ð-ð6 ‡�×Ñ˜ T¨5 MÓ2Ø‡�×Ñ˜ t¨U mÓ4ñ-ó 5ó 3ñ-r'   