ó
    ®œ‘hB  ã                   ó  • S SK rS SKrS SKrS SKJrJrJrJrJ	r	J
r
Jr  S SKJr  \R                  S 5       r " S S5      r\R$                  R'                  SSS/5      \R$                  R'                  S	SS/5      S
 5       5       rg)é    N)ÚCategoricalDtypeÚCategoricalIndexÚ	DataFrameÚIndexÚ
MultiIndexÚSeriesÚcrosstabc            
      óf  • [        / SQ/ SQ/ SQ[        R                  R                  S5      R	                  S5      [        R                  R                  S5      R	                  S5      [        R                  R                  S5      R	                  S5      S.5      n [
        R                  " X /SS9$ )	N)Úfoor   r   r   Úbarr   r   r   r   r   r   )Úoner   r   Útwor   r   r   r   r   r   r   )Údullr   Úshinyr   r   r   r   r   r   r   r   é   é   )ÚAÚBÚCÚDÚEÚFT)Úignore_index)r   ÚnpÚrandomÚdefault_rngÚstandard_normalÚpdÚconcat)Údfs    ÚfC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\pandas/tests/reshape/test_crosstab.pyr    r       s�   € ä	òòòô —‘×&Ñ& qÓ)×9Ñ9¸"Ó=Ü—‘×&Ñ& qÓ)×9Ñ9¸"Ó=Ü—‘×&Ñ& qÓ)×9Ñ9¸"Ó=ñU+	
ó-
€Bô^ �9Š9�b�X¨DÑ1Ð1ó    c                   ój  • \ rS rSrS rS r\R                  R                  S\	R                  \\/5      S 5       rS rS rS rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS r \R                  R                  SSS/SS//5      S 5       r!S r"S  r#S! r$S" r%S# r&S$ r'S% r(S&r)g')(ÚTestCrosstabéE   c                 ó
  • [        US   US   5      nUR                  SS/5      R                  5       R                  5       n[        R
                  " X#R                  S5      R                  [        R                  5      5        g )Nr   r   r   )
r	   ÚgroupbyÚsizeÚunstackÚtmÚassert_frame_equalÚfillnaÚastyper   Úint64©Úselfr    ÚresultÚexpecteds       r!   Útest_crosstab_singleÚ!TestCrosstab.test_crosstab_singleF   s`   € Ü˜"˜S™' 2 c¡7Ó+ˆØ—:‘:˜s C˜jÓ)×.Ñ.Ó0×8Ñ8Ó:ˆÜ
×Ò˜f§o¡o°aÓ&8×&?Ñ&?ÄÇÁÓ&IÕJr"   c                 óN  • [        US   US   US   /5      nUR                  / SQ5      R                  5       nUR                  S5      R                  S5      R	                  S5      R                  [        R                  5      n[        R                  " X#5        [        US   US   /US   5      nUR                  / SQ5      R                  5       nUR                  S5      R	                  S5      R                  [        R                  5      n[        R                  " X#5        g )Nr   r   r   ©r   r   r   r   )r   r   r   )
r	   r'   r(   r)   r,   r-   r   r.   r*   r+   r/   s       r!   Útest_crosstab_multipleÚ#TestCrosstab.test_crosstab_multipleK   så   € Ü˜"˜S™' B s¡G¨R°©WÐ#5Ó6ˆØ—:‘:šoÓ.×3Ñ3Ó5ˆØ×#Ñ# CÓ(×0Ñ0°Ó5×<Ñ<¸QÓ?×FÑFÄrÇxÁxÓPˆÜ
×Ò˜fÔ/ä˜2˜c™7 B s¡GÐ,¨b°©gÓ6ˆØ—:‘:šoÓ.×3Ñ3Ó5ˆØ×#Ñ# CÓ(×/Ñ/°Ó2×9Ñ9¼"¿(¹(ÓCˆÜ
×Ò˜fÕ/r"   Úboxc                 óò  • U" [         R                  R                  S5      R                  SSSS95      nU" [         R                  R                  S5      R                  SSSS95      nU" [         R                  R                  S5      R                  SSSS95      n[	        X#US.5      n[        X#U/S	/S
S9n[        US	   US   US   /5      n[        R                  " Xg5        [        X4/US	/S
S9n[        US   US   /US	   5      n[        R                  " Xg5        [        X$5      n[        US	   US   5      nS/UR                  l	        S/UR                  l	        [        R                  " Xg5        g )Nr   r   é   éd   ©r(   é   é
   ©ÚaÚbÚcrA   ©rB   rC   )ÚrownamesÚcolnamesrB   rC   )rF   rE   Úrow_0Úcol_0)r   r   r   Úintegersr   r	   r*   r+   ÚindexÚnamesÚcolumns)r0   r9   rA   rB   rC   r    r1   r2   s           r!   Útest_crosstab_ndarrayÚ"TestCrosstab.test_crosstab_ndarrayV   s]  € ñ ”—	‘	×%Ñ% aÓ(×1Ñ1°!°Q¸SÐ1ÐAÓBˆÙ”—	‘	×%Ñ% aÓ(×1Ñ1°!°Q¸SÐ1ÐAÓBˆÙ”—	‘	×%Ñ% aÓ(×1Ñ1°!°R¸cÐ1ÐBÓCˆä˜Q¨QÑ/Ó0ˆä˜! ˜V¨s¨e¸jÑIˆÜ˜B˜s™G b¨¡g¨r°#©wÐ%7Ó8ˆÜ
×Ò˜fÔ/ä˜1˜& !¨s¨e¸jÑIˆÜ˜R ™W b¨¡gÐ.°°3±Ó8ˆÜ
×Ò˜fÔ/ô ˜!“ˆÜ˜B˜s™G R¨¡WÓ-ˆØ '˜yˆ�‰ÔØ") ˆ×ÑÔÜ
×Ò˜fÕ/r"   c           	      óT  • [        / SQ/ SQS9n[        / SQ/ SQS9n[        R                  " / SQ[        R                  S9n[	        SS	/SS//[        S	S/S
S9[        SS/SS9S9n[        X5      n[        R                  " XT5        [        X5      n[        R                  " XT5        g )N©r   é   rQ   r@   ©rJ   )r>   é   r>   rS   r>   )rA   rB   rC   ÚdÚf)r>   rS   r>   ©ÚdtyperQ   r   rG   ©Únamer>   rS   rH   ©rJ   rL   )	r   r   Úarrayr.   r   r   r	   r*   r+   )r0   rA   rB   rC   r2   r1   s         r!   Útest_crosstab_non_alignedÚ&TestCrosstab.test_crosstab_non_alignedn   s•   € ä’9¢OÑ4ˆÜ’?Ò*CÑDˆÜ�HŠH’Y¤b§h¡hÑ/ˆäØ�ˆV�a˜�VÐÜ˜˜A˜ WÑ-Ü˜1˜a˜& wÑ/ñ
ˆô ˜!“ˆÜ
×Ò˜fÔ/ä˜!“ˆÜ
×Ò˜fÕ/r"   c                 óp  • [         R                  R                  S5      R                  SSSS9n[         R                  R                  S5      R                  SSSS9n[         R                  R                  S5      R                  SSSS9n[	        XUS.5      n[        XU/S	/S
SS9nUR                  R                  S:X  d   eUR                  R                  SS/:X  d   eUS   nUR                  S	/5      R                  5       R                  S5      n[        [        U5      /[        S/S	S9S9n[        R                   " Xx/5      nSUl        [$        R&                  " Xg5        UR(                  S   n	UR                  SS/5      R                  5       R                  S5      n
[        R                   " U
[        [        U5      /S/S9/5      n
SU
l        U
R+                  U	R                  5      n
U
R-                  S5      R                  [         R.                  5      n
[$        R&                  " Xš5        g )Nr   r   é   r<   r=   r>   r;   r@   rA   rD   T)rE   rF   Úmargins©rA   rB   rC   ©ÚAllÚ Úi8rc   rX   rR   )r   r   r   rI   r   r	   rJ   rK   rL   r'   r(   r-   r   Úlenr   r   r   rY   r*   Úassert_series_equalÚlocÚreindexr,   r.   )r0   rA   rB   rC   r    r1   Úall_colsÚexp_colsÚ
exp_marginÚall_rowsÚexp_rowss              r!   Útest_crosstab_marginsÚ"TestCrosstab.test_crosstab_margins€   sÙ  € Ü�I‰I×!Ñ! !Ó$×-Ñ-¨a°¸Ð-Ð=ˆÜ�I‰I×!Ñ! !Ó$×-Ñ-¨a°¸Ð-Ð=ˆÜ�I‰I×!Ñ! !Ó$×-Ñ-¨a°¸Ð-Ð=ˆä˜Q¨QÑ/Ó0ˆä˜! ˜V¨s¨e¸jÐRVÑWˆà�|‰|×!Ñ! VÓ+Ð+Ð+Ø�~‰~×#Ñ#¨¨S zÓ1Ð1Ð1à˜)Ñ$ˆØ—:‘:˜s˜eÓ$×)Ñ)Ó+×2Ñ2°4Ó8ˆäœS ›W˜I¬U°E°7ÀÑ-EÑFˆ
Ü—9’9˜hÐ3Ó4ˆØ#ˆŒä
×Ò˜xÔ2à—:‘:˜eÑ$ˆØ—:‘:˜s C˜jÓ)×.Ñ.Ó0×7Ñ7¸Ó=ˆÜ—9’9˜h¬´°B³¨yÀÀÑ(NÐOÓPˆØˆŒà×#Ñ# H§N¡NÓ3ˆØ—?‘? 1Ó%×,Ñ,¬R¯X©XÓ6ˆÜ
×Ò˜xÕ2r"   c                 ó  • [         R                  R                  S5      R                  SSSS9n[         R                  R                  S5      R                  SSSS9n[         R                  R                  S5      R                  SSSS9n[	        XUS.5      n[        UX#/S	/S
SSS9nUR                  R                  S:X  d   eUR                  R                  SS/:X  d   eUS   nUR                  S	/5      R                  5       R                  S5      n[        [        U5      /[        S/S	S9S9n[        R                   " Xx/5      nSUl        [$        R&                  " Xg5        UR(                  S   n	UR                  SS/5      R                  5       R                  S5      n
[        R                   " U
[        [        U5      /S/S9/5      n
SU
l        U
R+                  U	R                  5      n
U
R-                  S5      R                  [         R.                  5      n
[$        R&                  " Xš5        SnSS S	S/4 H5  n[0        R2                  " [4        US9   [        UX#/S	/S
SUS9  S S S 5        M7     g ! , (       d  f       MI  = f)Nr   r   r_   r<   r=   r>   r;   r@   rA   rD   TÚTOTAL)rE   rF   r`   Úmargins_namera   rB   rC   )rr   rd   re   rX   rR   z&margins_name argument must be a stringiš  ©Úmatch)r   r   r   rI   r   r	   rJ   rK   rL   r'   r(   r-   r   rf   r   r   r   rY   r*   rg   rh   ri   r,   r.   ÚpytestÚraisesÚ
ValueError)r0   rA   rB   rC   r    r1   rj   rk   rl   rm   rn   Úmsgrs   s                r!   Ú%test_crosstab_margins_set_margin_nameÚ2TestCrosstab.test_crosstab_margins_set_margin_namež   s9  € ä�I‰I×!Ñ! !Ó$×-Ñ-¨a°¸Ð-Ð=ˆÜ�I‰I×!Ñ! !Ó$×-Ñ-¨a°¸Ð-Ð=ˆÜ�I‰I×!Ñ! !Ó$×-Ñ-¨a°¸Ð-Ð=ˆä˜Q¨QÑ/Ó0ˆäØØˆFØ�UØØØ ñ
ˆð �|‰|×!Ñ! VÓ+Ð+Ð+Ø�~‰~×#Ñ#¨¨S zÓ1Ð1Ð1à˜+Ñ&ˆØ—:‘:˜s˜eÓ$×)Ñ)Ó+×2Ñ2°4Ó8ˆäœS ›W˜I¬U°G°9À3Ñ-GÑHˆ
Ü—9’9˜hÐ3Ó4ˆØ%ˆŒä
×Ò˜xÔ2à—:‘:˜gÑ&ˆØ—:‘:˜s C˜jÓ)×.Ñ.Ó0×7Ñ7¸Ó=ˆÜ—9’9˜h¬´°B³¨yÀÀÑ(PÐQÓRˆØˆŒà×#Ñ# H§N¡NÓ3ˆØ—?‘? 1Ó%×,Ñ,¬R¯X©XÓ6ˆÜ
×Ò˜xÔ2à6ˆØ  $¨¨c¨
Ó3ˆLÜ—’œz°Ó5ÜØØ�FØ!˜UØ'Ø Ø!-ò÷ 6Ñ5ò 4ß5Ö5ús   ÉI;É;
J
	c           	      ó  • [         R                  R                  S5      R                  SSSS9n[         R                  R                  S5      R                  SSSS9n[         R                  R                  S5      R                  SSSS9n[         R                  R                  S5      R	                  S5      n[        X/X4SS	S
/S/S9n[        XX4S.5      nUR                  SS	S
/SSS9n[        R                  " XW5        g )Nr   r   r_   r<   r=   r>   r;   Úsumr   r   Úbaz)ÚaggfuncrE   rF   )r   r   r~   Úvaluesr€   )rJ   rL   r   )
r   r   r   rI   r   r	   r   Úpivot_tabler*   r+   )r0   rA   rB   rC   r€   Útabler    r2   s           r!   Útest_crosstab_pass_valuesÚ&TestCrosstab.test_crosstab_pass_valuesÐ   só   € Ü�I‰I×!Ñ! !Ó$×-Ñ-¨a°¸Ð-Ð=ˆÜ�I‰I×!Ñ! !Ó$×-Ñ-¨a°¸Ð-Ð=ˆÜ�I‰I×!Ñ! !Ó$×-Ñ-¨a°¸Ð-Ð=ˆÜ—‘×&Ñ& qÓ)×9Ñ9¸#Ó>ˆäØˆF�A u¸¸u°~ÐQVÐPWñ
ˆô ˜q°1ÑGÓHˆà—>‘>Ø˜U E˜N°EÀ5ð "ð 
ˆô 	×Ò˜eÕ.r"   c                 ó<  • [         R                  " / SQ[        S9n[         R                  " / SQ[        S9n[         R                  " / SQ[        S9n[        XU/S/SS/SS	9n[        R
                  " / S
QSS/S9n[        R                  " UR                  U5        g )N©r   r   r   r   r   r   r   rV   )r   r   r   r   r   r   r   ©r   r   r   r   r   r   r   rA   rB   rC   F)rE   rF   Údropna))r   r   )r   r   )r   r   )r   r   ©rK   )	r   r[   Úobjectr	   r   Úfrom_tuplesr*   Úassert_index_equalrL   )r0   rA   rB   rC   ÚresÚms         r!   Útest_crosstab_dropnaÚ!TestCrosstab.test_crosstab_dropnaá   sƒ   € ä�HŠHÒFÌfÑUˆÜ�HŠHÒFÌfÑUˆÜ�HŠHÚFÌfñ
ˆô �q˜a˜&¨C¨5¸CÀ¸:ÈeÑTˆÜ×"Ò"ÚRØ˜�*ñ
ˆô 	×Ò˜cŸk™k¨1Õ-r"   c           	      ó¶   • [        / SQ/ SQS9n[        / SQ/ SQS9n[        X5      n[        [        / SSS9[        / SSS9S9n[        R
                  " X45        g )	N)rQ   r   r>   rR   )rS   r;   é   r.   rG   ©rW   rY   rH   rZ   )r   r	   r   r   r*   r+   )r0   Ús1Ús2Úactualr2   s        r!   Útest_crosstab_no_overlapÚ%TestCrosstab.test_crosstab_no_overlapï   sX   € ô ’I¢YÑ/ˆÜ’I¢YÑ/ˆä˜"Ó!ˆÜÜ˜ '°Ñ8Ü˜" G°'Ñ:ñ
ˆô
 	×Ò˜fÕ/r"   c                 ó$  • [        SSSSS[        R                  // SQS.5      n[        UR                  UR
                  SSS9n[        / SQ/ SQ/ S	Q/5      n[        / S
QSS9Ul        [        / SQSS9Ul        [        R                  " X#5        g )NrQ   r   ©r>   r>   rS   rS   rS   rS   ©rA   rB   T©r`   rˆ   ©rQ   r   rQ   )rQ   r>   rS   )r   r>   r;   ©ç      ð?ç       @rc   rA   rX   ©r>   rS   rc   rB   ©r   r   Únanr	   rA   rB   r   rJ   rL   r*   r+   ©r0   r    r–   r2   s       r!   Útest_margin_dropnaÚTestCrosstab.test_margin_dropnaý   sz   € ô
 ˜a  A q¨!¬R¯V©VÐ4Ò;MÑNÓOˆÜ˜"Ÿ$™$ §¡¨d¸4Ñ@ˆÜšiª²IÐ>Ó?ˆÜÒ0°sÑ;ˆŒÜ ¢°SÑ9ˆÔÜ
×Ò˜fÕ/r"   c           	      óœ  • [        S[        R                  [        R                  [        R                  S[        R                  /S[        R                  SSSS/S.5      n[        UR                  UR
                  SSS9n[        / SQ/ S	Q/ S
Q/5      n[        / SQSS9Ul        [        / SQSS9Ul        [        R                  " X#5        g )NrQ   r   r>   rS   r›   Trœ   r�   rP   ©rQ   rQ   r   rž   rA   rX   )ç      @ç      @rc   rB   r¢   r¤   s       r!   Útest_margin_dropna2Ú TestCrosstab.test_margin_dropna2	  sœ   € ÜØ”b—f‘fœbŸf™f¤b§f¡f¨a´·±Ð8ÀÄ2Ç6Á6È1ÈaÐQRÐTUÐ?VÑWó
ˆô ˜"Ÿ$™$ §¡¨d¸4Ñ@ˆÜšiª²IÐ>Ó?ˆÜÒ0°sÑ;ˆŒÜ Ò!2¸Ñ=ˆÔÜ
×Ò˜fÕ/r"   c                 óx  • [        S[        R                  [        R                  [        R                  [        R                  S// SQS.5      n[        UR                  UR
                  SSS9n[        / SQ/ SQ/ S	Q/5      n[        / S
QSS9Ul        [        / SQSS9Ul        [        R                  " X#5        g )NrQ   r   rš   r›   Trœ   r�   rP   r¨   rž   rA   rX   r¡   rB   r¢   r¤   s       r!   Útest_margin_dropna3Ú TestCrosstab.test_margin_dropna3  s‰   € ÜØ”b—f‘fœbŸf™f¤b§f¡f¬b¯f©f°aÐ8Ò?QÑRó
ˆô ˜"Ÿ$™$ §¡¨d¸4Ñ@ˆÜšiª²IÐ>Ó?ˆÜÒ0°sÑ;ˆŒÜ ¢°SÑ9ˆÔÜ
×Ò˜fÕ/r"   c                 óh  • [        SSSSS[        R                  // SQS.5      n[        UR                  UR
                  SSS9n[        / SQ/ S	QS
S[        R                  // SQ/5      n[        SS[        R                  S/SS9Ul        [        / SQSS9Ul        [        R                  " X#5        g )NrQ   r   rš   r›   TFrœ   ©rQ   r   rŸ   )rQ   r>   rª   r   )r   rS   ç      @rŸ   r    rc   rA   rX   r¡   rB   r¢   r¤   s       r!   Útest_margin_dropna4Ú TestCrosstab.test_margin_dropna4  s’   € ô
 ˜a  A q¨!¬R¯V©VÐ4Ò;MÑNÓOˆÜ˜"Ÿ$™$ §¡¨d¸5ÑAˆÜškª;¸¸A¼r¿v¹v¸ÊÐTÓUˆÜ  S¬"¯&©&°%Ð8¸sÑCˆŒÜ ¢°SÑ9ˆÔÜ
×Ò˜fÕ/r"   c           	      ó  • [        S[        R                  [        R                  [        R                  S[        R                  /S[        R                  SSSS/S.5      n[        UR                  UR
                  SSS9n[        / S	Q/ S
QSSS[        R                  // SQ/5      n[        SS[        R                  S/SS9Ul        [        SS[        R                  S/SS9Ul        [        R                  " X#5        g )NrQ   r   r>   rS   r›   TFrœ   )rQ   r   r   rŸ   )r   rQ   r   rŸ   r   )rQ   rS   r   r²   rŸ   r    rc   rA   rX   r©   rª   rB   r¢   r¤   s       r!   Útest_margin_dropna5Ú TestCrosstab.test_margin_dropna5)  sÈ   € äØ”b—f‘fœbŸf™f¤b§f¡f¨a´·±Ð8ÀÄ2Ç6Á6È1ÈaÐQRÐTUÐ?VÑWó
ˆô ˜"Ÿ$™$ §¡¨d¸5ÑAˆÜÚš^¨a°°A´r·v±vÐ->ÂÐOó
ˆô   S¬"¯&©&°%Ð8¸sÑCˆŒÜ  # s¬B¯F©F°EÐ!:ÀÑEˆÔÜ
×Ò˜fÕ/r"   c           
      ó&  • [         R                  " / SQ[        S9n[         R                  " SSSSS[         R                  S/[        S9n[         R                  " / SQ[        S9n[	        XU/S/SS/S	S
S9n[
        R                  " SSSS[         R                  [         R                  S// SQ/SS/S9n[        / SQ/ SQ/ SQ/US9n[        / SQSS9Ul	        [        R                  " XF5        [	        X/USS/S/S	S
S9n[
        R                  " / SQSS[         R                  SS[         R                  S//SS/S9n[        / SQ/ SQSS[         R                  // SQ/ SQSS[         R                  // SQ/US9n[        / SQSS9Ul        [        R                  " XF5        [	        X/USS/S/S	S	S9n[
        R                  " / SQ/ S Q/SS/S9n[        / S!Q/ S!Q/ S"Q/ S#Q/ S$Q/US9n[        / SQSS9Ul        [        R                  " XF5        g )%Nr†   rV   r   r   r‡   rA   rB   rC   TF)rE   rF   r`   rˆ   rc   )r   r   r   r   r   r   rd   r‰   )rQ   r   rQ   r   r   r   r   )r   r   rQ   rQ   r   rQ   r;   )r>   r   r   rQ   r   r   r_   )rL   ©r   r   rc   rX   )r   r   r   r   r   r   rc   rd   r±   r   )r   r   r    )rQ   rQ   r    rQ   )r;   r   g      @rR   )r   r   rc   )r   r   r   r   rc   )r   r   r   r   rd   r�   )r   r   r   r¨   )r;   rQ   r’   )r   r[   rŠ   r£   r	   r   Úfrom_arraysr   r   rJ   r*   r+   rL   )r0   rA   rB   rC   r–   rŽ   r2   s          r!   Útest_margin_dropna6Ú TestCrosstab.test_margin_dropna66  s  € ä�HŠHÒFÌfÑUˆÜ�HŠH�e˜U E¨5°%¼¿¹ÀÐGÌvÑVˆÜ�HŠHÚFÌfñ
ˆô Ø�1ˆv  °°c°
ÀDÐQVñ
ˆô ×"Ò"à˜˜u e¬R¯V©V´R·V±V¸UÐCÚGðð ˜�*ñ
ˆô Ú"Ò$9Ò;PÐQØñ
ˆô Ò4¸3Ñ?ˆŒÜ
×Ò˜fÔ/äØˆF�A  c 
°c°UÀDÐQVñ
ˆô ×"Ò"âAØ˜œrŸv™v u¨e´R·V±V¸RÐ@ðð ˜�*ñ
ˆô âÚØ�A”r—v‘v�ÚÚØ�A”r—v‘v�Úðð ñ
ˆô !Ò!9ÀÑDˆÔÜ
×Ò˜fÔ/äØˆF�A  c 
°c°UÀDÐQUñ
ˆô ×"Ò"Ú0Ò2RÐSØ˜�*ñ
ˆô Úš	¢9ªiºÐCÈ1ñ
ˆô !Ò!9ÀÑDˆÔÜ
×Ò˜fÕ/r"   c           
      óø  • [        / SQ/ SQSS[        R                  SS/S.5      n[        SS/SS9n[        SS	/S
S9n[        SS/SS//X#S9n[        SS/SS//X#S9n[        SS/SS//X#S9n[        R
                  " [        UR                  UR                  SS9U5        [        R
                  " [        UR                  UR                  SS9U5        [        R
                  " [        UR                  UR                  SS9U5        [        R
                  " [        UR                  UR                  SS9U5        [        R
                  " [        UR                  UR                  SS9[        UR                  UR                  SS95        [        R
                  " [        UR                  UR                  SS9[        UR                  UR                  SS95        [        SS/SS/SS//[        / SQSSS9[        SS	/S
SS9S9n[        / SQ/ SQ/[        SS/SSS9[        / SQS
SS9S9n[        / SQ/ S Q/ S!Q/[        / SQSSS9[        / SQS
SS9S9n	[        R
                  " [        UR                  UR                  SSS"9U5        [        R
                  " [        UR                  UR                  SSS"9U5        [        R
                  " [        UR                  UR                  SSS"9U	5        g )#N©rQ   r   r   r   r   ©r>   r>   rS   rS   rS   rQ   r@   r   rA   rX   r>   rS   rB   çš™™™™™É?r   ç333333ã?rZ   rŸ   ç      Ð?ç      è?ç      à?Úall©Ú	normalizeTrJ   rL   çš™™™™™Ù?©rQ   r   rc   rŠ   ©rY   rW   )rÄ   r   rÀ   )rÄ   rŸ   çš™™™™™é?r¡   )rÀ   r   rÀ   )rÀ   rÁ   rË   ©rÈ   rÁ   rQ   ©rÇ   r`   )	r   r   r£   r   r*   r+   r	   rA   rB   )
r0   r    ÚrindexÚcindexÚfull_normalÚ
row_normalÚ
col_normalÚrow_normal_marginsÚcol_normal_marginsÚall_normal_marginss
             r!   Útest_crosstab_normalizeÚ$TestCrosstab.test_crosstab_normalizeu  s   € äÚ!ª¸qÀ!ÄRÇVÁVÈQÐPQÐ>RÑSó
ˆô ˜˜1�v CÑ(ˆÜ˜˜1�v CÑ(ˆÜ # q ¨C°¨:Ð 6¸fÑUˆÜ  a ¨4°¨,Ð7¸vÑVˆ
Ü  a ¨3°¨*Ð5¸VÑTˆ
ô 	×Òœh r§t¡t¨R¯T©T¸UÑCÀ[ÔQÜ
×Òœh r§t¡t¨R¯T©T¸TÑBÀKÔPÜ
×Òœh r§t¡t¨R¯T©T¸WÑEÀzÔRÜ
×Òœh r§t¡t¨R¯T©T¸YÑGÈÔTÜ
×ÒÜ�R—T‘T˜2Ÿ4™4¨1Ñ-Ü�R—T‘T˜2Ÿ4™4¨9Ñ5ô	
ô 	×ÒÜ�R—T‘T˜2Ÿ4™4¨1Ñ-¬x¸¿¹¸b¿d¹dÈgÑ/Vô	
ô 'Ø�1ˆX˜˜d�| c¨3 ZÐ0Üš¨C°xÑ@Ü˜1˜a˜& s°(Ñ;ñ
Ðô
 'ÚšOÐ,Ü˜˜A˜ S°Ñ9Üš-¨c¸ÑBñ
Ðô 'ÚšOª]Ð;Üš¨C°xÑ@Üš-¨c¸ÑBñ
Ðô
 	×ÒÜ�R—T‘T˜2Ÿ4™4¨7¸DÑAÐCUô	
ô 	×ÒÜ�R—T‘T˜2Ÿ4™4¨9¸dÑCÐEWô	
ô 	×ÒÜ�R—T‘T˜2Ÿ4™4¨4¸Ñ>Ð@Rõ	
r"   c           
      óp  • [        / SQ/ SQSS[        R                  SS/S.5      n[        [        R                  " / SQ5      [        R                  " / SQ5      /[        R                  " / SQ5      5        [        / SQ/ SQ/ S	Q/[        / S
QSSS9[        / SQSS9S9n[        UR                  UR                  UR                  SSSS9n[        R                  " X25        [        / SQ/ SQSS[        R                  SS/S.5      n[        / SQ/ SQ/ SQ/[        / S
QSSS9[        / SQSSS9S9nSn[        R                  " [        US9   [        UR                  UR                  UR                  [        R                  SSS9nS S S 5        [        R                  " X45        g ! , (       d  f       N%= f)Nr¾   r¿   rQ   r@   )rQ   rQ   r   r   )rQ   r   rQ   r   )rÂ   r   rÂ   )rÂ   rÄ   rÃ   )rÄ   rÄ   rQ   rÉ   rA   rŠ   rÊ   r¡   rB   rX   rZ   ÚcountrÅ   T)r   rÇ   r`   r   rS   r>   )r   r   ç        rÌ   úusing DataFrameGroupBy.sumrt   )r   r   r£   r	   r[   r   rA   rB   rC   r*   r+   Úassert_produces_warningÚFutureWarningr}   )r0   r    Únorm_countsÚ	test_caseÚnorm_sumry   s         r!   Útest_crosstab_normalize_arraysÚ+TestCrosstab.test_crosstab_normalize_arrays¨  sg  € äÚ!ª¸qÀ!ÄRÇVÁVÈQÐPQÐ>RÑSó
ˆô
 	Ü�XŠX’lÓ#¤R§X¢XªlÓ%;Ð<¼b¿hºhÂ|Ó>Tô	
ô
  ÚÒ/²Ð?Üš¨C°xÑ@Üš-¨cÑ2ñ
ˆô
 Ø�D‰D�"—$‘$˜Ÿ™ g¸Èñ
ˆ	ô 	×Ò˜iÔ5äÚ!ª¸qÀ!ÄRÇVÁVÈQÐPQÐ>RÑSó
ˆô Úš-ªÐ7Üš¨C°xÑ@Üš-¨c¸ÑBñ
ˆð
 +ˆÜ×'Ò'¬¸SÓAÜ Ø—‘�b—d‘d˜BŸD™D¬"¯&©&¸EÈ4ñˆI÷ Bô 	×Ò˜iÕ2÷	 BÕAús   Å;F'Æ'
F5c           	      óÆ  • [        / SQ/ SQ[        R                  [        R                  [        R                  [        R                  [        R                  /S.5      n[        SS/SS//[        SS/SSS	9[        S
S/SS9S9nS HD  n[	        UR
                  UR                  UR                  SUS9n[        R                  " X55        MF     [        S[        R                  /SS//[        SS/SSS	9[        S
S/SS9S9nU(       a  US
   R                  S5      US
'   [	        UR
                  UR                  UR                  SSS9n[        R                  " Xe5        g )Nr¾   r¿   r@   rÚ   rQ   r   rA   r.   rÊ   r>   rS   rB   rX   rZ   )TrJ   rL   rÙ   )r€   r   rÇ   F)r   r   r£   r   r	   rA   rB   rC   r*   r+   r-   )r0   Úusing_array_managerr    ÚemptyÚiÚ
calculatedÚnanss          r!   Útest_crosstab_with_emptiesÚ'TestCrosstab.test_crosstab_with_emptiesÎ  s2  € äâ$Ú$Ü—f‘fœbŸf™f¤b§f¡f¬b¯f©f´b·f±fÐ=ñó
ˆô Ø�3ˆZ˜#˜s˜Ð$Ü˜˜A˜ S°Ñ8Ü˜1˜a˜& sÑ+ñ
ˆó ,ˆAÜ! "§$¡$¨¯©°R·T±TÀ7ÐVWÑXˆJÜ×!Ò! %Ö4ñ ,ô Ø”2—6‘6ˆ]˜S #˜JÐ'Ü˜˜A˜ S°Ñ8Ü˜1˜a˜& sÑ+ñ
ˆö
 à˜1‘g—n‘n WÓ-ˆD�‰Gä˜bŸd™d B§D¡D°·±¸wÐRWÑXˆ
Ü
×Ò˜dÕ/r"   c           	      óÈ  • [        / SQ/ SQSS[        R                  SS/S.5      nSn[        R                  " [
        US9   [        UR                  UR                  UR                  S9  S S S 5        Sn[        R                  " [
        US9   [        UR                  UR                  [        R                  S	9  S S S 5        S
n[        R                  " [
        US9   [        UR                  UR                  SS9  S S S 5        [        R                  " [
        US9   [        UR                  UR                  SS9  S S S 5        Sn[        R                  " [
        US9   [        UR                  UR                  SSS9  S S S 5        g ! , (       d  f       GN)= f! , (       d  f       Né= f! , (       d  f       N·= f! , (       d  f       N‡= f! , (       d  f       g = f)Nr¾   r¿   rQ   r@   z)values cannot be used without an aggfunc.rt   )r€   z%aggfunc cannot be used without values)r   zNot a valid normalize argumentÚ42rÆ   é*   zNot a valid margins argumentrÅ   rÍ   )r   r   r£   rv   rw   rx   r	   rA   rB   rC   Úmean)r0   r    Úerrors      r!   Útest_crosstab_errorsÚ!TestCrosstab.test_crosstab_errorsî  sC  € ô Ú!ª¸qÀ!ÄRÇVÁVÈQÐPQÐ>RÑSó
ˆð <ˆÜ�]Š]œ:¨UÓ3Ü�R—T‘T˜2Ÿ4™4¨¯©Ò-÷ 4ð 8ˆÜ�]Š]œ:¨UÓ3Ü�R—T‘T˜2Ÿ4™4¬¯©Ò1÷ 4ð 1ˆÜ�]Š]œ:¨UÓ3Ü�R—T‘T˜2Ÿ4™4¨4Ò0÷ 4ô �]Š]œ:¨UÓ3Ü�R—T‘T˜2Ÿ4™4¨2Ò.÷ 4ð /ˆÜ�]Š]œ:¨UÓ3Ü�R—T‘T˜2Ÿ4™4¨5¸"Ò=÷ 4Ð3÷ 4Ö3ú÷ 4Õ3ú÷ 4Õ3ú÷ 4Õ3ú÷ 4Õ3ús<   Á*FÂ.F Ã  F1Ä! GÅ$!GÆ
FÆ 
F.Æ1
F?Ç
GÇ
G!c                 ó8  • [        / SQ/ SQS.5      n/ SQnUS   R                  S5      R                  R                  U5      US'   [	        US   US   5      n[        / SQSS	9n[        X"S
SS9n/ SQ/ SQ/ SQ/n[        XdUS9n[        R                  " X75        g )N)ÚHondaÚAcuraÚTeslaró   ró   rô   )ÚSedanrö   ÚElectricÚPickuprö   rö   )ÚMAKEÚMODEL)rö   r÷   rø   rú   Úcategoryrù   )rô   ró   rõ   rX   F)Ú
categoriesÚorderedrY   )r   r   r   )r   r   rQ   ©r   rQ   r   rZ   )	r   r-   ÚcatÚset_categoriesr	   r   r   r*   r+   )r0   r    rü   r1   Úexpected_indexÚexpected_columnsÚexpected_datar2   s           r!   Ú%test_crosstab_with_categorial_columnsÚ2TestCrosstab.test_crosstab_with_categorial_columns  s¨   € äâNÚSñó
ˆò 5ˆ
Ø˜‘k×(Ñ(¨Ó4×8Ñ8×GÑGÈ
ÓSˆˆ7‰Ü˜"˜V™* b¨¡kÓ2ˆäÒ:ÀÑHˆÜ+Ø°uÀ7ñ
Ðò #¢IªyÐ9ˆÜØÐ9Iñ
ˆô 	×Ò˜fÕ/r"   c                 ó  • [        / SQS-  / SQS-  / SQS-  [        R                  R                  S5      R	                  S5      [        R                  R                  S5      R	                  S5      S	.5      n[        US
   US   /US   /S[        R                  US   S9n[        / SQ/ SQ// SQ/ SQ/S
S/S9n[        / SQSS9n[        R                  " / SQ/ SQ/ SQS[        R                  S/[        R                  SS/S[        R                  S/[        R                  SS/S[        R                  S/[        R                  SS// SQ/
5      n[        XSUS9nUS   R                  S5      US'   [        R                  " X&5        g )N©r   r   r   Úthreer’   r6   é   ©r   r   r   r   r   r   rS   r   é   ©r   r   r   r   r   r   r   r   Tr   )rJ   rL   r`   r   r€   )rc   r   r  r   )rd   r   r   r   )
rQ   rQ   rQ   r   r   r   r>   r>   r>   r   )
rQ   r   r>   rQ   r   r>   rQ   r   r>   r   ©ÚlevelsÚcodesrK   r¹   rX   )r    r    rª   r    )ç      (@r  g      8@rZ   rc   r.   )r   r   r   r   r   r	   r(   r   r   r[   r£   r-   r*   r+   )r0   r    r1   r  Úexpected_columnr  r2   s          r!   Útest_crosstab_with_numpy_sizeÚ*TestCrosstab.test_crosstab_with_numpy_size  sy  € äâ3°aÑ7Ú$ qÑ(Ú?À!ÑCÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAñó
ˆô Ø�c‘7˜B˜s™GÐ$Ø˜‘W�IØÜ—G‘GØ�c‘7ñ
ˆô $Ú2Ò4GÐHÚ1Ò3QÐRØ˜�*ñ
ˆô
  Ò 5¸CÑ@ˆÜŸšâÚÚØ”b—f‘f˜cÐ"Ü—‘˜˜cÐ"Ø”b—f‘f˜cÐ"Ü—‘˜˜cÐ"Ø”b—f‘f˜cÐ"Ü—‘˜˜cÐ"Ú"ðó
ˆô Ø¸ñ
ˆð # 5™/×0Ñ0°Ó9ˆ�‰Ü
×Ò˜fÕ/r"   c                 ó  • [        [        S5      SS9n[        [        SS5      SS9n[        [        SS5      SS9n[        [        S5      SS9nSS0n[        X5      n[        X5      R                  USS9n[        R
                  " Xg5        [        X/U5      n[        X/U5      R                  US	S
9n[        R
                  " Xg5        [        XAU/5      n[        XAU/5      R                  USS9n[        R
                  " Xg5        g )Nr>   r   rX   rQ   rS   r   Úwaldo)rL   Úaxisr   )rJ   r  )r   Úranger	   Úrename_axisr*   r+   )r0   r”   Ús2_fooÚs2_barÚs3Úmapperr1   r2   s           r!   Útest_crosstab_duplicate_namesÚ*TestCrosstab.test_crosstab_duplicate_namesK  sÿ   € ô ”E˜!“H 5Ñ)ˆÜœ˜a ›¨%Ñ0ˆÜœ˜a ›¨%Ñ0ˆÜ”E˜!“H 7Ñ+ˆð ˜�ˆô ˜"Ó%ˆÜ˜BÓ'×3Ñ3¸FÈÐ3ÐKˆÜ
×Ò˜fÔ/ô ˜2˜,¨Ó+ˆÜ˜R˜L¨"Ó-×9Ñ9ÀÈQÐ9ÐOˆÜ
×Ò˜fÔ/ô ˜" 6˜lÓ+ˆÜ˜B V Ó-×9Ñ9À&ÈqÐ9ÐQˆä
×Ò˜fÕ/r"   rK   rA   rD   r›   rC   c                 ó$  • [        [        S5      US   S9n[        [        SS5      US   S9n[        R                  " [        S5      [        SS5      /US9n[        SUS9R	                  SSS9n[        X#5      n[        R                  " Xe5        g )	Nr>   r   rX   rQ   rS   r‰   rR   )Ú
fill_value)r   r  r   rº   r)   r	   r*   r+   )r0   rK   r”   r•   Úmir2   r1   s          r!   Útest_crosstab_tuple_nameÚ%TestCrosstab.test_crosstab_tuple_nameg  s�   € ä”E˜!“H 5¨¡8Ñ,ˆÜ”E˜!˜Q“K e¨A¡hÑ/ˆä×#Ò#¤U¨1£X¬u°Q¸«{Ð$;À5ÑIˆÜ˜! 2Ñ&×.Ñ.¨q¸QÐ.Ð?ˆä˜"Ó!ˆÜ
×Ò˜fÕ/r"   c           	      ó  • [        [        S5      SS9n[        [        S5      SS9n[        [        R                  " SSS9[        [        S5      SS9[        [        S5      SS9S9n[        X5      n[        R                  " XC5        g )Nr>   r›   rX   )rC   rT   r.   rV   rZ   )	r   r  r   r   Úeyer   r	   r*   r+   )r0   r”   r•   r2   r1   s        r!   Útest_crosstab_both_tuple_namesÚ+TestCrosstab.test_crosstab_both_tuple_namesr  sp   € ä”E˜!“H :Ñ.ˆÜ”E˜!“H :Ñ.ˆäÜ�FŠF�1˜GÑ$Üœ˜a› zÑ2Üœ% ›(¨Ñ4ñ
ˆô
 ˜"Ó!ˆÜ
×Ò˜fÕ/r"   c                 ó  • [        / SQ/ SQS./ SQS9n[        UR                  UR                  UR                  /5      n[        / SQSS9n[        R                  " / S	QS
S/S9n[        / SQ/ SQ/ SQ/X4S9n[        R                  " X%5        g )N)r>   rQ   r   )r;   rS   r’   )rB   rA   ©r   r   r   rR   r6   rG   rX   ))rQ   rS   )r   r’   )r>   r;   rB   rA   r‰   )rQ   r   r   rþ   )r   r   rQ   rZ   )
r   r	   rJ   rB   rA   r   r   r‹   r*   r+   )r0   r    r1   Úe_idxÚ	e_columnsr2   s         r!   Útest_crosstab_unsorted_orderÚ)TestCrosstab.test_crosstab_unsorted_order  sy   € ÜšYªYÑ7ºÑOˆÜ˜"Ÿ(™( R§T¡T¨2¯4©4 LÓ1ˆÜ’o¨GÑ4ˆÜ×*Ò*Ò+CÈCÐQTÈ:ÑVˆ	ÜÚš	¢9Ð-°Uñ
ˆô 	×Ò˜fÕ/r"   c           
      ó.  • [        / SQS-  / SQS-  / SQS-  S/S-  S/S-  S	.5      nS
n[        R                  " [        US9   [	        UR
                  UR                  /UR                  UR                  [        R                  SSS9nS S S 5        [        [        R                  " S/S-  S/-   [        S9R                  SS5      [        / SQSS9[        R                   " / SQSS/S9S9n[        R"                  " WU5        g ! , (       d  f       N�= f)Nr  r’   r6   r	  r
  rS   r   r  r  rÛ   rt   T)r€   r   rÇ   r`   é   rQ   rV   r?   r>   r¹   r   rX   )
)r   r   )r   r   )r   r   )r  r   )r  r   )r  r   )r   r   )r   r   )r   r   rb   r   r   r‰   )rL   rJ   )r   r*   rÜ   rÝ   r	   r   r   r   r   r   r}   r[   ÚfloatÚreshaper   r   r‹   r+   )r0   r    ry   r1   r2   s        r!   Ú(test_crosstab_normalize_multiple_columnsÚ5TestCrosstab.test_crosstab_normalize_multiple_columns‰  s  € äâ3°aÑ7Ú$ qÑ(Ú?À!ÑCØ�S˜2‘XØ�S˜2‘Xñó
ˆð +ˆÜ×'Ò'¬¸SÓAÜØ—‘�r—t‘t�Ø—‘Ø—t‘tÜŸ™ØØñˆF÷ Bô Ü�HŠH�a�S˜2‘X  ‘^¬5Ñ1×9Ñ9¸"¸aÓ@ÜÒ/°cÑ:Ü×(Ò(òð ˜C�jññ
ˆô& 	×Ò˜f hÕ/÷9 BÕAús   ÁADÄ
Dc                 ó|  • [        / SQ/ SQ/ SQ/ SQ/ SQS.5      n[        UR                  UR                  /UR                  SSS	S
9n[        SS/SS/SS/S	S/SS//5      n[        / SQ/ SQ// SQ/ SQ/SS/S9Ul        [        SS/SS9Ul        [        R                  " X#5        [        UR                  UR                  /UR                  SSSS
9n[        / SQ/ SQ/ SQ/ SQ/5      n[        / SQSS9Ul        [        S S!/S"S#/// S$Q/ S%Q/SS/S9Ul        [        R                  " X#5        [        UR                  UR                  /UR                  SSSS
9n[        / S&Q/ S&Q/ S'Q/ S(Q/ S)Q/5      n[        / SQSS9Ul        [        / SQ/ SQ// SQ/ SQ/SS/S9Ul        [        R                  " X#5        g )*N©	r   r   r   r   r   r   r   r   r   ©	r   r   r   r   r   r   r   r   r   ©	ÚsmallÚlarger9  r8  r8  r9  r8  r8  r9  ©	rQ   r   r   r>   r>   rS   r;   r’   r_   ©	r   rS   r;   r;   r’   r’   r	  é	   r<  r  Tú	Sub-Totalr   )r`   rs   rÇ   rÄ   g]QJVUå?çF]kïSUÕ?rQ   ç³Ñ9?ÅqÜ?ç'c`Çá?)r=  r   r   ©rd   r   r   )rQ   rQ   r   r   r   ©rQ   r   rQ   r   r   r   r   r  r9  r8  r   rX   )rÂ   rÀ   ç³Ñ9?ÅqÌ?)rÄ   rÀ   r>  )r   rÈ   rC  )r9  r8  r=  r   r   r   r   )r   r   rQ   rQ   ©r   rQ   r   rQ   )ç³Ñ9?Åq¼?rE  rC  )rC  rE  r>  )rÚ   rC  rC  )r?  g#„GÇá?rQ   )r   r	   r   r   r   r   rJ   r   rL   r*   r+   r/   s       r!   Útest_margin_normalizeÚ"TestCrosstab.test_margin_normalize´  sæ  € äâTÚTò
ò 1Ú0ñó
ˆô( Ø�T‰T�2—4‘4ˆL˜"Ÿ$™$¨¸;ÐRSñ
ˆô Ø�3ˆZ˜#˜s˜ h°Ð%9¸A¸q¸6ÀHÈhÐCWÐXó
ˆô $Ú/Ò1CÐDÚ"¢OÐ4Ø˜�*ñ
ˆŒô
 ! '¨7Ð!3¸#Ñ>ˆÔÜ
×Ò˜fÔ/ô Ø�T‰T�2—4‘4ˆL˜"Ÿ$™$¨¸;ÐRSñ
ˆô â%Ú%Ú$Ú"ð	ó
ˆô !Ò!@ÀsÑKˆÔÜ#Ø˜E�N U¨E NÐ3Ú¢Ð.Ø˜�*ñ
ˆŒô
 	×Ò˜fÔ/ô Ø�T‰T�2—4‘4ˆL˜"Ÿ$™$¨¸;ÐRVñ
ˆô â.Ú.Ú.Ú.Ú'ðó
ˆô !Ò!@ÀsÑKˆÔÜ#Ú/Ò1CÐDÚ"¢OÐ4Ø˜�*ñ
ˆŒô
 	×Ò˜fÕ/r"   c                 óH  • [        / SQ/ SQ/ SQ/ SQ/ SQS.5      n[        UR                  UR                  UR                  /SSSS	9n[        / S
Q/ SQ/ SQ// SQS9n[        / SQ/ SQ// SQ/ SQ/SS/S9Ul        SUR                  l        [        R                  " X#5        g )Nr5  r6  r7  r:  r;  r  TÚmargin)rJ   rL   r`   rs   rÇ   )rE  rE  rC  rÚ   r?  )rE  rE  rE  rC  r@  )rC  rC  r>  rC  rŸ   )r9  r8  rI  rR   )r   r   rI  rA  )r   r   rQ   rQ   r   rB  r   r   r  r   )r   r	   r   r   r   r   rL   rJ   rY   r*   r+   r/   s       r!   Ú&test_margin_normalize_multiple_columnsÚ3TestCrosstab.test_margin_normalize_multiple_columns  s³   € ô âTÚTò
ò 1Ú0ñó
ˆô& Ø—$‘$Ø—T‘T˜2Ÿ4™4�LØØ!Øñ
ˆô âBÚBÚ=ðò
 /ñ
ˆô &Ú,Ò.@ÐAÚ"¢OÐ4Ø˜�*ñ
ˆÔð
 "ˆ�‰ÔÜ
×Ò˜fÕ/r"   c           
      ó  • [        / SQ/ SQ/ SQS.SS9n[        US   US   US	   S
SS9n[        S[        R                  SS/SS[        R                  S// SQ/[	        / SQSSS9[	        / SQSSS9SS9n[
        R                  " X#5        g )N)rQ   r   r   rQ   )r>   r>   rS   r;   )ç      ð¿ç      $@rŸ   rN  r6   ÚFloat64rV   r   r   r   r}   T)r€   r   r`   rM  rN  ç      "@rŸ   g      &@)rP  rŸ   rN  g      4@rž   rŠ   r“   )r©   rª   g      @rc   )rJ   rL   rW   )r   r	   r   ÚNAr   r*   r+   r/   s       r!   Útest_margin_support_FloatÚ&TestCrosstab.test_margin_support_Float.  s¦   € ô Ú¢\Ò8OÑPØñ
ˆô Øˆs‰GØˆs‰GØ�c‘7ØØñ
ˆô à”r—u‘u˜d CÐ(Ø�sœBŸE™E 4Ð(Ú&ðô
 Ò)°ÀÑDÜÒ0¸ÀsÑKØñ	
ˆô 	×Ò˜fÕ/r"   c                 ó\  • [        / SQ/ SQS.5      nUS   R                  [        SS95      US'   / SQnUS   R                  R	                  U5      US'   [        US   US   SS	9n[        / S
QSS9n[        / SQSS9n/ SQ/ SQ/ SQ/ SQ/n[        XdUS9n[        R                  " X75        g )N)r   r   r   r   r   r   )r   r   r   r   r   r   )ÚFirstÚSecondrU  T)rý   r)  rV  )r`   )r   r   r   rc   rX   )r   r   r   rc   )rQ   rQ   r   r   rD  )r   rQ   r   r>   )rQ   r>   r   r’   rZ   )	r   r-   r   rÿ   Úreorder_categoriesr	   r   r*   r+   )r0   r    Úcustomized_categories_orderr1   r  r  r  r2   s           r!   Ú+test_margin_with_ordered_categorical_columnÚ8TestCrosstab.test_margin_with_ordered_categorical_columnH  s¹   € äâ7Ú8ñó
ˆð ˜‘k×(Ñ(Ô)9À$Ñ)GÓHˆˆ7‰Ú&5Ð#Ø˜‘k—o‘o×8Ñ8Ð9TÓUˆˆ7‰Ü˜"˜W™+ r¨(¡|¸TÑBˆäÒ5¸GÑDˆÜ Ò!7¸hÑGÐÚ%¢|²\Â<ÐPˆÜØÐ9Iñ
ˆô 	×Ò˜fÕ/r"   © N)*Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r3   r7   rv   ÚmarkÚparametrizer   r[   ÚlistÚtuplerM   r\   ro   rz   rƒ   r�   r—   r¥   r«   r®   r³   r¶   r»   rÖ   rá   ré   rð   r  r  r  r"  r&  r,  r2  rF  rJ  rR  rY  Ú__static_attributes__r[  r"   r!   r$   r$   E   sþ   † òKò
	0ð ‡[�[×Ñ˜U R§X¡X¨t°UÐ$;Ó<ñ0ó =ð0ò.0ò$3ò<0òd/ò".ò0ò
0ò0ò0ò
0ò0ò=0ò~1
òf$3òL0ò@>ò40ò,+0òZ0ð8 ‡[�[×Ñ˜W¨¨ZÐ'8¸:ÀsÐ:KÐ&LÓMñ0ó Nð0ò0ò0ò)0òVK0òZ+0òZ0õ40r"   r$   Úa_dtyperû   r.   Úb_dtypec                 ó  • [         R                  R                  S5      n[        UR	                  SSSS95      R                  U 5      n[        UR	                  SSSS95      R                  U5      n[        X4SSS9n[        / S	QS
SS9n[        / SQS
SS9n/ SQ/ SQ/ SQ/ SQ/n[        X‡U5      n	[        R                  " XY5        SUR                  US:H  '   [        UR                  [        5      n
U
(       a#  UR                  5       R                  S   S:X  d   e[        X4SSS9n/ SQ/ SQ/ SQ/ SQ/n[        X‡U5      n	U
(       d(  U	R                  / SQ   n	U	S   R                  S5      U	S'   [        R                  " XY5        g )Nr   r   r>   r<   r=   TFrœ   )r   rQ   rc   rŠ   rH   r“   )r   rQ   r   rc   rG   )r?   é   é   )é   é   é'   )é   rk  é!   )é2   ro  r<   rQ   )r   r   r   )é(   é    éH   )r   r   rc   rc   r.   )r   r   r   r   rI   r-   r	   r   r   r*   r+   rh   Ú
isinstancerW   r   Úvalue_counts)re  rf  ÚgrA   rB   r1   rL   rJ   r€   r2   Úa_is_cats              r!   Útest_categoricalsrw  ^  sX  € ô 	�	‰	×Ñ˜aÓ €AÜˆq�z‰z˜!˜Q SˆzÐ)Ó*×1Ñ1°'Ó:€AÜˆq�z‰z˜!˜Q SˆzÐ)Ó*×1Ñ1°'Ó:€AÜ�a D°Ñ7€FÜ’M¨¸Ñ@€GÜÒ"¨(¸ÑA€EÚšLª,ºÐF€FÜ˜¨Ó0€HÜ×Ò˜&Ô+ð €A‡E�Eˆ!ˆq‰&�MÜ˜!Ÿ'™'Ô#3Ó4€HÞ˜1Ÿ>™>Ó+×/Ñ/°Ñ2°aÓ7Ð7Ð7Ü�a D°Ñ7€FÚšI¢|²]ÐC€FÜ˜¨Ó0€HÞØ—<‘<¢Ñ.ˆØ" 5™/×0Ñ0°Ó9ˆ�‰Ü×Ò˜&Õ+r"   )Únumpyr   rv   Úpandasr   r   r   r   r   r   r   r	   Úpandas._testingÚ_testingr*   Úfixturer    r$   r`  ra  rw  r[  r"   r!   Ú<module>r}     s�   ðÛ Û ã ÷÷ ñ õ ð ‡�ñ02ó ð02÷fV0ñ V0ðr ‡�×Ñ˜ Z°Ð$9Ó:Ø‡�×Ñ˜ Z°Ð$9Ó:ñ,ó ;ó ;ñ,r"   