Ë
    ¤ehl ã                   óz  — d dl mZm Z mZ d dlmZ d dlZd dlZd dlZd dl	m
Z
 d dlmZ d dlZd dl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 dlmZ d d	lm Z   ejB                  d
dg¬«      d„ «       Z" ejB                  d gdz  dgdz  f e#d«       e#dd«      fg¬«      d„ «       Z$ G d„ d«      Z% G d„ d«      Z&y)é    )ÚdateÚdatetimeÚ	timedelta)ÚproductN)Úusing_pyarrow_string_dtype)ÚPerformanceWarning)ÚCategoricalÚ	DataFrameÚGrouperÚIndexÚ
MultiIndexÚSeriesÚconcatÚ
date_range)ÚCategoricalDtype)Úreshape©Úpivot_tableTF)Úparamsc                 ó   — | j                   S ©N)Úparam)Úrequests    ú]/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/reshape/test_pivot.pyÚdropnar   !   s   € à�=‰=Ðó    é   é   é   c                 ót   — | j                   \  }}t        t        j                  j	                  |||«      «      S r   )r   r	   ÚpdÚIntervalIndexÚfrom_arrays)r   ÚclosedÚleftÚrights       r   Úinterval_valuesr'   &   s/   € à—-‘-�K€Dˆ%Ü”r×'Ñ'×3Ñ3°D¸%ÀÓHÓIÐIr   c                   óø  — e Zd Zej                  d„ «       Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej(                  j+                  ddddgfdg d¢fdg d¢fg«      d„ «       Zd„ Zd„ Zd„ Zej(                  j+                  dddg«      d„ «       Zej(                  j+                  dddg«      d„ «       Zej(                  j+                  dddg«      d„ «       Zd „ Zej(                  j+                  dddg«      d!„ «       Zd"„ Zej(                  j+                  d#d$d%g e jB                  d$d%g«       e"d$d%g«       e#d$d%g«      g«      ej(                  j+                  dddg«      d&„ «       «       Z$ej(                  j+                  d#d'd$g e jB                  d'd$g«       e"d'd$g«       e#d'd$g«      g«      ej(                  j+                  dddg«      d(„ «       «       Z%d)„ Z&ej(                  jO                  d*¬+«      ej(                  j+                  dddg«      d,„ «       «       Z(ej(                  j+                  dddg«      d-„ «       Z)d.d/gd0gd1fd2„Z*d3„ Z+d4„ Z,ej(                  j+                  d5d.d6g d7¢g d8¢g e#g d9¢d.¬:«      fd.d/gd;g d<¢g d=¢g e-j\                  g d>¢d.d/g¬?«      fg«      d@„ «       Z/dA„ Z0dB„ Z1ej(                  j+                  dCg dD¢«      dE„ «       Z2dF„ Z3dG„ Z4dH„ Z5dI„ Z6dJ„ Z7dK„ Z8dL„ Z9dM„ Z:dN„ Z;ej(                  j+                  dOdPdQdRdSdTdUgg«      dV„ «       Z<dW„ Z=dX„ Z>dY„ Z?dZ„ Z@d[„ ZAd\„ ZBd]„ ZCd^„ ZDd_„ ZEd`„ ZFda„ ZGdb„ ZHdc„ ZIdd„ ZJde„ ZKdf„ ZLdg„ ZMej(                  j+                  dhd;e jœ                  fd6e jž                  fdie j                   fd;d6ge jœ                  e jž                  gfd;dige jœ                  e j                   gfdid6ge j                   e jž                  gfg«      dj„ «       ZQej(                  j¤                  dk„ «       ZSdl„ ZTdm„ ZUej(                  j+                  dnddg«      do„ «       ZVdp„ ZWdq„ ZXdr„ ZYds„ ZZdt„ Z[du„ Z\ej(                  j+                  dvddg«      dw„ «       Z]dx„ Z^dy„ Z_dz„ Z`yS){ÚTestPivotTablec           
      ó:  — t        g d¢g d¢g d¢t        j                  j                  d«      j	                  d«      t        j                  j                  d«      j	                  d«      t        j                  j                  d«      j	                  d«      dœ«      S )N©Úfoor,   r,   r,   Úbarr-   r-   r-   r,   r,   r,   ©Úoner/   r/   Útwor/   r/   r/   r0   r0   r0   r/   )Údullr1   Úshinyr1   r1   r2   r2   r1   r2   r2   r2   é   é   )ÚAÚBÚCÚDÚEÚF)r
   ÚnpÚrandomÚdefault_rngÚstandard_normal)Úselfs    r   ÚdatazTestPivotTable.data-   s}   € äòòòô —Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAñU+ó-
ð -	
r   c                 óh  — ddg}d}t        |d|||¬«      }|j                  d|||¬«      }t        j                  ||«       t        |d||¬«       t        |«      dkD  r$|j                  j
                  t        |«      k(  s J ‚|j                  j                  |d   k(  sJ ‚t        |«      dkD  r|j                  j
                  |k(  s J ‚|j                  j                  |d   k(  sJ ‚|j                  ||gz   «      d   j                  d	«      j                  «       }t        j                  ||«       y )
Nr5   r6   r7   r8   )ÚvaluesÚindexÚcolumnsÚobserved)rB   rC   rE   r   r   Úmean)r   ÚtmÚassert_frame_equalÚlenrC   ÚnamesÚtupleÚnamerD   ÚgroupbyÚaggÚunstack)r?   rE   r@   rC   rD   ÚtableÚtable2Úexpecteds           r   Útest_pivot_tablezTestPivotTable.test_pivot_table^   s(  € Ø�c�
ˆØˆÜØ˜ E°7ÀXô
ˆð ×!Ñ!Ø˜e¨W¸xð "ó 
ˆô 	×Ñ˜e VÔ,ô 	�D ¨E¸HÕEäˆu‹:˜Š>Ø—;‘;×$Ñ$¬¨e«Ò4Ð4Ð4à—;‘;×#Ñ# u¨Q¡xÒ/Ð/Ð/äˆw‹<˜!ÒØ—=‘=×&Ñ&¨'Ò1Ð1Ð1à—=‘=×%Ñ%¨°©Ò3Ð3Ð3à—<‘< ¨¨	Ñ 1Ó2°3Ñ7×;Ñ;¸FÓC×KÑKÓMˆÜ
×Ñ˜e XÕ.r   c                 óÐ  — t        t        d«      t        d«      g d¢dœ«      }|j                  ddddd	¬
«      }|j                  j	                  d«      |_        |j
                  j	                  d«      |_        |j                  j	                  d«      |_        |j                  j	                  d«      |_        |j                  ddddd	|¬«      }t        j                  ||«       y )NÚabcdeÚfghij©r   r3   r   r   é   ©Úcol1Úcol2Úcol3rZ   r\   r[   Úsumr   )rC   rB   rD   ÚaggfuncÚ
fill_valueÚcategory)rC   rB   rD   r^   r_   rE   )
r
   Úlistr   rC   ÚastyperD   rZ   r[   rG   rH   )r?   rE   ÚdfrR   Úresults        r   Ú+test_pivot_table_categorical_observed_equalz:TestPivotTable.test_pivot_table_categorical_observed_equalz   sÏ   € äÜ˜'“]¬D°«MÂ?ÑSó
ˆð —>‘>Ø °ÀÐSTð "ó 
ˆð "Ÿ™×.Ñ.¨zÓ:ˆŒØ#×+Ñ+×2Ñ2°:Ó>ˆÔà—'‘'—.‘. Ó,ˆŒØ—'‘'—.‘. Ó,ˆŒà—‘ØØØØØØð  ó 
ˆô 	×Ñ˜f hÕ/r   c                 óN  — t        g d¢g d¢g d¢dœ«      }|j                  dd¬«      }|j                  dd¬«      j                  }t        j                  ||«       |j                  dd	d
i¬«      }|j                  dd	d
i¬«      j                  }t        j                  ||«       y )N©ÚaÚbÚc©ÚxÚyÚz©r   r3   r   )ÚrowsÚcolsrB   rq   r]   )rD   r^   ©rC   r^   rB   rF   )r
   r   ÚTrG   rH   )r?   rc   ÚrsÚxps       r   Útest_pivot_table_nocolsz&TestPivotTable.test_pivot_table_nocols•   s–   € ÜÚ$ªoÊÑSó
ˆð �^‰^ F°Eˆ^Ó:ˆØ�^‰^ &°%ˆ^Ó8×:Ñ:ˆÜ
×Ñ˜b "Ô%à�^‰^ F°X¸vÐ4Fˆ^ÓGˆØ�^‰^ &°8¸VÐ2Dˆ^ÓE×GÑGˆÜ
×Ñ˜b "Õ%r   c                 ój  — t        dddddœdddddœd	d
dddœdddddœdddddœdœ«      }|j                  ddddgd¬«      }|j                  dddgdd¬«      }t        j                  g d¢ddg¬«      }t	        j
                  |j                  |«       t	        j
                  |j                  |«       y )Ni`ê  i † iPÃ  i0u  )r   r   r3   r   r5   r6   r7   i[ i] i\ i^ rh   ri   rj   Údi€„ i ¡ i@B )ÚamountÚcustomerÚmonthr   Úquantityr|   r{   rz   r   F)r   ))r5   rh   )r5   ri   )r5   rj   )r5   rx   )r6   rh   )r6   ri   )r6   rj   )r6   rx   )r7   rh   )r7   ri   )r7   rj   )r7   rx   ©rJ   )r
   r   r   Úfrom_tuplesrG   Úassert_index_equalrD   rC   )r?   rc   Úpv_colÚpv_indÚms        r   Útest_pivot_table_dropnaz&TestPivotTable.test_pivot_table_dropna¡   sÞ   € Üà#¨°5¸UÑCØ #¨°¸Ñ<Ø#¨°6¸fÑEØ" s¨s°sÑ;Ø '¨F°wÀ7ÑKñó
ˆð —‘Ø˜ *¨iÐ!8Àð  ó 
ˆð —‘Ø˜ YÐ/°Àð  ó 
ˆô ×"Ñ"òð ˜yÐ)ô
ˆô" 	×Ñ˜fŸn™n¨aÔ0Ü
×Ñ˜fŸl™l¨AÕ.r   c                 óx  — t        g d¢g d¢d¬«      }t        g d¢g d¢d¬«      }t        ||g d¢dœ«      }d	}t        j                  t        |¬
«      5  t        |dddgd¬«      }d d d «       t        j                  ||gddg¬«      }t        dg d¢i|¬«      }t        j                  |«       y # 1 sw Y   ŒLxY w)N©rh   rh   ri   ri   )rh   ri   rn   T©Ú
categoriesÚordered)rj   rx   rj   rx   )rj   rx   rm   ©r   r3   r   r   )r5   r6   rB   ú1The default value of observed=False is deprecated©ÚmatchrB   r5   r6   )rB   rC   r   r}   )ç      ð?ç       @ç      @ç      @©rC   )	r	   r
   rG   Úassert_produces_warningÚFutureWarningr   r   r#   rH   )r?   Úcat1Úcat2rc   Úmsgrd   Ú	exp_indexrR   s           r   Útest_pivot_table_categoricalz+TestPivotTable.test_pivot_table_categoricalÆ   s¹   € ÜÚ ª_Àdô
ˆô Ú ª_Àdô
ˆô ˜T¨ºÑEÓFˆØAˆÜ×'Ñ'¬¸SÔAñ 	UÜ  ¨H¸SÀ#¸JÈtÔTˆF÷	Uô ×*Ñ*¨D°$¨<ÀÀS¸zÔJˆ	Ü˜hÒ(<Ð=ÀYÔOˆÜ
×Ñ˜f hÕ/÷	Uð 	Uús   ÁB0Â0B9c                 ó<  — g d¢}t        g d¢g d¢t        d«      dœ«      }|d   j                  t        |d¬«      «      |d<   d	}t	        j
                  t        |¬
«      5  |j                  ddd|¬«      }d d d «       t        g d¢d¬«      }|j                  t        |d¬«      «      }t        g d¢d¬«      }t        g d¢g d¢g d¢g||¬«      }|s*|j                  t        |«      ¬«      j                  d«      }t	        j                  |«       y # 1 sw Y   Œ�xY w)N©rh   ri   rj   rx   )	rh   rh   rh   ri   ri   ri   rj   rj   rj   )	r   r3   r   r   r3   r   r   r3   r   é	   ©r5   r6   r7   r5   F©rˆ   rŠ   r‹   r6   r7   )rC   rD   rB   r   rg   ©rL   ro   )ç        r�   ç      @)r�   r�   ç      @)rŽ   ç      @ç       @©rC   rD   ©rD   Úfloat)r
   Úrangerb   r   rG   r’   r“   r   r   Úreindexr	   rH   )	r?   r   r‡   rc   r–   rd   Úexpected_columnsÚexpected_indexrR   s	            r   Ú$test_pivot_table_dropna_categoricalsz3TestPivotTable.test_pivot_table_dropna_categoricalsÖ   s  € â)ˆ
äâBÚ0Ü˜1“Xñó
ˆð �S‘'—.‘.Ô!1°*ÀeÔ!LÓMˆˆ3‰ØAˆÜ×'Ñ'¬¸SÔAñ 	WØ—^‘^¨#°sÀ3Èv�^ÓVˆF÷	Wä!¢/¸Ô<ÐØ+×2Ñ2Ü˜Z°Ô7ó
Ðô  ¢	°Ô4ˆÜÚšoªÐ?Ø Ø$ô
ˆñ
 à×'Ñ'´¸JÓ0GÐ'ÓH×OÑOÐPWÓXˆHä
×Ñ˜f hÕ/÷!	Wð 	Wús   Á DÄDc           
      ó¨  — t        t        t        j                  ddddgddgd¬«      g d¢dœ«      }d}t	        j
                  t        |¬«      5  |j                  d	d
|¬«      }d d d «       |r	ddg}ddg}ng d¢}g d¢}t        d
|it        t        j                  |ddg|¬«      d	¬«      ¬«      }t	        j                  |«       y # 1 sw Y   ŒexY w)NÚlowÚhighTr†   )rŸ   r�   rŽ   r�   r�   ©r5   r6   rŠ   r‹   r5   r6   ©rC   rB   r   rŽ   r�   r   r   ©rŽ   r�   rŸ   )r   r   éÿÿÿÿrž   r‘   )r
   r	   r;   ÚnanrG   r’   r“   r   r   Ú
from_codesrH   )r?   r   rc   r–   rd   rB   ÚcodesrR   s           r   Ú%test_pivot_with_non_observable_dropnaz4TestPivotTable.test_pivot_with_non_observable_dropnaö   sé   € ää Ü—V‘V˜U F¨E°6Ð:Ø % v˜Ø ôò
 /ñó	
ˆð BˆÜ×'Ñ'¬¸SÔAñ 	JØ—^‘^¨#°cÀ&�^ÓIˆF÷	JáØ˜3�ZˆFØ˜�F‰Eò %ˆFÚˆEÜØ�&ˆMÜÜ×&Ñ&Ø u¨f o¸vôð ô	ô
ˆô 	×Ñ˜f hÕ/÷'	Jð 	Jús   ÁCÃCc           
      ó°  — t        t        g d¢g d¢d¬«      t        d«      dœ«      }d}t        j                  t
        |¬«      5  |j                  d	d
|¬«      }d d d «       t        d
g d¢it        t        j                  g d¢g d¢d¬«      d	¬«      ¬«      }|s|d
   j                  t        «      |d
<   t        j                  |«       y # 1 sw Y   ŒsxY w)N)r%   r­   r®   r­   r®   )r­   r®   r%   Tr†   rX   r¯   rŠ   r‹   r5   r6   r°   r±   )r   r   r3   rž   r‘   )r
   r	   r§   rG   r’   r“   r   r   r´   rb   r¦   rH   )r?   r   rc   r–   rd   rR   s         r   Ú/test_pivot_with_non_observable_dropna_multi_catz>TestPivotTable.test_pivot_with_non_observable_dropna_multi_cat  sÒ   € ää Ú:Ú6Ø ôô
 ˜1“Xñó	
ˆð BˆÜ×'Ñ'¬¸SÔAñ 	JØ—^‘^¨#°cÀ&�^ÓIˆF÷	JäØ’/Ð"ÜÜ×&Ñ&ÚÒ*AÈ4ôð ô	ô
ˆñ Ø$ S™M×0Ñ0´Ó7ˆH�S‰Mä
×Ñ˜f hÕ/÷	Jð 	Jús   ÁCÃCc                 óV  — t        |ddœ«      }d}t        j                  t        |¬«      5  |j	                  dd|¬«      }d d d «       t        ddit        |j                  «       d¬	«      ¬
«      }|s|j                  t        «      }t        j                  |«       y # 1 sw Y   Œ_xY w)Nr   r¯   rŠ   r‹   r5   r6   r°   r�   rž   r‘   )
r
   rG   r’   r“   r   r   Úuniquerb   r¦   rH   )r?   r'   r   rc   r–   rd   rR   s          r   Útest_pivot_with_interval_indexz-TestPivotTable.test_pivot_with_interval_index7  s™   € ä˜_°1Ñ5Ó6ˆàAˆÜ×'Ñ'¬¸SÔAñ 	JØ—^‘^¨#°cÀ&�^ÓIˆF÷	JäØ�#ˆJœe O×$:Ñ$:Ó$<À3ÔGô
ˆñ Ø—‘¤uÓ-ˆHÜ
×Ñ˜f hÕ/÷	Jð 	Jús   ¬BÂB(c           
      óT  — t         j                  j                  g d¢g d¢«      }t        t	        j
                  dddt        j                  ¬«      g d¢t        |d¬	«      j                  d
¬«      dœ«      }d}t        j                  t        |¬«      5  t        |ddddd¬«      }d d d «       d   }t        g d¢t        t        j                  dd«      t        j                  dd«      dgd¬«      dt        j                  ¬«      }t        j                   ||«       y # 1 sw Y   ŒzxY w)N©r   r   r   r   ©r   r   r3   r3   r   r   r²   ©Údtype©rh   ri   rh   ri   Tr�   F)Ú	ascendingrœ   rŠ   r‹   r7   r6   r5   r]   ©rC   rD   rB   r^   ÚmarginsÚAll)r   é   é
   r   r3   rž   )rC   rL   rÀ   )r!   r"   r#   r
   r;   ÚarangeÚintpr	   Úsort_valuesrG   r’   r“   r   r   r   ÚIntervalÚassert_series_equal)r?   Úordered_catrc   r–   Ú	pivot_tabrd   rR   s          r   Ú&test_pivot_with_interval_index_marginsz5TestPivotTable.test_pivot_with_interval_index_marginsE  s   € ä×&Ñ&×2Ñ2²<ÂÓNˆÜä—Y‘Y˜q ! R¬r¯w©wÔ7Ú)Ü  °dÔ;×GÑGØ#ð Hó ñó
ˆð BˆÜ×'Ñ'¬¸SÔAñ 	Ü#Ø˜# s°3ÀÈtôˆI÷	ð
 ˜5Ñ!ˆÜÚÜœŸ™ Q¨Ó*¬B¯K©K¸¸1Ó,=¸uÐEÈCÔPØÜ—'‘'ô	
ˆô 	×Ñ˜v xÕ0÷	ð 	ús   ÂDÄD'c                 ó¨   — |j                  d|j                  |j                  ¬«      }|j                  ddd¬«      }t        j                  ||«       y )Nr8   r¤   r5   r7   )r   r5   r7   rG   rH   ©r?   r@   rd   rR   s       r   Útest_pass_arrayzTestPivotTable.test_pass_arraya  sH   € Ø×!Ñ! #¨T¯V©V¸T¿V¹VÐ!ÓDˆØ×#Ñ# C¨s¸CÐ#Ó@ˆÜ
×Ñ˜f hÕ/r   c                 ó°   — |j                  dd„ |j                  ¬«      }|j                  d|j                  dz  d¬«      }t        j                  ||«       y )Nr8   c                 ó   — | dz  S )NrX   © ©rl   s    r   ú<lambda>z3TestPivotTable.test_pass_function.<locals>.<lambda>g  s
   € °q¸A±v€ r   r¤   rX   r7   )r   r7   rC   rG   rH   rÑ   s       r   Útest_pass_functionz!TestPivotTable.test_pass_functionf  sM   € Ø×!Ñ! #Ñ-=ÀtÇvÁvÐ!ÓNˆØ×#Ñ# C¨t¯z©z¸Q©ÈÐ#ÓLˆÜ
×Ñ˜f hÕ/r   c                 ó¼   — ddg}d}t        |||¬«      }|j                  ||gz   «      j                  d«      j                  «       }t	        j
                  ||«       y )Nr5   r6   r7   r¤   rF   )r   rM   rN   rO   rG   rH   )r?   r@   rC   rD   rP   rR   s         r   Útest_pivot_table_multiplez(TestPivotTable.test_pivot_table_multiplek  sW   € Ø�c�
ˆØˆÜ˜D¨°wÔ?ˆØ—<‘< ¨¨	Ñ 1Ó2×6Ñ6°vÓ>×FÑFÓHˆÜ
×Ñ˜e XÕ.r   c                 ó\  — t        g d¢g d¢g d¢dœ«      }|j                  d   dk(  sJ ‚t        |ddgdgd	d
¬«      }|j                  }t        t	        j
                  d«      gdz  t        t        d«      d¬«      ¬«      }t        j                  ||«       t        g d¢g d¢g d¢dœ«      }|j                  d   dk(  sJ ‚t        |ddgdgd	d¬«      }|j                  }t        t	        j
                  d«      gdz  t        t        d«      d¬«      ¬«      }t        j                  ||«       y )N)ÚcatÚbatrÜ   rÝ   r‰   rÁ   )rh   ÚvÚirÞ   Úint64rh   rß   r   r]   )rB   rC   rD   r_   r^   r3   Úabrž   r‘   )ç      ø?ç      @ç      @ç      @Úfloat64rF   )
r
   Údtypesr   r   r;   rÀ   r   ra   rG   rÌ   )r?   Úfrn   rd   rR   s        r   Útest_pivot_dtypesz TestPivotTable.test_pivot_dtypesr  s"  € äâ1Ú!Ú)ñó
ˆð �x‰x˜‰} Ò'Ð'Ð'äØ�c # °°À!ÈUô
ˆð —‘ˆÜœ2Ÿ8™8 GÓ,Ð-°Ñ1¼¼tÀD»zÐPSÔ9TÔUˆÜ
×Ñ˜v xÔ0ô â1Ú)Ú)ñó
ˆð �x‰x˜‰} 	Ò)Ð)Ð)äØ�c # °°À!ÈVô
ˆð —‘ˆÜœ2Ÿ8™8 IÓ.Ð/°!Ñ3¼5ÄÀdÃÐRUÔ;VÔWˆÜ
×Ñ˜v xÕ0r   zcolumns,valuesÚbool1Úfloat1Úfloat2)rë   rì   rê   Úbool2c                 óL  — t        j                  dt         j                  ¬«      }t        ||dz   |dk  |dk  dœ«      }|j	                  «       j                  d||¬«      }t        |j                  «      }|D �ci c]  }|t        j                  d	«      “Œ }}||k(  sJ ‚y c c}w )
NrX   r¿   rŽ   r3   r   )rë   rì   rê   rí   rC   ©rC   rD   rB   ræ   )	r;   rÈ   ræ   r
   Úreset_indexr   Údictrç   rÀ   )	r?   rD   rB   rÞ   rc   Údf_resrd   ÚcolrR   s	            r   Útest_pivot_preserve_dtypesz)TestPivotTable.test_pivot_preserve_dtypes•  s¤   € ô �I‰I�aœrŸz™zÔ*ˆÜØ A¨¡G°a¸1±fÀqÈAÁvÑNó
ˆð —‘Ó!×-Ñ-Ø 7°6ð .ó 
ˆô �f—m‘mÓ$ˆØ8>Ö?°�CœŸ™ )Ó,Ñ,Ð?ˆÐ?Ø˜Ò!Ð!Ñ!ùò @s   Á:B!c                 ód  — t        j                  g d¢«      }t        dg d¢i|¬«      }|j                  |j                  j
                  |j                  j                  ¬«      }t        j                  ddg«      }|j                  |j                  d   j                  t        j                  «      d¬	«      }t        d
dgdt        j                  ggt        ddgt        j                  ¬«      |¬«      }t!        j"                  ||«       t        g d¢t%        ddd¬«      dœ|¬«      }|j                  |j                  j
                  t'        dd¬«      ¬«      }t        j(                  dgt        j                  dgd¬«      gd dg¬«      }t        ddgt        ddgt        j                  ¬«      |¬«      }t!        j"                  ||«       |j                  t'        d¬«      t'        dd¬«      ¬«      }t        dgt        j                  dgd¬«      |¬«      }t!        j"                  ||«       y )N)ú
2011-01-01z
2011-02-01ú
2011-01-02rö   r÷   r5   rW   r‘   r¤   )r5   r   )r5   r3   r   )Úlevelrã   r�   rŽ   r3   r¿   rö   r8   rX   )ÚfreqÚperiods)r5   Údtrû   ÚME)Úkeyrù   z
2011-01-31zM8[ns]r}   ç      
@ÚYE©rù   r�   z
2011-12-31)r!   ÚDatetimeIndexr
   r   rC   r{   Údayr   r~   Ú
set_levelsÚlevelsrb   r;   Úint32r³   r   rG   rH   r   r   r#   )r?   Úidxrc   ÚresÚexp_columnsÚexps         r   Útest_pivot_no_valuesz#TestPivotTable.test_pivot_no_values¬  så  € ä×ÑÚRó
ˆô ˜š_Ð-°SÔ9ˆØ�n‰n 2§8¡8§>¡>¸2¿8¹8¿<¹<ˆnÓHˆä ×,Ñ,¨h¸Ð-AÓBˆØ!×,Ñ,Ø×Ñ˜qÑ!×(Ñ(¬¯©Ó2¸!ð -ó 
ˆô Ø�3ˆZ˜#œrŸv™v˜Ð'Ü˜˜A˜¤b§h¡hÔ/Øô
ˆô
 	×Ñ˜c 3Ô'äâ$Ü  °CÀÔCñð ô
ˆð �n‰n 2§8¡8§>¡>¼7ÀtÐRVÔ;WˆnÓXˆÜ ×,Ñ,ØˆU”B×$Ñ$ l ^¸8ÔDÐEØ˜�,ô
ˆô Ø�3ˆKœu a¨ V´2·8±8Ô<Àkô
ˆô 	×Ñ˜c 3Ô'à�n‰nÜ˜tÔ$¬g¸$ÀTÔ.Jð ó 
ˆô ØˆEÜ×"Ñ" L >¸Ô=Øô
ˆô
 	×Ñ˜c 3Õ'r   c                 óž   — t        |ddgdddgd¬«      }t        |j                  dgd	¬
«      dddgd¬«      }t        j                  ||«       y )Nr8   r9   r5   r6   r7   r   )rB   rC   rD   r_   r:   r   ©Úaxis)rC   rD   r_   )r   ÚdroprG   rH   rÑ   s       r   Útest_pivot_multi_valuesz&TestPivotTable.test_pivot_multi_valuesÚ  sZ   € ÜØ˜#˜s˜¨3¸¸c¸
Èqô
ˆô Ø�I‰I�s�e !ˆIÓ$¨C¸#¸s¸ÐPQô
ˆô 	×Ñ˜f hÕ/r   c                 ó"  ‡— ˆfd„} |ddg«      } |d«      } |d«      }t        ||gddgd¬«      }t        j                  ||«       ˆfd„} |ddg«      } |d«      } |d«      }t        ||gddgd¬«      }t        j                  ||«       y )Nc                 ó,   •— t        ‰ddgddgd| ¬«      S )Nr8   r9   r5   r6   r7   ©rB   rC   rD   r^   r   ©Úfuncr@   s    €r   r×   z;TestPivotTable.test_pivot_multi_functions.<locals>.<lambda>ä  s   ø€ œØ˜#˜s˜¨C°¨:¸sÈDô
€ r   rF   Ústdr   )Úkeysr  c                 ó.   •— t        ‰ddgddgd| d¬«      S )Nr8   r9   r5   r6   r7   T)rB   rC   rD   r^   rÄ   r   r  s    €r   r×   z;TestPivotTable.test_pivot_multi_functions.<locals>.<lambda>î  s&   ø€ œØØ˜�:Ø˜�*ØØØô
€ r   )r   rG   rH   )r?   r@   rè   rd   ÚmeansÚstdsrR   s    `     r   Útest_pivot_multi_functionsz)TestPivotTable.test_pivot_multi_functionsã  s¡   ø€ ó
ˆñ �F˜E�?Ó#ˆÙ�&“	ˆÙ�‹xˆÜ˜5 $˜-¨v°u¨oÀAÔFˆÜ
×Ñ˜f hÔ/ó
ˆñ �F˜E�?Ó#ˆÙ�&“	ˆÙ�‹xˆÜ˜5 $˜-¨v°u¨oÀAÔFˆÜ
×Ñ˜f hÕ/r   ÚmethodTFc           	      ó¾  — t         j                  }t        dd|dgg d¢g d¢dœ«      }|r|j                  ddd	¬
«      }nt	        j                  |ddd	¬
«      }t        ||d|gd|||g|d||g|||dggt        |dddgd¬«      t        g d¢d¬«      ¬«      }t        j                  ||«       t        j                  |j                  ddd	¬
«      |j                  «       y )NÚR1ÚR2ÚR4)ÚC1ÚC2ÚC3ÚC4)rÇ   é   é   é   rg   rh   ri   rj   rï   r%  rÇ   r$  r&  rž   r¤   )	r;   r³   r
   Úpivotr!   r   rG   rH   rs   )r?   r  r³   rc   rd   rR   s         r   Útest_pivot_index_with_nanz(TestPivotTable.test_pivot_index_with_nanü  sï   € ô �f‰fˆÜà˜D # tÐ,Ú-Ú%ñó
ˆñ Ø—X‘X C°¸S�XÓA‰Fä—X‘X˜b¨°SÀÔEˆFÜà�c˜2˜sÐ#Ø�S˜#˜sÐ#Ø�b˜#˜sÐ#Ø�c˜3 Ð#ð	ô ˜˜d D¨$Ð/°cÔ:ÜÒ2¸Ô=ô	
ˆô 	×Ñ˜f hÔ/Ü
×Ñ˜bŸh™h¨S¸#Àc˜hÓJÈHÏJÉJÕWr   c                 ó*  — t        t        ddd¬«      dt        j                  d«      z   dœ«      }|d   t	        j
                  d«      z
  |d	<   t        j                  x|j                  d
<   |j                  d<   t        j                  x|j                  d<   |j                  d<   |r|j                  dd	d¬«      }nt	        j                  |dd	d¬«      }|j                  «       j                  j                  «       t        |«      k(  sJ ‚|j                  «       D ]$  \  }}|j                  |d   |d	   f   |d   k(  rŒ$J ‚ |r|j                  d	dd¬«      }nt	        j                  |d	dd¬«      }t        j                  ||j                   «       y )Nz
2014-02-01é   r8   )rú   rù   éd   )rh   rj   rh   z
2014-02-02ri   )r   rh   )r   rh   ©r   ri   )r   ri   rj   rï   )r
   r   r;   rÈ   r!   Ú	Timestampr³   Úlocr'  ÚnotnarB   r]   rI   ÚiterrowsrG   rH   rs   )r?   r  rc   ÚpvÚ_Úrowrd   s          r   Útest_pivot_index_with_nan_datesz.TestPivotTable.test_pivot_index_with_nan_dates  s\  € ô ä °a¸cÔBØœ2Ÿ9™9 Q›<Ñ'ñó
ˆð �S‘'œBŸL™L¨Ó6Ñ6ˆˆ3‰Ü*,¯&©&Ð0ˆ�‰ˆv‰˜Ÿ™ ™Ü*,¯&©&Ð0ˆ�‰ˆv‰˜Ÿ™ ™áØ—‘ ¨S¸�Ó=‰Bä—‘˜" C°¸SÔAˆBØ�x‰x‹z× Ñ ×$Ñ$Ó&¬#¨b«'Ò1Ð1Ð1à—k‘k“mò 	:‰FˆAˆsØ—6‘6˜#˜c™( C¨¡HÐ,Ñ-°°S±Ó9Ð9Ð9ð	:ñ Ø—X‘X C°¸S�XÓA‰Fä—X‘X˜b¨°SÀÔEˆFÜ
×Ñ˜f b§d¡dÕ+r   c                 óì  — t        t        j                  t        ddddd«      t        ddddd«      t        ddddd«      t        ddddd«      gd|› d�¬«      t        j                  t        d	dddd«      t        d	dddd«      t        d	dddd«      t        d	dddd«      gd|› d
�¬«      t	        j
                  dd¬«      t	        j
                  dd¬«      dœ«      }t        g d¢«      }t        j                  ddgdz  dd|› d
�¬«      }t        j                  ||g«      }t        j                  ddgdd|› d�¬«      }t        g d¢g d¢g||¬«      }|r|j                  dd¬«      }	nt        j                  |dd¬«      }	t        j                  |	|«       t        ddgddgg||d d ¬«      }|r|j                  ddd¬«      }	nt        j                  |ddd¬«      }	t        j                  |	|«       y )NéÝ  r   r›   r   r3   zM8[z, US/Pacific]r¿   éÞ  z, Asia/Tokyo]r   rà   )Údt1Údt2Údata1Údata2©r:  r:  r;  r;  z2014/01/01 09:00z2014/01/02 09:00r9  ©rL   rÀ   z2013/01/01 09:00z2013/01/02 09:00r8  ©r   r3   r   r3   ©r   r   r   r   r¤   r   r:  rï   )r
   r!   r  r   r;   rÈ   r   r   r#   r'  rG   rH   )
r?   r  Úunitrc   Úexp_col1Úexp_col2Úexp_colÚexp_idxrR   r1  s
             r   Útest_pivot_with_tzz!TestPivotTable.test_pivot_with_tz4  s$  € ô ä×'Ñ'ä   q¨!¨Q°Ó2Ü   q¨!¨Q°Ó2Ü   q¨!¨Q°Ó2Ü   q¨!¨Q°Ó2ð	ð   ˜v ]Ð3ôô ×'Ñ'ä   q¨!¨Q°Ó2Ü   q¨!¨Q°Ó2Ü   q¨!¨Q°Ó2Ü   q¨!¨Q°Ó2ð	ð   ˜v ]Ð3ôô Ÿ™ 1¨GÔ4ÜŸ™ 1¨GÔ4ñ)ó
ˆô2 Ò=Ó>ˆÜ×#Ñ#ØÐ!3Ð4°qÑ8ØØ˜�v˜]Ð+ô
ˆô
 ×(Ñ(¨(°HÐ)=Ó>ˆÜ×"Ñ"ØÐ!3Ð4ØØ˜�v˜]Ð+ô
ˆô
 Úš<Ð(ØØô
ˆñ Ø—‘ ¨u�Ó5‰Bä—‘˜" E°5Ô9ˆBÜ
×Ñ˜b (Ô+äØ�ˆV�a˜�VÐØØ˜R˜a�Lô
ˆñ Ø—‘ ¨u¸W�ÓE‰Bä—‘˜" E°5ÀÔIˆBÜ
×Ñ˜b (Õ+r   c                 ó$  — t        dt        j                  dd¬«      dœdt        j                  dd¬«      dœdt        j                  dd¬«      dœdt        j                  dd¬«      dœdt        j                  d	d¬«      dœg«      }|j                  d
«      j	                  «       }|j
                  j                  d„ «      }t        |j                  d
«      j	                  «       d
dg|gd¬«      }t        t        j                  dd¬«      t        j                  dd¬«      ggt        dgd¬«      t        j                  t        j                  dd¬«      t        j                  dd¬«      gd
¬«      ¬«      }t        j                  ||«       y )NÚaaz2016-08-12 13:00:00-0700z
US/Pacific)Útz)ÚuidÚtsz2016-08-12 08:00:00-0700z2016-08-12 14:00:00-0700z2016-08-25 11:00:00-0700z2016-08-25 13:00:00-0700rJ  c                 ó,   — | j                  dddd¬«      S )Nr   )ÚhourÚminuteÚsecondÚmicrosecond)ÚreplacerÖ   s    r   r×   z8TestPivotTable.test_pivot_tz_in_values.<locals>.<lambda>�  s   €  1§9¡9°!¸AÀaÐUV 9Ó#W€ r   rI  Úminr  rž   z2016-08-12 00:00:00z2016-08-25 00:00:00r¤   )r
   r!   r-  Ú	set_indexrð   rJ  Úmapr   r   r  rG   rH   )r?   rc   Úminsrd   rR   s        r   Útest_pivot_tz_in_valuesz&TestPivotTable.test_pivot_tz_in_valuest  su  € äð  ÜŸ,™,Ð'AÀlÔSñð
  ÜŸ,™,Ð'AÀlÔSñð
  ÜŸ,™,Ð'AÀlÔSñð
  ÜŸ,™,Ð'AÀlÔSñð
  ÜŸ,™,Ð'AÀlÔSñð#ó
ˆð2 �\‰\˜$Ó×+Ñ+Ó-ˆØ�u‰u�y‰yÑWÓXˆäØ�L‰L˜Ó×*Ñ*Ó,ØØ�'Ø�FØô
ˆô ô —L‘LÐ!;ÀÔMÜ—L‘LÐ!;ÀÔMððô ˜˜ UÔ+Ü×$Ñ$ä—L‘LÐ!6¸<ÔHÜ—L‘LÐ!6¸<ÔHðð ôô
ˆô  	×Ñ˜f hÕ/r   c           
      ó>  — t        t        j                  dd«      t        j                  dd«      t        j                  dd«      t        j                  dd«      gt        j                  dd«      t        j                  dd«      t        j                  dd«      t        j                  dd«      gt        j                  dd¬	«      t        j                  dd¬	«      d
œ«      }t        g d¢«      }t        j                  ddgdz  dd¬«      }t        j                  ||g«      }t        g d¢g d¢gt        j                  ddgdd¬«      |¬«      }|r|j                  dd¬«      }nt        j                  |dd¬«      }t        j                  ||«       t        ddgddggt        j                  ddgdd¬«      t        j                  ddgdd¬«      ¬«      }|r|j                  ddd¬«      }nt        j                  |ddd¬«      }t        j                  ||«       y )Nz
2013-01-01r8   z
2013-01-02z2013-01ÚMz2013-02r   rà   r¿   )Úp1Úp2r:  r;  r<  r3   rY  )rL   rù   r>  r?  rX  r¤   r   r   r   r:  rï   )r
   r!   ÚPeriodr;   rÈ   r   ÚPeriodIndexr   r#   r'  rG   rH   )r?   r  rc   rA  rB  rC  rR   r1  s           r   Útest_pivot_periodsz!TestPivotTable.test_pivot_periods«  sÏ  € äô —I‘I˜l¨CÓ0Ü—I‘I˜l¨CÓ0Ü—I‘I˜l¨CÓ0Ü—I‘I˜l¨CÓ0ð	ô —I‘I˜i¨Ó-Ü—I‘I˜i¨Ó-Ü—I‘I˜i¨Ó-Ü—I‘I˜i¨Ó-ð	ô Ÿ™ 1¨GÔ4ÜŸ™ 1¨GÔ4ñó
ˆô& Ò=Ó>ˆÜ—>‘> 9¨iÐ"8¸1Ñ"<À4ÈcÔRˆÜ×(Ñ(¨(°HÐ)=Ó>ˆÜÚš<Ð(Ü—.‘. ,°Ð!=ÀDÈsÔSØô
ˆñ
 Ø—‘ ¨d�Ó3‰Bä—‘˜" D°$Ô7ˆBÜ
×Ñ˜b (Ô+äØ�ˆV�a˜�VÐÜ—.‘. ,°Ð!=ÀDÈsÔSÜ—N‘N I¨yÐ#9ÀÈ3ÔOô
ˆñ
 Ø—‘ ¨d¸7�ÓC‰Bä—‘˜" D°$¸wÔGˆBÜ
×Ñ˜b (Õ+r   c           
      óº  — t        g d¢t        j                  d«      t        j                  d«      t        j                  d«      t        j                  d«      gddœ«      }t        dt        g d¢d¬«      t        t        j                  d«      t        j                  d«      d	gd
¬«      ¬«      }|j	                  dd
dd¬«      }t        j                  ||«       y )Nr¾   Ú2019Q1Ú2019Q2r�   )rh   ri   rl   ©r   r3   rÅ   rh   rž   rÅ   ri   ©r@   rC   rD   rl   T)rC   rD   rB   rÄ   )r
   r!   rZ  r   r   rG   rH   )r?   rc   rR   rd   s       r   Útest_pivot_periods_with_marginsz.TestPivotTable.test_pivot_periods_with_marginsÙ  s³   € äâ!ä—I‘I˜hÓ'Ü—I‘I˜hÓ'Ü—I‘I˜hÓ'Ü—I‘I˜hÓ'ð	ð ñ	ó
ˆô ØÜš¨CÔ0Üœ2Ÿ9™9 XÓ.´·	±	¸(Ó0CÀUÐKÐRUÔVô
ˆð —‘ c°3¸sÈD�ÓQˆÜ
×Ñ˜h¨Õ/r   rB   ÚbazÚzooc                 óx  — t        g d¢g d¢g d¢g d¢dœ«      }|r|j                  dd|¬«      }nt        j                  |dd|¬«      }g d	¢g d
¢g}t        ddgd¬«      }t	        ddgg d¢gg d¢g d¢gd dg¬«      }t        |||¬«      }|d   j                  t        «      |d<   t        j                  ||«       y )N©r/   r/   r/   r0   r0   r0   ©r5   r6   r7   r5   r6   r7   ©r   r3   r   r   rX   r*  ©rl   rm   rn   ÚqÚwÚt©r,   r-   rc  rd  r,   r-   rï   )r   r3   r   rl   rm   rn   )r   rX   r*  rj  rk  rl  r/   r0   ©r@   rL   rc  rd  rœ   )r   r   r   r   r   r   )r   r   r3   r   r   r3   ©r  rµ   rJ   ra  )	r
   r'  r!   r   r   rb   ÚobjectrG   rH   ©	r?   rB   r  rc   rd   r@   rC   rD   rR   s	            r   Ú test_pivot_with_list_like_valuesz/TestPivotTable.test_pivot_with_list_like_valuesñ  sÅ   € ô âAÚ5Ú)Ú5ñ	ó
ˆñ Ø—X‘X E°5À�XÓH‰Fä—X‘X˜b¨°uÀVÔLˆFâ(Ò*BÐCˆÜ˜E 5˜>°Ô6ˆÜØ˜E�N¢OÐ4Ú%Ò'9Ð:Ø˜�-ô
ˆô
  $¨e¸WÔEˆØ" 5™/×0Ñ0´Ó8ˆ�‰Ü
×Ñ˜f hÕ/r   r-   c           	      óø  — t        g d¢g d¢g d¢g d¢dœ«      }|r|j                  dd|¬«      }nt        j                  |dd|¬«      }t        j                  d	t        j                  d
gt        j                  dt        j                  dgt        j                  dt        j                  dgd	t        j                  dt        j                  gdt        j                  dt        j                  gdt        j                  dt        j                  gg}t        g d¢d¬«      }t        ddgddggg d¢g d¢gd dg¬«      }t        |||¬«      }|d   j                  t        «      |d<   t        j                  ||«       y )Nrf  rg  rh  ri  rm  rd  r,   rï   r5   r   r7   r*  r6   rX   r   r3   r   )rj  rl  rk  rl   rm   rn   rn  r-   rc  r/   r0   r½   ©r   r   r   r   ro  ra  )r
   r'  r!   r;   r³   r   r   rb   rp  rG   rH   rq  s	            r   Ú%test_pivot_with_list_like_values_nansz4TestPivotTable.test_pivot_with_list_like_values_nans  s=  € ô âAÚ5Ú)Ú5ñ	ó
ˆñ Ø—X‘X E°5À�XÓH‰Fä—X‘X˜b¨°uÀVÔLˆFô �V‰V�Sœ"Ÿ&™& !Ð$Ü�V‰V�Sœ"Ÿ&™& !Ð$Ü�V‰V�Sœ"Ÿ&™& !Ð$Ø”"—&‘&˜!œRŸV™VÐ$Ø”"—&‘&˜!œRŸV™VÐ$Ø”"—&‘&˜!œRŸV™VÐ$ð
ˆô Ò9ÀÔFˆÜØ˜E�N U¨E NÐ3Ú¢Ð.Ø˜�-ô
ˆô
  $¨e¸WÔEˆØ" 5™/×0Ñ0´Ó8ˆ�‰Ü
×Ñ˜f hÕ/r   c                 ó¸   — t        g d¢g d¢g d¢dœ«      }d}t        j                  t        |¬«      5  |j	                  dd¬«       d d d «       y # 1 sw Y   y xY w)	Nrg   ro   rY   z=pivot\(\) missing 1 required keyword-only argument: 'columns'r‹   rZ   r\   )rC   rB   ©r
   ÚpytestÚraisesÚ	TypeErrorr'  )r?   rc   r–   s      r   Ú#test_pivot_columns_none_raise_errorz2TestPivotTable.test_pivot_columns_none_raise_errorB  sK   € ä¢ºÊIÑVÓWˆØNˆÜ�]‰]œ9¨CÔ0ñ 	2Ø�H‰H˜6¨&ˆHÔ1÷	2÷ 	2ñ 	2ús   ³AÁAzBMultiIndexed unstack with tuple names fails with KeyError GH#19966©Úreasonc                 ó   — t        g d¢¬«      }g d¢g d¢g d¢g d¢g d¢g d¢g}t        d	d
gddggg d¢g d¢g¬«      }t        |||d¬«      }|r|j                  ddd¬«      }nt	        j                  |ddd¬«      }t        ddgddg¬«      t        ddgddg¬«      t        ddgddg¬«      dœ}t        |«      }t        j                  ||«       y ) N©r   r   r3   r   r   rX   )r@   )r/   r5   r   rl   )r/   r6   r3   rm   )r/   r7   r   rn   )r0   r5   r   rj  )r0   r6   rX   rk  )r0   r7   r*  rl  r-   rc  ÚfirstrN  r½   rt  )r  rµ   rp  )r@   rC   rD   rÀ   )r-   r€  )r-   rN  )rc  r€  rï   r   r   r/   r0   r‘   r3   rX   r   r*  rœ   )r   r   r
   r'  r!   r   rG   rH   )r?   r  rC   r@   rD   rc   rd   rR   s           r   Útest_pivot_with_multiindexz)TestPivotTable.test_pivot_with_multiindexI  sô   € ô Ò-Ô.ˆâ Ú Ú Ú Ú Ú ð
ˆô Ø˜E�N W¨hÐ$7Ð8Ú¢Ð.ô
ˆô ˜D¨°wÀhÔOˆÙØ—X‘XØ&Ø)Ø'ð ó ‰Fô —X‘XØØ&Ø)Ø'ô	ˆFô ˜˜A˜ u¨e nÔ5Ü˜˜A˜ u¨e nÔ5Ü˜˜A˜ u¨e nÔ5ñ
ˆô
 ˜T“?ˆÜ
×Ñ˜f hÕ/r   c                 óô   — t        g d¢g d¢g d¢g d¢dœ«      }t        j                  t        d¬«      5  |r|j	                  dd	d
¬«       nt        j                  |dd	d
¬«       d d d «       y # 1 sw Y   y xY w)Nrf  rg  rh  ri  rm  z^\('bar', 'baz'\)$r‹   rd  r,   )r-   rc  rï   )r
   rx  ry  ÚKeyErrorr'  r!   )r?   r  rc   s      r   Útest_pivot_with_tuple_of_valuesz.TestPivotTable.test_pivot_with_tuple_of_valuess  sp   € ô âAÚ5Ú)Ú5ñ	ó
ˆô �]‰]œ8Ð+@ÔAñ 	PáØ—‘˜u¨e¸N�ÕKä—‘˜ 5°%ÀÕO÷	P÷ 	Pñ 	Pús   ´1A.Á.A7r5   r6   r7   rÅ   c                 ó&  — |j                   |j                  d d |f   }|j                  |«      |   j                  «       }t	        j
                  ||d¬«       |j                  |k(  sJ ‚|j                  «       }|j                   |df   j                  d d }	|j                  |«      |   j                  «       }
t	        j
                  |	|
d¬«       |	j                  |dfk(  sJ ‚|j                   |df|f   }||   j                  «       }||k(  sJ ‚y )Nr²   F©Úcheck_namesÚ )	r.  rC   rM   rF   rG   rÌ   rL   Ú
sort_indexÚiloc)r?   rd   Ú
values_colr@   rC   rD   Úmargins_colÚcol_marginsÚexpected_col_marginsÚindex_marginsÚexpected_ix_marginsÚgrand_total_marginsÚexpected_total_marginss                r   Ú_check_outputzTestPivotTable._check_output…  s  € ð —j‘j §¡¨c¨rÐ!2°KÐ!?Ñ@ˆØ#Ÿ|™|¨EÓ2°:Ñ>×CÑCÓEÐÜ
×Ñ˜{Ð,@ÈeÕTØ×Ñ ;Ò.Ð.Ð.à×"Ñ"Ó$ˆØŸ
™
 K°Ð#4Ñ5×:Ñ:¸3¸BÐ?ˆà"Ÿl™l¨7Ó3°JÑ?×DÑDÓFÐÜ
×Ñ˜}Ð.AÈuÕUØ×!Ñ! k°2Ð%6Ò6Ð6Ð6à$Ÿj™j¨+°rÐ):¸KÐ)GÑHÐØ!% jÑ!1×!6Ñ!6Ó!8ÐØ"Ð&<Ò<Ð<Ñ<r   c                 óL  — |j                  dddgddd¬«      }| j                  |d|«       |j                  dddgdddd¬	«      }| j                  |d|d¬
«       |j                  ddgddd¬«      }|j                  j                  d   D ]  }| j                  ||   ||«       Œ y )Nr8   r5   r6   r7   TrF   )rB   rC   rD   rÄ   r^   ÚTotals)rB   rC   rD   rÄ   r^   Úmargins_name)rŒ  ©rC   rD   rÄ   r^   r   )r   r“  rD   r  )r?   r@   rd   rP   Ú	value_cols        r   Útest_marginszTestPivotTable.test_marginsž  sÝ   € à×!Ñ!Ø˜s C˜j°#¸tÈVð "ó 
ˆð 	×Ñ˜6 3¨Ô-ð ×!Ñ!ØØ˜�*ØØØØ!ð "ó 
ˆð 	×Ñ˜6 3¨¸(ÐÔCð × Ñ Ø˜�* c°4Àð !ó 
ˆð Ÿ™×-Ñ-¨aÑ0ò 	BˆIØ×Ñ˜u YÑ/°¸DÕAñ	Br   c                 ó   — |j                   D �cg c]  }|dz  ‘Œ	 c}|_         t        j                  d«      }t        j                  t
        |¬«      5  |j                  ddgdd¬«       d d d «       |j                  d	¬
«      j                  ddgdd¬«      }|j                   D ]+  }|j                  d|f   }|||   j                  «       k(  rŒ+J ‚ t        j                  t
        |¬«      5  |j                  ddgdd¬«       d d d «       |j                  d	¬
«      j                  ddgdd¬«      }dD ]+  }|j                  d|f   }|||   j                  «       k(  rŒ+J ‚ y c c}w # 1 sw Y   ŒÿxY w# 1 sw Y   ŒqxY w)Nr3   ú&agg function failed [how->mean,dtype->r‹   ÚAAÚBBTrF   )rC   rÄ   r^   ÚCCr¥   ©rÅ   rˆ  )ÚDDÚEEÚFF)
rD   ÚreÚescaperx  ry  rz  r   r  r.  rF   )r?   r@   Úkr–   rP   r˜  ÚtotalsÚitems           r   Útest_no_colzTestPivotTable.test_no_col·  sŠ  € ð (,§|¡|Ö4 !˜˜A›Ò4ˆŒÜ�i‰iÐ@ÓAˆÜ�]‰]œ9¨CÔ0ñ 	OØ×Ñ D¨$ <¸ÀvÐÔN÷	Oà—	‘	 $�	Ó'×3Ñ3Ø˜�,¨°fð 4ó 
ˆð Ÿ™ò 	4ˆIØ—Y‘Y˜{¨IÐ5Ñ6ˆFØ˜T )™_×1Ñ1Ó3Ó3Ð3Ð3ð	4ô �]‰]œ9¨CÔ0ñ 	OØ×Ñ D¨$ <¸ÀvÐÔN÷	Oà—	‘	 $�	Ó'×3Ñ3Ø˜�,¨°fð 4ó 
ˆð 'ò 	/ˆDØ—Y‘Y˜{¨DÐ0Ñ1ˆFØ˜T $™ZŸ_™_Ó.Ó.Ð.Ð.ñ	/ùò! 5÷	Oð 	Oú÷	Oð 	Oús   �E#ÁE(Ã-E4Å(E1Å4E=z*columns, aggfunc, values, expected_columnsrF   )ç      @r©  çš™™™™™@rª  )r£   r£   çš™™™™™@r«  )r-   rÅ   r,   rÅ   rž   r]   )r›   é   é   rX   r*  r4   )é   é   é    r4   r4   r­  ))r-   r/   )r-   r0   )r-   rÅ   )r,   r/   )r,   r0   )r,   rÅ   r}   c                 óÈ  — t        g d¢g d¢g d¢g d¢g d¢dœ«      }|dk7  rMt        j                  d«      }t        j                  t
        |¬	«      5  |j                  |d
|¬«       d d d «       d|vr|j                  d¬«      }|j                  d¬«      j                  |d
|¬«      }t        |t        ddg«      |¬«      }t        j                  ||«       y # 1 sw Y   ŒsxY w)N©	r,   r,   r,   r,   r,   r-   r-   r-   r-   ©	r/   r/   r/   r0   r0   r/   r/   r0   r0   ©	ÚsmallÚlarger¶  rµ  rµ  r¶  rµ  rµ  r¶  ©	r   r3   r3   r   r   r   rX   r*  rÆ   ©	r3   r   rX   rX   r*  r*  é   r›   r›   ©r5   r6   r7   r8   r9   r]   r›  r‹   T)rD   rÄ   r^   r6   r¥   r7   r8   r9   r¤   )r
   r£  r¤  rx  ry  rz  r   r  r   rG   rH   )	r?   rD   r^   rB   r©   rc   r–   rd   rR   s	            r   Ú%test_margin_with_only_columns_definedz4TestPivotTable.test_margin_with_only_columns_definedÏ  sâ   € ôD âTÚTò
ò 1Ú0ñó
ˆð& �eÒÜ—)‘)ÐDÓEˆCÜ—‘œy°Ô4ñ OØ—‘ w¸Àg�ÔN÷Oà�gÑØ—‘ �Ó%ˆBØ—‘ �Ó%×1Ñ1Ø T°7ð 2ó 
ˆô ˜V¬5°#°s°Ó+<ÐFVÔWˆä
×Ñ˜f hÕ/÷Oð Oús   ÁCÃC!c                 óì  — |j                  «       }t        j                  t        |«      dz  «      j	                  t        |«      d«      j                  d«      |g d¢<   t        t        ddgddg«      «      dgz   }t        j                  |d	¬
«      }t        g d¢g d¢dœ|¬«      j                  dd¬«      }|d   |d   z   |d<   |j                  dddgdddd¬«      }t        j                  ||«       y )Nr   Úi8)r8   r9   r:   r-   r,   r/   r0   rŸ  r¯   r}   )é   é   r   r›   é-   )é!   r   é$   é3   éx   ©r1   r2   r‘   r7   r   r  r1   r2   rÅ   r8   r5   r6   Tr]   r   ©rB   rC   rD   rÄ   r^   r_   )Úcopyr;   rÈ   rI   r   rb   ra   r   r   r~   r
   Úrename_axisr   rG   rH   )r?   r@   rc   Úmi_valÚmirR   rd   s          r   Útest_margins_dtypez!TestPivotTable.test_margins_dtype  sô   € ð �Y‰Y‹[ˆÜ Ÿi™i¬¨B«°!©Ó4×<Ñ<¼SÀ»WÀaÓH×OÑOÐPTÓUˆŠ?Ñä”g˜u e˜n¨u°e¨nÓ=Ó>À+ÀÑNˆÜ×#Ñ# F°*Ô=ˆÜÚ'Ò2FÑGÈrô
ç
‰+�c ˆ+Ó
"ð 	ð # 6Ñ*¨X°gÑ->Ñ>ˆ�‰à—‘ØØ˜�*ØØØØð  ó 
ˆô 	×Ñ˜h¨Õ/r   c                 ó8  — t        t        ddgddg«      «      dgz   }t        j                  |d¬«      }t	        g d¢g d	¢d
œ|¬«      j                  dd¬«      }|d   |d   z   |d<   |j                  dddgddt        d¬«      }t        j                  ||«       y )Nr-   r,   r/   r0   rŸ  r¯   r}   )r   r   r3   r   rX   )r3   r   r3   r3   r*  rÅ  r‘   r7   r   r  r1   r2   rÅ   r8   r5   r6   Tr   rÆ  )
ra   r   r   r~   r
   rÈ  r   rI   rG   rH   )r?   r@   rÉ  rÊ  rR   rd   s         r   Útest_margins_dtype_lenz%TestPivotTable.test_margins_dtype_len)  s°   € Ü”g˜u e˜n¨u°e¨nÓ=Ó>À+ÀÑNˆÜ×#Ñ# F°*Ô=ˆÜÚ$ªÑ?Àrô
ç
‰+�c ˆ+Ó
"ð 	ð # 6Ñ*¨X°gÑ->Ñ>ˆ�‰à×!Ñ!ØØ˜�*ØØÜØð "ó 
ˆô 	×Ñ˜h¨Õ/r   rq   ))r   r3   ©rh   ri   r,  )rh   r   c           	      ó   — t        |d   g d¢|d   g d¢dg d¢i«      }|j                  d|¬«      }t        g d¢gt        j                  g d¢|¬	«      t	        dgt
        ¬
«      ¬«      }t        j                  ||«       y )Nr   ro   r   rÞ   )r   rX   r*  )rB   rD   )r�   r¢   r    ))r   r   )r3   r3   )r   r   r}   r¿   ©rD   rC   )r
   r   r   r~   r   rp  rG   rH   )r?   rq   Údf2rd   rR   s        r   Ú test_pivot_table_multiindex_onlyz/TestPivotTable.test_pivot_table_multiindex_only<  st   € ô ˜˜a™¢)¨T°!©W²iÀÂiÐPÓQˆà—‘¨°T�Ó:ˆÜÚÐÜ×*Ñ*Ò+CÈ4ÔPÜ˜˜¤VÔ,ô
ˆô 	×Ñ˜f hÕ/r   c                 ól  — t        ddd¬«      }t        t        j                  j	                  d«      j                  d«      t        j                  j	                  d«      j                  d«      |dœ«      }|j                  ddgd	¬
«      }|j                  j                  d   j                  |«      sJ ‚y )Nz
2016-01-01r   zEurope/Amsterdam)rú   rH  r3   rœ   r6   r7   F)rC   r   r   )
r   r
   r;   r<   r=   r>   r   rC   r  Úequals)r?   Údtirc   rd   s       r   Útest_pivot_table_retains_tzz*TestPivotTable.test_pivot_table_retains_tzJ  sš   € Ü˜¨qÐ5GÔHˆÜä—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸aÓ@Ü—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸aÓ@Øñó
ˆð —‘ s¨C j¸�Ó?ˆð �|‰|×"Ñ" 1Ñ%×,Ñ,¨SÔ1Ð1Ñ1r   c                 ó€  — t         j                  }t        t        ddgg d¢ddgt	        d«      D �cg c]  }|t        |«      z   ‘Œ c}dg«      «      }t        |«      }|j                  dg d	¢d
g¬«      }|j                  t        ¬«      }|j                  dg d¢dg¬«      }t        j                  ||d¬«       y c c}w )Nr,   r-   rœ   Úx1Úx2r&  r�   r   )r   r   r   r3   )rB   rC   rD   r¥   Ú4)Ú0Ú1Ú3Ú2Fr†  )r   rQ  ra   r   r§   r   r
   r   ÚrenameÚstrrG   rH   )r?   rx   rß   r@   rc   rP   rÑ  rQ   s           r   Útest_pivot_integer_columnsz)TestPivotTable.test_pivot_integer_columnsX  s®   € ô �H‰HˆÜÜØ˜�ÚØ�t�Ü+0°«9Ö5 a�”Y˜q“\Ó!Ò5Ø�óó
ˆô �t‹_ˆØ—‘ aªyÀ1À#�ÓFˆà�i‰i¤ˆiÓ$ˆØ—‘¨²?ÈSÈE�ÓRˆä
×Ñ˜e V¸Ö?ùò 6s   ±B;c                 ó®  — t        g d¢dz  g d¢dz  dgdz  dgdz  z   dz  t        j                  j                  d«      j	                  d«      dœ«      }|j                  d	d
ddg¬«      }|j                  g d¢«      d	   j                  «       }|j                  d«      j                  d«      j                  dd¬«      }t        j                  ||«       y )N)rh   rh   rh   rh   ri   ri   ri   ri   r3   )r   r   r   r   r   r   r   r   r,   r   r-   é   )rh   ri   rj   Úvaluerä  rh   ri   rj   r¤   rg   r   Úall)r  Úhow)r
   r;   r<   r=   r>   r   rM   rF   rO   r   rG   rH   )r?   r@   rP   ÚgroupedrR   s        r   Útest_pivot_no_level_overlapz*TestPivotTable.test_pivot_no_level_overlapm  sË   € ô â=ÀÑAÚ-°Ñ1Ø�g ‘k U G¨a¡KÑ/°1Ñ4ÜŸ™×.Ñ.¨qÓ1×AÑAÀ"ÓEñ	ó
ˆð × Ñ  °¸cÀ3¸ZÐ ÓHˆà—,‘,šÓ/°Ñ8×=Ñ=Ó?ˆØ—?‘? 3Ó'×/Ñ/°Ó4×;Ñ;ÀÈÐ;ÓNˆÜ
×Ñ˜e XÕ.r   c           
      ó¢  — d}t        j                  dt        fdt        fdt        fdt        fdt        fdt        fdt        fg«      }t        j
                  g d	¢dt        fdt        fg¬
«      }t        j                  ||¬
«      }t         j                  j                  d«      j                  dt        |«      |«      }|d   |   |d<   |d   |   |d<   t        t        ddd«      t        ddd«      «      }|t         j                  j                  d«      j                  dt        |«      |«         }|j                  |d<   |j                  |d<   |j                  |d<   t         j                  j                  d«      j!                  dd|«      |d<   t#        |«      }|j%                  dddgg d¢d¬«      }	|	j&                  j(                  sJ ‚y )Ni'  r   ÚSymbolÚYearÚMonthÚDayÚQuantityÚPrice)	)ÚSP500ÚADBE)rð  ÚNVDA)rð  ÚORCL)ÚNDQ100ÚAAPL)rô  ÚMSFT)rô  ÚGOOG)ÚFTSEzDGE.L)rø  zTSCO.L)rø  zGSK.Lr¿   r3   r   iÐ  r   iÚ  r¾  é   r�   rŽ   )r   rê  rë  rF   ©rC   rD   r^   )r;   rÀ   rp  Úintr¦   ÚarrayÚemptyr<   r=   ÚintegersrI   r   r   Úyearr{   r  Ú	lognormalr
   r   rD   Úis_monotonic_increasing)
r?   ÚnrÀ   ÚproductsÚitemsÚiproductÚdrÚdatesrc   Úpivoteds
             r   Útest_pivot_columns_lexsortedz+TestPivotTable.test_pivot_columns_lexsorted  s²  € Øˆä—‘àœ&Ð!Øœ6Ð"Øœ�Øœ#�Øœ�ØœSÐ!Øœ%Ð ðó

ˆô —8‘8ò
ð œVÐ$ x´Ð&8Ð9ô
ˆô —‘˜ %Ô(ˆÜ—9‘9×(Ñ(¨Ó+×4Ñ4°Q¼¸H»ÀqÓIˆØ! 'Ñ*¨8Ñ4ˆˆg‰Ø" 8Ñ,¨XÑ6ˆˆh‰Üœ˜T 1 aÓ(¬$¨t°R¸Ó*<Ó=ˆØ”2—9‘9×(Ñ(¨Ó+×4Ñ4°Q¼¸B»ÀÓCÑDˆØŸ
™
ˆˆf‰ØŸ™ˆˆg‰Ø—y‘yˆˆe‰ÜŸ™×.Ñ.¨qÓ1×;Ñ;¸CÀÀaÓHˆˆg‰ä�uÓˆà—.‘.ØØ˜EÐ"Ú/Øð	 !ó 
ˆð �‰×6Ò6Ð6Ñ6r   c                 óÈ   — dgdgdœ}|j                  ddg«      j                  |«      j                  d«      }|j                  dd|¬«      }t	        j
                  ||«       y )Nr  r]   ©r8   r9   r5   r6   rú  )rM   rN   rO   r   rG   rH   )r?   r@   rè   rR   rd   s        r   Útest_pivot_complex_aggfuncz)TestPivotTable.test_pivot_complex_aggfunc²  s_   € Ø�'  Ñ(ˆØ—<‘<  c 
Ó+×/Ñ/°Ó2×:Ñ:¸3Ó?ˆØ×!Ñ!¨°SÀ!Ð!ÓDˆä
×Ñ˜f hÕ/r   c                 óŽ   — |ddg   j                  ddgt        d¬«      }|j                  «       }t        |d d «      |d   k(  sJ ‚y )Nr5   r6   T)rC   r^   rÄ   r²   )r   rI   Útolistr]   )r?   r@   rd   Úresult_lists       r   Útest_margins_no_values_no_colsz-TestPivotTable.test_margins_no_values_no_cols¹  sV   € à�s˜C�jÑ!×-Ñ-Ø˜�*¤c°4ð .ó 
ˆð —m‘m“oˆÜ�;˜s Ð#Ó$¨°B©Ò7Ð7Ñ7r   c                 ó†   — |g d¢   j                  ddgdt        d¬«      }|j                  j                  «       g d¢k(  sJ ‚y )Nrœ   r5   r6   r7   T©rC   rD   r^   rÄ   ©r�   r�   r�   r�   ç      &@©r   rI   rÅ   r  ©r?   r@   rd   s      r   Útest_margins_no_values_two_rowsz.TestPivotTable.test_margins_no_values_two_rowsÁ  sI   € ð ’oÑ&×2Ñ2Ø˜�* c´3Àð 3ó 
ˆð �z‰z× Ñ Ó"Ò&@Ò@Ð@Ñ@r   c                 ó‚   — |ddg   j                  ddt        d¬«      }|j                  j                  «       g d¢k(  sJ ‚y )Nr5   r6   Tr  )r�   r¡   r  r  r  s      r   Ú&test_margins_no_values_one_row_one_colz5TestPivotTable.test_margins_no_values_one_row_one_colÉ  sI   € ð �s˜C�jÑ!×-Ñ-Ø˜s¬C¸ð .ó 
ˆð �z‰z× Ñ Ó"Ò&6Ò6Ð6Ñ6r   c                 ó˜   — g d¢|d<   |g d¢   j                  ddgddgt        d¬«      }|j                  j                  «       g d	¢k(  sJ ‚y )
N)rh   ri   rj   rx   Úerè   ÚgÚhrß   Újr¥  r8   ©r5   r6   r7   r8   r5   r6   r7   Tr  r  r  r  s      r   Ú'test_margins_no_values_two_row_two_colsz6TestPivotTable.test_margins_no_values_two_row_two_colsÑ  sX   € ò LˆˆS‰	ØÒ*Ñ+×7Ñ7Ø˜�* s¨C j¼#Àtð 8ó 
ˆð �z‰z× Ñ Ó"Ò&@Ò@Ð@Ñ@r   Úmargin_namer,   r/   iš  Nrh   ri   c           	      ó¦  — d|› d�}t        j                  t        |¬«      5  t        |dddgdgd|¬	«       d d d «       t        j                  t        |¬«      5  t        |ddgddgd|¬	«       d d d «       t        j                  t        |¬«      5  t        |ddgdgd|¬	«       d d d «       y # 1 sw Y   ŒyxY w# 1 sw Y   ŒMxY w# 1 sw Y   y xY w)
NzConflicting name "z3" in margins|margins_name argument must be a stringr‹   r8   r5   r6   r7   T)rB   rC   rD   rÄ   r–  )rx  ry  Ú
ValueErrorr   )r?   r!  r@   r–   s       r   Ú-test_pivot_table_with_margins_set_margin_namez<TestPivotTable.test_pivot_table_with_margins_set_margin_nameÚ  sì   € ð !  ð .5ð 5ð 	ô �]‰]œ:¨SÔ1ñ 		äØØØ˜C�jØ˜ØØ(õ÷		ô �]‰]œ:¨SÔ1ñ 		äØØØ�eØ˜c˜
ØØ(õ÷		ô �]‰]œ:¨SÔ1ñ 		äØØØ�eØ˜ØØ(õ÷		ð 		÷)		ð 		ú÷		ð 		ú÷		ð 		ús#   ¢B/ÁB;ÂCÂ/B8Â;CÃCc                 óÚ	  — t        dj                  «       dj                  «       g d¢t        ddd«      t        ddd«      t        ddd«      t        ddd«      t        ddd«      t        ddd«      t        ddd«      t        ddd«      gd	œ«      j                  d
«      }t        t	        j
                  g d¢d¬«      j                  dd«      t        j                  t        ddd«      gd¬«      dj                  «       ¬«      }d
|j                  _
        d|j                  _
        t        |t        d¬«      ddd¬«      }t        j                  ||«       t        |dt        d¬«      dd¬«      }t        j                  ||j                   «       t        t	        j
                  dt        j"                  dddt        j"                  g«      j                  dd«      t        j                  t        ddd«      t        ddd«      gd¬«      dj                  «       ¬«      }d
|j                  _
        d|j                  _
        |r|d   j%                  d«      |d<   t        |t        d¬«      ddd¬«      }t        j                  ||«       t        |dt        d¬«      dd¬«      }t        j                  ||j                   «       |j'                  «       }t        |t        dd
¬«      ddd¬«      }t        j                  ||«       t        |dt        dd
¬«      dd¬«      }t        j                  ||j                   «       d}t)        j*                  t,        |¬«      5  t        |t        dd ¬«      ddd¬«       d d d «       t)        j*                  t,        |¬«      5  t        |dt        dd ¬«      dd¬«       d d d «       |j                  d
«      }t        |t        dd
¬!«      ddd¬«      }t        j                  ||«       t        |dt        dd
¬!«      dd¬«      }t        j                  ||j                   «       d"}t)        j*                  t.        |¬«      5  t        |t        dd ¬!«      ddd¬«       d d d «       t)        j*                  t.        |¬«      5  t        |dt        dd ¬!«      dd¬«       d d d «       y # 1 sw Y   �ŒGxY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒcxY w# 1 sw Y   y xY w)#NúA A A A A A A Bú$Carl Mark Carl Carl Joe Joe Joe Carl©r   r   rX   r   r¹  r   r›   r   r6  r   rÇ   r3   r¾  )ÚBranchÚBuyerrî  ÚDater+  )rÇ   r¯  r   rà   r¿   r   rù  rÿ   r   zCarl Joe Markr¤   r*  rî  r]   ©rC   rD   rB   r^   r›   r¯  rÆ   Ú6MSÚCarl©rù   rý   z#'The grouper name foo is not found'r‹   r,   )rù   rø   zThe level foo is not valid)r
   Úsplitr   rR  r;   rü  r   r!   r  rC   rL   rD   r   r   rG   rH   rs   r³   rb   rð   rx  ry  rƒ  r#  )r?   Úusing_array_managerrc   rR   rd   r–   s         r   Útest_pivot_timegrouperz%TestPivotTable.test_pivot_timegrouper   s‚  € Üà+×1Ñ1Ó3Ø?×EÑEÓGÚ4ä˜T 1 aÓ(Ü˜T 1 aÓ(Ü˜T 2 qÓ)Ü˜T 2 qÓ)Ü˜T 2 qÓ)Ü˜T 2 qÓ)Ü˜T 2 qÓ)Ü˜T 2 qÓ)ð	ñ	ó
÷  ‰)�FÓ
ð! 	ô$ Ü�H‰H’[¨Ô0×8Ñ8¸¸AÓ>Ü×"Ñ"¤H¨T°2°rÓ$:Ð#;À$ÔGØ#×)Ñ)Ó+ô
ˆð
 %ˆ�‰ÔØ 'ˆ×ÑÔäØÜ˜tÔ$ØØØô
ˆô 	×Ñ˜f hÔ/äØØÜ Ô&ØØô
ˆô 	×Ñ˜f h§j¡jÔ1äÜ�H‰H�aœŸ™  A r¬2¯6©6Ð2Ó3×;Ñ;¸A¸qÓAÜ×"Ñ"Ü˜$  1Ó%¤x°°a¸Ó';Ð<À5ôð $×)Ñ)Ó+ô
ˆð %ˆ�‰ÔØ 'ˆ×ÑÔÙà'¨Ñ/×6Ñ6°wÓ?ˆH�VÑäØÜ˜uÔ%ØØØô
ˆô 	×Ñ˜f hÔ/äØØÜ Ô'ØØô
ˆô 	×Ñ˜f h§j¡jÔ1ð �^‰^ÓˆÜØÜ˜u¨&Ô1ØØØô
ˆô 	×Ñ˜f hÔ/äØØÜ ¨FÔ3ØØô
ˆô 	×Ñ˜f h§j¡jÔ1à3ˆÜ�]‰]œ8¨3Ô/ñ 	ÜØÜ 5¨eÔ4ØØ!Øõ÷	ô �]‰]œ8¨3Ô/ñ 	ÜØØÜ U°Ô6Ø!Øõ÷	ð �\‰\˜&Ó!ˆÜØÜ˜u¨FÔ3ØØØô
ˆô 	×Ñ˜f hÔ/äØØÜ ¨fÔ5ØØô
ˆô 	×Ñ˜f h§j¡jÔ1à*ˆÜ�]‰]œ:¨SÔ1ñ 	ÜØÜ 5°Ô6ØØ!Øõ÷	ô �]‰]œ:¨SÔ1ñ 	ÜØØÜ U°%Ô8Ø!Øõ÷	ð 	÷]	ñ 	ú÷	ñ 	ú÷<	ð 	ú÷	ð 	ús0   ÍR;ÎSÑSÒS!Ò;SÓSÓSÓ!S*c                 óÒ	  — t        dj                  «       dj                  «       g d¢t        ddddd«      t        dd	ddd
«      t        ddddd«      t        ddddd«      t        ddddd«      t        ddddd«      t        ddddd«      t        ddd
dd«      gt        ddddd«      t        ddddd
«      t        dd	d
dd«      t        ddddd«      t        ddddd«      t        dd	d
dd«      t        ddddd«      t        ddddd«      gdœ«      }t        |t	        dd¬«      t	        dd¬«      dd¬«      }t        t        j                  t
        j                  dt
        j                  t
        j                  dt
        j                  dd	t
        j                  d	t
        j                  t
        j                  t
        j                  t
        j                  dt
        j                  g«      j                  dd«      t        j                  t        dd	d«      t        ddd«      t        ddd«      t        ddd«      gd¬«      t        j                  t        dd	d«      t        ddd«      t        ddd«      t        ddd«      gd¬«      ¬ «      }d|j                  _        d|j                  _        t        j                  ||«       t        |t	        dd¬«      t	        dd¬«      dd¬«      }t        j                  ||j                   «       t        dd	d«      t        ddd«      ft        ddd«      t        dd	d«      ft        ddd«      t        ddd«      ft        ddd«      t        ddd«      ft        ddd«      t        ddd«      ft        ddd«      t        ddd«      fg}t#        j$                  |ddg¬!«      }t        t        j                  dt
        j                  dt
        j                  dt
        j                  d	t
        j                  d	t
        j                  t
        j                  dg«      j                  dd«      |d"d#g¬ «      }d$|j                  _        t        |t	        dd¬«      t	        dd¬«      gd$gdd¬«      }t        j                  ||«       t        |d$gt	        dd¬«      t	        dd¬«      gdd¬«      }t        j                  ||j                   «       y )%Nr&  r'  r(  r6  r4   r   r¬  r   r›   rX   rÇ   r&  r3   r¾  r®  r   r$  rÆ   é   )r)  r*  rî  r+  ÚPayDayrü   r+  r/  r5  rî  r]   r,  r   r*  rù  r   r¤   r}   r5   r6   r)  )r
   r0  r   r   r   r;   rü  r³   r   r!   r  rC   rL   rD   rG   rH   rs   r   r~   )r?   rc   rd   rR   Útuplesr  s         r   Útest_pivot_timegrouper_doublez,TestPivotTable.test_pivot_timegrouper_double˜  s‘  € äà+×1Ñ1Ó3Ø?×EÑEÓGÚ4ä˜T 2 q¨"¨aÓ0Ü˜T 1 a¨¨QÓ/Ü˜T 2 q¨"¨aÓ0Ü˜T 2 q¨"¨aÓ0Ü˜T 2 q¨"¨aÓ0Ü˜T 2 q¨"¨aÓ0Ü˜T 2 q¨"¨aÓ0Ü˜T 2 q¨"¨aÓ0ð	ô ˜T 2 q¨!¨QÓ/Ü˜T 2 r¨2¨qÓ1Ü˜T 1 a¨¨QÓ/Ü˜T 2 q¨"¨aÓ0Ü˜T 2 q¨"¨aÓ0Ü˜T 1 a¨¨QÓ/Ü˜T 2 r¨2¨qÓ1Ü˜T 2 r¨2¨qÓ1ð	ñó
ˆô8 ØÜ˜t¨Ô0Ü ¨8Ô4ØØô
ˆô Ü�H‰Hä—F‘FØÜ—F‘FÜ—F‘FØÜ—F‘FØØÜ—F‘FØÜ—F‘FÜ—F‘FÜ—F‘FÜ—F‘FØÜ—F‘Fð!ó÷& ‰g�a˜‹mÜ×"Ñ"ä˜T 1 bÓ)Ü˜T 2 rÓ*Ü˜T 2 rÓ*Ü˜T 2 rÓ*ð	ð ôô ×$Ñ$ä˜T 1 bÓ)Ü˜T 2 rÓ*Ü˜T 2 rÓ*Ü˜T 2 rÓ*ð	ð ôô='
ˆðP %ˆ�‰ÔØ (ˆ×ÑÔä
×Ñ˜f hÔ/äØÜ˜t¨Ô2Ü ¨6Ô2ØØô
ˆô 	×Ñ˜f h§j¡jÔ1ô �d˜A˜rÓ"¤H¨T°2°rÓ$:Ð;Ü�d˜B Ó#¤X¨d°A°rÓ%:Ð;Ü�d˜B Ó#¤X¨d°B¸Ó%;Ð<Ü�d˜B Ó#¤X¨d°B¸Ó%;Ð<Ü�d˜B Ó#¤X¨d°B¸Ó%;Ð<Ü�d˜B Ó#¤X¨d°B¸Ó%;Ð<ð
ˆô ×$Ñ$ V°F¸HÐ3EÔFˆÜÜ�H‰HØ”B—F‘F˜AœrŸv™v q¬"¯&©&°!´R·V±V¸QÄÇÁÌÏÉÐPQÐRóç‰g�a˜‹mØØ˜#�Jô
ˆð !)ˆ×ÑÔäØÜ ¨&Ô1´7ÀÈ(Ô3SÐTØ�JØØô
ˆô 	×Ñ˜f hÔ/äØØ�*Ü $¨FÔ3´WÀ$ÈHÔ5UÐVØØô
ˆô 	×Ñ˜f h§j¡jÕ1r   c           	      ó„  — t        j                  g d¢dd¬«      }t        j                  g d¢d¬«      }t        g d¢||t        j                  d	d
¬«      ddgdz  dœ«      }|d d }t        ddg«      }t        ddgd¬«      }t        j                  ||g«      }t        ddgddgddgg||¬«      }t        |dgdgdg¬«      }	t        j                  |	|«       t        g d¢«      }t        g d¢dz  «      }t        j                  ddgd z  dd!¬«      }
t        j                  |||
g«      }t        t        j                  g d"¢g d#¢g d$¢gd
¬«      ||d d  ¬«      }t        t        j                  g d%¢g d&¢g d'¢g«      ||d d  ¬«      }t        ||gd¬(«      }t        |dgd!gdd)gd*d+g¬,«      }	t        j                  |	|«       y )-N©ú2011-07-19 07:00:00ú2011-07-19 08:00:00ú2011-07-19 09:00:00r:  r;  r<  zM8[ns, US/Pacific]r8  ©rÀ   rL   ©ú2013-01-01 15:00:00r?  r?  ú2013-02-01 15:00:00r@  r@  zM8[ns, Asia/Tokyo]r¿   ©rh   rh   rh   ri   ri   ri   r*  rà   r   r3   r   ©Úlabelr8  r9  Úvalue1Úvalue2rD  rh   ri   rC  rž   rŸ   r�   r�   r�   rŽ   r¢   r¤   rï   )r]   r]   r]   r]   rF   rF   rF   rF   )rD  rD  rE  rE  r?  r@  r   r9  )r   r   r   r3   )r   r   r3   r   )r3   rX   r   r3   )rŸ   r�   r�   rŽ   )r�   r�   rŽ   r�   )rŽ   r¢   r�   rŽ   r  rE  r]   rF   r,  )r!   r  r
   r;   rÈ   r   r   r#   r   rG   rH   rü  r   )r?   Údates1Údates2rc   rD  rA  rB  rC  rR   rd   Úexp_col3Ú	expected1Ú	expected2s                r   Útest_pivot_datetime_tzz%TestPivotTable.test_pivot_datetime_tz  s  € Ü×!Ñ!òð 'Øô
ˆô ×!Ñ!òð 'ô

ˆô â7ØØÜŸ)™) A¨WÔ5Ø˜a˜& 1™*ñó
ˆð ˜˜!�*ˆÜ˜( HÐ-Ó.ˆÜ˜#˜s˜¨'Ô2ˆÜ×(Ñ(¨(°HÐ)=Ó>ˆÜØ�3ˆZ˜#˜s˜ c¨3 ZÐ0¸Èô
ˆô ˜R¨ w¸¸	È8È*ÔUˆÜ
×Ñ˜f hÔ/äÒUÓVˆÜÒAÀAÑEÓFˆÜ×#Ñ#Ø"Ð$9Ð:¸QÑ>Ø&Øô
ˆô
 ×(Ñ(¨(°H¸hÐ)GÓHˆÜÜ�H‰Hòò !Ú ð	ð ôð Ø˜B˜Q�Kô
ˆ	ô" Ü�H‰Hâ(Ú(Ú(ðóð Ø˜A˜B�Kô

ˆ	ô ˜9 iÐ0°qÔ9ˆäØØ�'Ø�GØ˜hÐ'Ø˜F�Oô
ˆô 	×Ñ˜f hÕ/r   c                 ó  — t        j                  g d¢«      }t        j                  g d¢«      }t        g d¢||t        j                  dd¬«      ddgd	z  d
œ«      }t        |d|d   j                  j                  d¬«      }t        ddgd¬«      }t        ddgddgddgdœ|t        g d¢t        j                  d¬«      ¬«      }t        j                  ||«       t        ||d   j                  j                  |d   j                  j                  d¬«      }t        ddgddgddgdœt        ddgt        j                  d¬«      t        g d¢t        j                  d¬«      ¬«      }t        j                  ||«       t        ||d   j                  j                  j                  |d   j                  j                  |d   j                  j                  gd¬«      }t        j                   t        j"                  g d¢t        j                  ¬«      t        j"                  ddgd	z  t        j                  ¬«      gddg¬«      }t        t        j"                  g d¢g«      t        dgt        j                  ¬«      |¬«      }t        j                  ||«       t        |t        j"                  g d ¢«      |d   j                  j                  |d   j                  j                  gd¬«      }t        t        j"                  d!d	dt        j$                  dt        j$                  gt        j$                  t        j$                  t        j$                  d"t        j$                  d#gg«      d$d%g|¬«      }t        j                  ||«       y )&Nr9  r>  rA  r*  rà   r¿   r   r3   r   rB  rC  r8  rD  rï   rh   ri   rž   rŸ   r�   r�   r�   rŽ   r¢   )rÆ   r¹  r›   r=  r¤   r9  )rÆ   rÆ   r¹  r¹  r›   r›   r}   )rŸ   r�   r�   r�   rŽ   r¢   r6  )ÚXrM  rM  rM  ÚYrN  r   r   rX   rM  rN  )r!   r  r
   r;   rÈ   r   rû   rL  r   r  rG   rH   r{   rÿ  rB   r   r#   rü  r³   )r?   rF  rG  rc   rd   rD  rR   rC  s           r   Útest_pivot_dtaccessorz$TestPivotTable.test_pivot_dtaccessorr  sí  € ä×!Ñ!òó	
ˆô ×!Ñ!òó	
ˆô â7ØØÜŸ)™) A¨WÔ5Ø˜a˜& 1™*ñó
ˆô Ø�g r¨%¡y§|¡|×'8Ñ'8Àô
ˆô ˜˜c˜
¨Ô1ˆÜØ�c�
  S˜z¨s°C¨jÑ9ØÜš)¬2¯8©8¸%Ô@ô
ˆô
 	×Ñ˜f hÔ/äØ�b˜‘i—l‘l×(Ñ(°"°U±)·,±,×2CÑ2CÈHô
ˆô Ø�c�
  S˜z¨s°C¨jÑ9Ü˜˜A˜¤b§h¡h°UÔ;Üš)¬2¯8©8¸%Ô@ô
ˆô
 	×Ñ˜f hÔ/äØØ�U‘)—,‘,×#Ñ#×*Ñ*Ø˜‘Y—\‘\×&Ñ&¨¨5©	¯©×(:Ñ(:Ð;Øô	
ˆô ×(Ñ(ä—‘Ò+´2·8±8Ô<Ü—‘˜!˜Q˜ !™¬2¯8©8Ô4ðð ˜%�.ô
ˆô Ü�H‰HÒ4Ð5Ó6Ü˜˜¤b§h¡hÔ/Øô
ˆô
 	×Ñ˜f hÔ/äØÜ—(‘(Ò9Ó:Ø˜‘Y—\‘\×&Ñ&¨¨5©	¯©×(:Ñ(:Ð;Øô	
ˆô Ü�H‰HØ�Q˜œ2Ÿ6™6 1¤b§f¡fÐ-´·±¼¿¹ÄÇÁÈÌ2Ï6É6ÐSTÐ/UÐVóð ˜�*Øô
ˆô 	×Ñ˜f hÕ/r   c                 óÀ  — t        ddd¬«      }t        t        j                  t	        |«      «      |¬«      }t        t        |«      |j                  j                  |j                  j                  ¬«      }|j                  j                  d«      |_
        t        j                  |j                  j                  «      }i }|j                  j                  j                  «       j                  D ];  }|j                  j                  |k(  }t        |j                  |   ||   ¬«      ||<   Œ= t        |t        ¬«      j                   }t#        j$                  ||«       y )	Nú1/1/2000ú
12/31/2004r8   r   r‘   r¤   r   r¿   )r   r   r;   rÈ   rI   r   r
   rC   rÿ  Ú	dayofyearrD   Ú	droplevelÚasarrayrº   rB   r¦   rs   rG   rH   )r?   ÚrngrJ  rd   ÚdoyrR   rm   Úmasks           r   Ú
test_dailyzTestPivotTable.test_dailyÍ  sÿ   € Ü˜ \¸Ô<ˆÜ”B—I‘Iœc #›hÓ'¨sÔ3ˆäÜ�b‹M §¡§¡¸¿¹×8JÑ8Jô
ˆð  Ÿ™×1Ñ1°!Ó4ˆŒä�j‰j˜Ÿ™×+Ñ+Ó,ˆàˆØ—‘—‘×%Ñ%Ó'×.Ñ.ò 	CˆAØ—8‘8—=‘= AÑ%ˆDÜ  §¡¨4¡¸¸D¹	ÔBˆH�QŠKð	Cô ˜X¬UÔ3×5Ñ5ˆÜ
×Ñ˜f hÕ/r   c                 óÀ  — t        ddd¬«      }t        t        j                  t	        |«      «      |¬«      }t        t        |«      |j                  j                  |j                  j                  ¬«      }|j                  j                  d«      |_
        t        j                  |j                  j                  «      }i }|j                  j                  j                  «       j                  D ];  }|j                  j                  |k(  }t        |j                  |   ||   ¬«      ||<   Œ= t        |t        ¬«      j                   }t#        j$                  ||«       y )	NrQ  rR  rü   r   r‘   r¤   r   r¿   )r   r   r;   rÈ   rI   r   r
   rC   rÿ  r{   rD   rT  rU  rº   rB   r¦   rs   rG   rH   )r?   rV  rJ  rd   r{   rR   rm   rX  s           r   Útest_monthlyzTestPivotTable.test_monthlyß  sö   € Ü˜ \¸Ô=ˆÜ”B—I‘Iœc #›hÓ'¨sÔ3ˆäœY r›]°"·(±(·-±-ÈÏÉÏÉÔXˆØŸ™×1Ñ1°!Ó4ˆŒä—
‘
˜2Ÿ8™8Ÿ>™>Ó*ˆØˆØ—‘—‘×%Ñ%Ó'×.Ñ.ò 	EˆAØ—8‘8—=‘= AÑ%ˆDÜ  §¡¨4¡¸¸d¹ÔDˆH�QŠKð	Eô ˜X¬UÔ3×5Ñ5ˆÜ
×Ñ˜f hÕ/r   c                 ó"  — dddœ}t        |dgt        |j                  «       «      |¬«      }t        |dg|j                  «       |¬«      }t        j                  ||«       d„ |D «       }t        |dg||¬«      }t        j                  ||«       y )Nr]   rF   r  r5   )rC   rB   r^   c              3   ó    K  — | ]  }|–— Œ y ­wr   rÕ   )Ú.0rä  s     r   ú	<genexpr>zGTestPivotTable.test_pivot_table_with_iterator_values.<locals>.<genexpr>û  s   è ø€ Ò2 Eœ%Ñ2ùs   ‚)r   ra   r  rG   rH   )r?   r@   ÚaggsÚpivot_values_listÚpivot_values_keysÚagg_values_genÚpivot_values_gens          r   Ú%test_pivot_table_with_iterator_valuesz4TestPivotTable.test_pivot_table_with_iterator_valuesî  s“   € à Ñ(ˆä'Ø˜˜¤d¨4¯9©9«;Ó&7Àô
Ðô (Ø˜˜ d§i¡i£k¸4ô
Ðô 	×ÑÐ/Ð1BÔCá2¨TÔ2ˆÜ&Ø˜˜ n¸dô
Ðô 	×ÑÐ.Ð0AÕBr   c                 ó,  — d}t        g d¢g d¢g d¢dœ«      }|j                  ddd|d	d
g¬«      }t        dd|gd¬«      }ddd	d|fddd
d|fg}t        j                  |g d¢¬«      }t        |j
                  ||¬«      }t        j                  ||«       y )NÚWeekly)ÚbaconÚcheeserh  ri  )rã   rå   gš™™™™™	@gffffff
@)rü   rü   rs   rs   )r§  Úcostr  r§  r  TrF   Úmax)rC   rD   rÄ   r–  r^   rh  ri  rž   )rF   rj  rü   )rF   rj  rs   rj  )rk  rj  rü   )rk  rj  rs   )NNr  r}   r¤   )r
   r   r   r   r~   rB   rG   rH   )r?   r–  ÚcostsrP   ÚixÚtupsrq   rR   s           r   Ú/test_pivot_table_margins_name_with_aggfunc_listz>TestPivotTable.test_pivot_table_margins_name_with_aggfunc_list  s¼   € àˆÜâ>Ú,Ú-ñó
ˆð ×!Ñ!ØØØØ%Ø˜U�Oð "ó 
ˆô �G˜X |Ð4¸6ÔBˆà"Ø!Ø�V˜\Ð*Ø!Ø Ø�F˜LÐ)ð
ˆô ×%Ñ% dÒ2EÔFˆÜ˜UŸ\™\°¸TÔBˆÜ
×Ñ˜e XÕ.r   c                 óp  — t        t        j                  d«      t        j                  d«      dz  t        j                  d«      dz  dœ«      }t        g d¢g d¢g d¢g«      }t        g d¢d	¬
«      |_        t        g d¢d¬
«      |_        |j                  dd	d|d¬«      }t        j                  ||«       y )Nr¹  r   r3   rk   ©r�   rŽ   râ   ©rX   r*  r©  ©r   r   rä   ©r   r   rÅ   rm   rž   rn   rl   T©r   rÄ   )	r
   r;   rÈ   r   rC   rD   r   rG   rH   )r?   rE   rc   rR   rP   s        r   Útest_categorical_marginsz'TestPivotTable.test_categorical_margins  s�   € äÜ—)‘)˜A“,¤R§Y¡Y¨q£\°QÑ%6¼R¿Y¹YÀq»\ÈAÑ=MÑNó
ˆô šoª{ºKÐHÓIˆÜš}°3Ô7ˆŒÜ ¢°SÔ9ˆÔà—‘˜s C¨°XÀt�ÓLˆÜ
×Ñ˜e XÕ.r   c                 óT  — t        t        j                  d«      t        j                  d«      dz  t        j                  d«      dz  dœ«      }t        g d¢g d¢g d¢g«      }t        g d¢d	¬
«      |_        t        g d¢d¬
«      |_        |j                  j                  d«      |_        |j                  j                  d«      |_        d}t        j                  t        |¬«      5  |j                  dd	d|d¬«      }d d d «       t        j                  |«       y # 1 sw Y   Œ xY w)Nr¹  r   r3   rk   rq  rr  rs  rt  rm   rž   rn   r`   rŠ   r‹   rl   Tru  )r
   r;   rÈ   r   rC   rD   rm   rb   rn   rG   r’   r“   r   rH   )r?   rE   rc   rR   r–   rP   s         r   Ú!test_categorical_margins_categoryz0TestPivotTable.test_categorical_margins_category,  sæ   € ÜÜ—)‘)˜A“,¤R§Y¡Y¨q£\°QÑ%6¼R¿Y¹YÀq»\ÈAÑ=MÑNó
ˆô šoª{ºKÐHÓIˆÜš}°3Ô7ˆŒÜ ¢°SÔ9ˆÔà�t‰t�{‰{˜:Ó&ˆŒØ�t‰t�{‰{˜:Ó&ˆŒØAˆÜ×'Ñ'¬¸SÔAñ 	QØ—N‘N 3¨¨S¸È4�NÓPˆE÷	Qä
×Ñ˜e XÕ.÷	Qð 	Qús   Ã(DÄD'c                 óÄ   — t        g d¢g d¢g d¢g d¢dœ«      }t        |dd¬«      }t        g d	¢g d
¢g d¢dœt        g d¢d¬«      ¬«      }t        j                  ||«       y )N)r3   r   r*  r¹  )r   r   rX   r¹  )r   r   r   r*  )rM  rM  rN  rN  r  r8   T)rC   rÄ   )r�   r¡   rX   )rã   g      @rå   )rŽ   r¢   rä   rœ   )rM  rN  rÅ   rž   r‘   ©r
   r   r   rG   rH   ©r?   rc   rd   rR   s       r   Útest_margins_casted_to_floatz+TestPivotTable.test_margins_casted_to_float<  s^   € äâ!Ú!Ú!Ú)ñ	ó
ˆô ˜R s°DÔ9ˆÜÚ¢oºOÑLÜÒ)°Ô4ô
ˆô 	×Ñ˜f hÕ/r   c                 ó°  — t         j                  dddt         j                  g}t         j                  ddt         j                  dg}t        t        |ddg|¬«      t        |ddg|¬«      t	        dd«      dœ«      }|j                  d	d
d|¬«      }t        j                  ddg|d
¬«      }t        dt         j                  gt         j                  dgg|¬«      }t        t        ddgddg|¬«      d	¬«      |_	        t        j                  ||«       |j                  d
d|¬«      }t        ddgg|t        dg«      ¬«      }t        j                  ||«       y )Nr­   r®   r5   r6   r†   r   r*  )ÚInÚColÚValr~  r  r€  )rC   rD   rB   rE   )rˆ   rL   rŽ   r�   )r@   rD   rž   )rD   rB   rE   rä   )r@   rD   rC   )r;   r³   r
   r	   r§   r   r!   ÚCategoricalIndexr   rC   rG   rH   )	r?   rE   rˆ   r  ró   rc   rd   Úexpected_colsrR   s	            r   Útest_pivot_with_categoricalz*TestPivotTable.test_pivot_with_categoricalN  s=  € ä�v‰v�u˜f e¬R¯V©VÐ4ˆÜ�v‰v�s˜C¤§¡¨Ð-ˆÜä! #°5¸&°/È7ÔSÜ" 3°C¸°:ÀwÔOÜ˜Q “{ñó
ˆð —‘Ø ¨e¸hð  ó 
ˆô ×+Ñ+¨S°#¨JÀÈeÔTˆä C¬¯© =´2·6±6¸3°-Ð"@È-ÔXˆÜÜ˜ ˜°U¸F°OÈWÔUØô
ˆŒô
 	×Ñ˜f hÔ/ð —‘¨°eÀh�ÓOˆäØ˜�*� }¼EÀ5À'»Nô
ˆô 	×Ñ˜f hÕ/r   c                 óè  — t        g d¢g d¢g d¢dœ«      }|d   j                  d«      |d<   d}t        j                  t        |¬«      5  |j                  d	dd
|d¬«      }d d d «       t        j                  g d¢g d¢dd¬«      }t        ddgd
¬«      }t        j                  ddgddgddggt        j                  ¬«      }t        |||¬«      }t        j                  |«       y # 1 sw Y   ŒˆxY w)N)r5   r6   r7   r7   r…   r‰   )r   r!  ÚVr   r`   rŠ   r‹   r…  r!  Úcount)rC   rD   r   r^   rœ   F©r‡   rˆ   rL   rh   ri   rž   r   r   r3   r¿   r¤   )r
   rb   rG   r’   r“   r   r!   r�  r   r;   rü  rà   rH   )	r?   rE   rc   r–   rd   rª   r©   Úexpected_datarR   s	            r   Útest_categorical_aggfuncz'TestPivotTable.test_categorical_aggfuncq  sð   € äÚ'Ò/CÊ,ÑWó
ˆð �d‘8—?‘? :Ó.ˆˆ4‰ØAˆÜ×'Ñ'¬¸SÔAñ 	Ø—^‘^Ø˜4¨°hÈð $ó ˆF÷	ô
 ×,Ñ,ÚªÀÈTô
ˆô ! # s °$Ô7ÐÜŸ™ 1 a &¨1¨a¨&°1°a°&Ð!9ÄÇÁÔJˆÜØ Ð9Iô
ˆô 	×Ñ˜f hÕ/÷	ð 	ús   Á
C(Ã(C1c                 óœ  — t        g d¢g d¢g d¢dœ«      }g d¢}|d   j                  d«      j                  j                  |«      |d<   |j	                  ddd	|d
¬«      }t        ddgd	d¬«      }t        j                  ||dd¬«      }ddggddggdz  z   }t        |||¬«      }|r|j                  dg   }t        j                  ||«       y )N)r+  rÄ  éÜ   )ÚJanuaryrŒ  rŒ  )r6  r7  r6  )ÚSalesrì  rë  )rŒ  ÚFebruaryÚMarchÚAprilÚMayÚJuneÚJulyÚAugustÚ	SeptemberÚOctoberÚNovemberÚDecemberrì  r`   r�  rë  r]   )rB   rC   rD   rE   r^   r6  r7  rà   r=  Fr‡  i@  rÄ  r   r4   r¤   rŒ  )r
   rb   rÜ   Úset_categoriesr   r   r!   r�  r.  rG   rH   )	r?   rE   rc   Úmonthsrd   r©   rª   rˆ  rR   s	            r   Ú%test_categorical_pivot_index_orderingz4TestPivotTable.test_categorical_pivot_index_ordering‡  sï   € äâ(Ú:Ú*ñó
ˆò
ˆð ˜‘k×(Ñ(¨Ó4×8Ñ8×GÑGÈÓOˆˆ7‰Ø—‘ØØØØØð  ó 
ˆô ! $¨ °FÀ'ÔJÐÜ×,Ñ,Ø˜v¨u¸7ô
ˆð ˜s˜˜¨¨A¨ x°"¡}Ñ4ˆÜØ Ð9Iô
ˆñ Ø—|‘| Y KÑ0ˆHä
×Ñ˜f hÕ/r   c                 ó  — t        g d¢g d¢g d¢dœ«      }|j                  dddgd¬	«      }t        j                  g d¢g d¢gddg¬
«      }t        g d¢|dg¬«      }t	        j
                  ||«       |j                  dddd¬«      }t        dt        j                  t        j                  gt        j                  dt        j                  gt        j                  t        j                  dggt        g d¢d¬«      t        g d¢d¬«      ¬«      }t	        j
                  ||«       |j                  dddg¬	«      }t        j                  dgdgg«      }t        g d¢t        g d¢d¬«      |¬«      }t	        j
                  ||«       y )N)r   r   rX   )r7   r8   r9   )r   r   r›   rY   rZ   r\   r[   r]   rr   r}   r¤   rú  r   r   rX   rž   )	r
   r   r   r#   rG   rH   r;   r³   r   )r?   rc   rd   r‚   rR   s        r   Útest_pivot_table_not_seriesz*TestPivotTable.test_pivot_table_not_series³  s=  € ô
 ¢	²?ÊIÑVÓWˆà—‘ ¨v°vÐ.>È�ÓNˆÜ×"Ñ"¢IªÐ#?ÈÐPVÐGWÔXˆÜšY¨a¸&¸ÔBˆä
×Ñ˜f hÔ/à—‘ ¨f¸fÈe�ÓTˆÜØ”—‘œŸ™Ð ¤2§6¡6¨1¬b¯f©fÐ"5¼¿¹ÄÇÁÈÐ7JÐKÜš	¨Ô/Üš/°Ô7ô
ˆô 	×Ñ˜f hÔ/à—‘ ¨f¸u¸g�ÓFˆÜ×"Ñ" U G¨f¨XÐ#6Ó7ˆÜšY¬e²IÀFÔ.KÐUVÔWˆä
×Ñ˜f hÕ/r   c                 óÞ   — d}t        dg d¢it        dgt        ¬«      ¬«      }t        |dgt        d|¬«      }t        dd	d
|gdd¬«      }t        |g ¬«      }t        j                  ||«       y )Nu   Î”Î¿ÎºÎ¹Î¼Î®r,   ro   r¿   r¥   T)rC   r^   rÄ   r–  r   r3   r   rp  r=  r¤   )r
   r   rp  r   rI   rG   rH   )r?   ÚgreekÚframerP   rC   rR   s         r   Útest_pivot_margins_name_unicodez.TestPivotTable.test_pivot_margins_name_unicodeÏ  sm   € à6ˆÜ˜5¢)Ð,´e¸U¸GÌ6Ô6RÔSˆÜØ˜%˜¬#°tÈ%ô
ˆô �q˜!˜Q Ð&¨h¸UÔCˆÜ 5°"Ô5ˆÜ
×Ñ˜e XÕ.r   c                 óð  — t        g d¢g d¢t        d«      dœ«      }t        |ddd¬«      }t        d	gd
dggddgddggd dg¬«      }t        dddœdddœdœ|¬«      j	                  d«      }t        j                  ||«       t        |ddddg¬«      }t        ddgd	gd
dggg d¢g d¢g d¢gg d¢¬«      }t        dddœdddœdddœdddœdœ|¬«      j	                  d«      }t        j                  ||«       y ) Nr+   r.   r4   rœ   r5   r6   r]   rú  r7   r/   r0   r   r   ro  r$  r¬  )r-   r,   rÆ   r&  ))r7   r/   )r7   r0   r¥   rF   r½   )r   r   r   r   rt  )NNr6   r¢   rþ   r¡   g«ªªªªª@))rF   r7   r/   )rF   r7   r0   )r]   r7   r/   )r]   r7   r0   )r
   r§   r   r   rÈ  rG   rH   )r?   r@   rd   rÊ  rR   s        r   Útest_pivot_string_as_funcz(TestPivotTable.test_pivot_string_as_funcÚ  sA  € ô òòô ˜2“Yñ7ó
ˆô@ ˜T¨°cÀ5ÔIˆÜØ�E˜E 5˜>Ð*°A°q°6¸A¸q¸6Ð2BÈ4ÐQTÈ+ô
ˆô Ø#%¨bÑ1ÈÐSUÑAVÑWØô
÷ ‰+�cÓ
ð 	ô 	×Ñ˜f hÔ/ä˜T¨°cÀEÈ6À?ÔSˆÜØ˜F�O c U¨U°E¨NÐ;Ú¢ª|Ð<Ú#ô
ˆô
 à.1¸$Ñ&?Ø.1Ð:KÑ&LØ-/¸Ñ%;Ø-.°rÑ%:ñ	ð ô
÷ ‰+�cÓ
ð 	ô 	×Ñ˜f hÕ/r   z
f, f_numpyr  c                 óB  — |j                  d¬«      }t        |dd|¬«      }t        |t        «      rdj	                  |«      n|}d|› d�}t        j                  t        |¬	«      5  t        |dd|¬«      }d d d «       t        j                  |«       y # 1 sw Y   Œ xY w)
Nr7   r¥   r5   r6   rú  ú|zusing DataFrameGroupBy.[ú]r‹   )	r  r   Ú
isinstancera   ÚjoinrG   r’   r“   rH   )r?   rè   Úf_numpyr@   rd   Úopsr–   rR   s           r   Útest_pivot_string_func_vs_funcz-TestPivotTable.test_pivot_string_func_vs_func  s“   € ð �y‰y ˆyÓ%ˆÜ˜T¨°cÀ1ÔEˆÜ'¨¬4Ô0ˆc�h‰h�qŒk°aˆØ(¨¨¨QÐ/ˆÜ×'Ñ'¬¸SÔAñ 	RÜ" 4¨s¸CÈÔQˆH÷	Rä
×Ñ˜f hÕ/÷	Rð 	Rús   Á&BÂBc           	      ó  —  G d„ dt         j                  «      }|j                  «       5 }|j                  t         d|«       t	        t        j                  d«      t        j                  d«      ddœ«      }d}t        j                  t        |¬«      5  t        j                  t        d	¬«      5  |j                  d
ddd¬«       d d d «       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nc                   ó    ‡ — e Zd Zdˆ fd„Zˆ xZS )úSTestPivotTable.test_pivot_number_of_levels_larger_than_int32.<locals>.MockUnstackerc                 ó8   •— t        ‰| �  |i |¤Ž t        d«      ‚)NúDon't compute final result.)ÚsuperÚ__init__Ú	Exception)r?   ÚargsÚkwargsÚ	__class__s      €r   r²  z\TestPivotTable.test_pivot_number_of_levels_larger_than_int32.<locals>.MockUnstacker.__init__3  s!   ø€ ä‘Ñ  $Ð1¨&Ò1ÜÐ =Ó>Ð>r   )ÚreturnN)Ú__name__Ú
__module__Ú__qualname__r²  Ú__classcell__)r¶  s   @r   ÚMockUnstackerr®  2  s   ø„ ÷?ñ ?r   r¼  Ú
_Unstackeri   r   )Úind1Úind2r†  z$The following operation may generater‹   r°  r¾  r¿  r†  r,  )Úreshape_libr½  ÚcontextÚsetattrr
   r;   rÈ   rG   r’   r   rx  ry  r³  r   )r?   Úmonkeypatchr¼  r‚   rc   r–   s         r   Ú-test_pivot_number_of_levels_larger_than_int32z<TestPivotTable.test_pivot_number_of_levels_larger_than_int32.  sß   € ô	?œK×2Ñ2ô 	?ð × Ñ Ó"ð 	 aØ�I‰I”k <°Ô?ÜÜŸ™ 5Ó)´2·9±9¸UÓ3CÈaÑPóˆBð 9ˆCÜ×+Ñ+Ô,>ÀcÔJñ Ü—]‘]¤9Ð4QÔRñ Ø—N‘NØ$¨f¸WÈgð #ô ÷÷÷	ð 	÷ð ú÷ð ú÷	ð 	ús<   ªA*C7ÂC+Â0CÃC+ÃC7ÃC(Ã$C+Ã+C4	Ã0C7Ã7D c                 ó¦  — t        g d¢g d¢g d¢dœ«      }d„ }d„ }d„ }t        |d|||g|¬	«      }d
dt        j                  t        j                  ddgddt        j                  t        j                  ddgg}t	        j
                  g d¢ddggd dg¬«      }t        |ddg|¬«      }	|r|	j                  d¬«      }	t        j                  ||	«       y )N)ÚappleÚpeachrÆ  )r   r   r3   )rÆ   r*  r*  )ÚfruitÚsizeÚtastec                  ó   — y)Nr   rÕ   rÖ   s    r   Úret_onez?TestPivotTable.test_pivot_table_aggfunc_dropna.<locals>.ret_oneO  s   € Ør   c                 ó   — t        | «      S r   )r]   rÖ   s    r   Úret_sumz?TestPivotTable.test_pivot_table_aggfunc_dropna.<locals>.ret_sumR  s   € Ü�q“6ˆMr   c                 ó"   — t         j                  S r   )r;   r³   rÖ   s    r   Úret_nonez@TestPivotTable.test_pivot_table_aggfunc_dropna.<locals>.ret_noneU  s   € Ü—6‘6ˆMr   rÈ  ©rD   r^   r   r   r   r¬  r*  )rÎ  rÐ  rÌ  rÆ  rÇ  r}   rÉ  rÊ  r¤   rD   r  )	r
   r   r;   r³   r   Úfrom_productr   rG   rH   )
r?   r   rc   rÌ  rÎ  rÐ  rd   r@   ró   rR   s
             r   Útest_pivot_table_aggfunc_dropnaz.TestPivotTable.test_pivot_table_aggfunc_dropnaE  s×   € äâ4Ú!Ú"ñó
ˆò	ò	ò	ô Ø˜¨'°8¸WÐ)EÈfô
ˆð �A”r—v‘vœrŸv™v q¨!Ð,¨r°1´b·f±f¼b¿f¹fÀaÈÐ.KÐLˆÜ×%Ñ%Ú/°'¸7Ð1CÐDØ˜�/ô
ˆô ˜T¨&°'Ð):ÀCÔHˆáØ—‘¨I�Ó6ˆHä
×Ñ˜f hÕ/r   c                 ó~  — t        g d¢dt        j                  dgdt        j                  t        j                  gdœ«      }t        |dd|¬«      }d	t        j                  gdt        j                  gg}t	        d
dgd¬«      }t        |ddg|¬«      }|r|j                  d¬«      }t        j                  ||«       y )N)r/   r0   r/   r   r3   r   )r5   rl   rm   r5   rF   rÑ  rã   r/   r0   rž   rl   rm   r¤   rD   r  )r
   r;   r³   r   r   r   rG   rH   )r?   r   rc   rd   r@   ró   rR   s          r   Ú&test_pivot_table_aggfunc_scalar_dropnaz5TestPivotTable.test_pivot_table_aggfunc_scalar_dropnah  s    € äÚ'¨q´"·&±&¸!¨nÀAÄrÇvÁvÌrÏvÉvÐCVÑWó
ˆô ˜R¨°fÀVÔLˆà”b—f‘f� ¤2§6¡6˜{Ð+ˆÜ�U˜E�N¨Ô-ˆÜ˜T¨#¨s¨¸SÔAˆáØ—‘¨I�Ó6ˆHä
×Ñ˜f hÕ/r   rÄ   c                 óô   — t        g d¢g d¢g d¢g d¢dœ«      }|j                  dddt        j                  |¬	«      }t	        g d¬
«      }t        t	        g dd¬«      |¬«      }t        j                  ||«       y )N)r3   r3   r   r   r3   )rX   r*  rÆ   r¹  r›   )Úprj  rj  r×  rj  )NNNNN)r5   Úidr7   r8   r5   r8   rØ  rÃ   rž   rà   r=  r¤   )r
   r   r;   rÉ  r   rG   rH   )r?   rÄ   rc   rd   Úexp_colsrR   s         r   Útest_pivot_table_empty_aggfuncz-TestPivotTable.test_pivot_table_empty_aggfuncy  sv   € ô â$Ú%Ú.Ú3ñ	ó
ˆð —‘Ø˜s¨4¼¿¹È'ð  ó 
ˆô ˜ #Ô&ˆÜ¤5¨°7ÀÔ#EÈxÔXˆÜ
×Ñ˜f hÕ/r   c                 ó¾   — d„ }t        g d¢g d¢g d¢dœ«      }t        j                  t        d¬«      5  |j	                  ddd	|¬
«       d d d «       y # 1 sw Y   y xY w)Nc                 ó,   — t        j                  | «      S r   )r;   rF   )Úarrs    r   rN   z=TestPivotTable.test_pivot_table_no_column_raises.<locals>.agg�  s   € Ü—7‘7˜3“<Ðr   r½   rt  )rÇ   r&  r4  é(   )rM  rN  ÚZÚ
notpresentr‹   rM  rN  )r^   )r
   rx  ry  rƒ  r   )r?   rN   rc   s      r   Ú!test_pivot_table_no_column_raisesz0TestPivotTable.test_pivot_table_no_column_raises‹  sV   € ò	 ô š\²ÒCSÑTÓUˆÜ�]‰]œ8¨<Ô8ñ 	@Ø�N‰N˜<¨¨c¸3ˆNÔ?÷	@÷ 	@ñ 	@ús   ´AÁAc                 óì  — t        g d¢g d¢g d¢g d¢g d¢dœ«      }t        |ddgd	d
gdg d¢dœ¬«      }t        j                  g d¢«      }t        j                  g d¢d	d
g¬«      }t	        j
                  g d¢g d¢g d¢g d¢g«      }t        |||¬«      }|d   j                  t        j                  «      |d<   |d   j                  t        j                  «      |d<   t        j                  ||«       y )Nr²  r³  r´  r·  r¸  rº  r8   r9   r5   r7   rF   )rQ  rk  rF   r  )rB   rC   r^   ))r8   rF   ©r9   rk  )r9   rF   ©r9   rQ  ))r-   r¶  )r-   rµ  )r,   r¶  )r,   rµ  r}   )r©  ç      "@g      @r    )r©  rå  g      !@r£   )rŽ   r¢   rå   r�   )g["8ªªª@r    g.UUU@rŽ   rÐ  rä  rã  )
r
   r   r   r~   r;   rü  rb   rà   rG   rH   )r?   rc   rP   rq   rC   ÚvalsrR   s          r   Ú0test_pivot_table_multiindex_columns_doctest_casez?TestPivotTable.test_pivot_table_multiindex_columns_doctest_case”  sú   € ô âTÚTò
ò 1Ú0ñó
ˆô( ØØ˜�:Ø˜�*Ø Ò'=Ñ>ô	
ˆô ×%Ñ%ÚFó
ˆô ×&Ñ&ÚTØ˜�*ô
ˆô �x‰xâ$Ú$Ú$Ú2ð	ó
ˆô ˜T¨4°uÔ=ˆØ!)¨,Ñ!7×!>Ñ!>¼r¿x¹xÓ!Hˆ�ÑØ!)¨,Ñ!7×!>Ñ!>¼r¿x¹xÓ!Hˆ�ÑÜ
×Ñ˜e XÕ.r   c           	      óf  — t        g d¢g d¢g d¢g d¢dœ«      }|j                  ddgdd	d
d¬«      }t        dt        j                  gdt        j                  gt        j                  dggt	        ddgd¬«      t        j                  g d¢g d¢gddg¬«      ¬«      }t        j                  ||«       y )N)Úd1Úd4Úd3rg   )é   r¿  é"   )Ú2018rî  Ú2019)rh   ró   Únumrÿ  rh   ró   rÿ  rð  r]   F)rC   rD   rB   r^   Úsortrì  r¿  rí  rî  rï  rž   r}   rÐ  )	r
   r   r;   r³   r   r   r#   rG   rH   r{  s       r   Útest_pivot_table_sort_falsez*TestPivotTable.test_pivot_table_sort_falseÈ  s­   € äâ'Ú&Ú#Ú0ñ	ó
ˆð —‘Ø˜�,¨°uÀeÐRWð  ó 
ˆô Ø”"—&‘&ˆ\˜B¤§¡˜<¬"¯&©&°"¨Ð6Ü˜6 6Ð*°Ô8Ü×(Ñ(Ú#¢_Ð5¸cÀ5¸\ôô
ˆô 	×Ñ˜f hÕ/r   c           	      ó  — t        dddgt        ddgd¬«      dœ«      }|j                  d	d
dd¬«      }t        ddgddgddggt        g d¢d	¬«      t	        j
                  ddgd d
g¬«      d¬«      }t        j                  ||«       y )Nr5   r   r3   rÇ   r4   ÚInt64r¿   )rh   ri   Úsalesri   rh   Tr]   r—  r¿  r`  rž   ©rõ  r5   ©rõ  rÅ   r}   ©rC   rD   rÀ   )r
   r   r   r   r   r~   rG   rH   r{  s       r   Ú!test_pivot_table_nullable_marginsz0TestPivotTable.test_pivot_table_nullable_marginsÞ  s›   € äØ˜Q ˜F¬V°R¸°HÀGÔ-LÑMó
ˆð —‘ c°3ÀÈe�ÓTˆÜØ�"ˆX˜˜B�x " b Ð*Üš¨CÔ0Ü×*Ñ*ØÐ!1Ð2¸4À¸+ôð ô
ˆô 	×Ñ˜f hÕ/r   c           	      óî   — t        ddgddgddgddgd	œ«      }|j                  d
dgddgd¬«      }t        ddgddggddgt        j                  ddgd
dg¬«      ¬«      }t	        j
                  ||«       y )NÚJohnÚMichaelÚFooÚBaré­   é¶   é/   rÁ  )Ú	firstnameÚlastnameÚheightÚager  r  r  r  F)rC   rB   rñ  g      e@g     €G@g     Àf@g     €@@)rý  rû  )rþ  rü  r}   rÐ  )r
   r   r   r~   rG   rH   r{  s       r   Ú0test_pivot_table_sort_false_with_multiple_valuesz?TestPivotTable.test_pivot_table_sort_false_with_multiple_valuesï  s©   € Üà$ iÐ0Ø" E˜NØ ˜*Ø˜B�xñ	ó
ˆð —‘Ø˜{Ð+°X¸uÐ4EÈEð  ó 
ˆô Ø�Tˆ]˜U D˜MÐ*Ø˜uÐ%Ü×(Ñ(Ø Ð"4Ð5Ø! ;Ð/ôô
ˆô 	×Ñ˜f hÕ/r   c                 ó.  — t        g d¢g d¢g d¢g d¢g«      }g d¢|_        |j                  dddd	d
d¬«      }t        g d¢g d¢g d¢g«      }g d¢|_        g d¢|_        d|j                  _        d|j                  _        t        j                  ||«       y )N©rh   rl   r   ©rh   rm   r3   ©ri   rm   r   ©ri   rn   r   )rÇ   r&  r4  rÇ   r&  r4  r]   r   T©rC   rD   rB   r^   r_   rÄ   ©r   r3   r   r   ©r   r   r   rÆ   ©r   rX   r   rÇ   ©rl   rm   rn   rÅ   ©rh   ri   rÅ   )r
   rD   r   rC   rL   rG   rH   r{  s       r   Ú1test_pivot_table_with_margins_and_numeric_columnsz@TestPivotTable.test_pivot_table_with_margins_and_numeric_columns	  s‰   € äš¢}²mÂ]ÐSÓTˆÚ!ˆŒ
à—‘Ø˜b¨°UÀqÐRVð  ó 
ˆô šlªLº-ÐHÓIˆÚ1ˆÔÚ*ˆŒØ "ˆ×ÑÔØ ˆ�‰Ôä
×Ñ˜f hÕ/r   r   c                 óæ   — t        ddt        ddgd¬«      dœ«      }|j                  dd	d
d|¬«      }t        dggt        dgd¬«      t        dgd	¬«      d¬«      }t	        j
                  ||«       y )Nrh   ri   r&  rÞ  rô  r¿   )rl   rm   r  rl   rm   r  rF   )rC   rD   rB   r^   r   r4  rž   ÚFloat64rø  )r
   r   r   r   rG   rH   )r?   r   rc   rd   rR   s        r   Útest_pivot_ea_dtype_dropnaz)TestPivotTable.test_pivot_ea_dtype_dropna	  s~   € ô ˜S s´6¸2¸r¸(È'Ô3RÑSÓTˆØ—‘Ø˜s¨5¸&Èð  ó 
ˆô ØˆTˆFÜ˜˜ CÔ(Ü˜3˜% cÔ*Øô	
ˆô 	×Ñ˜f hÕ/r   c                 ó  — t        dddgt        j                  d«      ddgdœ«      }t        j                  d «      5  |j                  dd	gd
dd¬«      }d d d «       t        ddgddgddggt        j                  t        g d¢d¬«      t        t        j                  d«      t        j                  d«      dgt        d	¬«      g«      t        j                  ddgd d
g¬«      ¬«      }t        j                  |«       y # 1 sw Y   Œ«xY w)Nr5   r   r3   z
2019-12-31g      $@r4   )rh   ri   r   rõ  ri   r   rh   Tr]   r—  r  g      5@r`  rž   rˆ  r=  rö  r÷  r}   r¤   )r
   r!   r-  rG   r’   r   r   r#   r   rp  r~   rH   r{  s       r   Ú!test_pivot_table_datetime_warningz0TestPivotTable.test_pivot_table_datetime_warning%	  s  € äàØ˜�VÜŸ™ \Ó2Ø ˜ñ	ó
ˆô ×'Ñ'¨Ó-ñ 	Ø—^‘^Ø˜F�m¨S¸$Èð $ó ˆF÷	ô Ø�Dˆ\˜D $˜<¨$°¨Ð6Ü×(Ñ(äš-¨cÔ2ÜÜŸ™ lÓ3´R·\±\À,Ó5OÐQSÐTÜ$Ø#ôðó	ô ×*Ñ*ØÐ!1Ð2¸4À¸+ôô
ˆô  	×Ñ˜f hÕ/÷)	ð 	ús   ½C?Ã?Dc                 óz  — t        g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢dœ«      }t        |ddd	gd
gd¬«      }t        ddgddgddgt        j                  dggt	        ddgd
¬«      t        j                  g d¢ddgdz  gdd	g¬«      ¬«      }|r|d   j                  d«      |d<   t        j                  ||«       y )Nr²  r³  r´  r·  r¸  )r5   r6   r7   r8   r9   )Úcol5)Úcol6r*  ©rÆ   Úsevenr8   r5   r6   r  r]   r  r�   r¢   r¡   r    r�   r¶  rµ  rž   )r-   r-   r,   r,   r/   r0   r3   r}   rÐ  rà   )
r
   r   r;   r³   r   r   r#   rb   rG   rH   )r?   r1  rc   rd   rR   s        r   Ú)test_pivot_table_with_mixed_nested_tuplesz8TestPivotTable.test_pivot_table_with_mixed_nested_tuplesE	  sâ   € äâTÚTò
ò 1Ú0ò
ò
ò
ñM1ó3
ˆôh Ø�s 3¨ *°|°nÈeô
ˆô Ø�3ˆZ˜#˜s˜ c¨3 Z´"·&±&¸#°Ð?Ü˜7 GÐ,°<Ô@Ü×(Ñ(Ú-°°u¨~ÀÑ/AÐBÈ3ÐPSÈ*ôô
ˆñ à (¨Ñ 1× 8Ñ 8¸Ó AˆH�WÑÜ
×Ñ˜f hÕ/r   c                 ó8  — t        t        d«      t        d«      t        d«      t        d«      dœ«      }t        j                  t        d«      D �cg c]  }d‘Œ c}t        d«      D �cg c]  }d‘Œ c}t        d«      gd¬«      }t	        j
                  dt        j                  «      }t	        j                  |d«       t        |t        t        d«      d	¬
«      |¬«      }|j                  d	gdgdgdg¬«      }t        j                  ||«       y c c}w c c}w )NrÇ   rš   Únuniquerj   )NNri   r}   )rÇ   rÇ   r�   rh   rž   r¤   ri   r,  )r
   r§   r   r#   r;   Úfullr³   Úfill_diagonalr   r   rG   rH   )r?   Útestrß   Ú	columnvalÚnparrrR   rd   s          r   Ú6test_pivot_table_aggfunc_nunique_with_different_valueszETestPivotTable.test_pivot_table_aggfunc_nunique_with_different_valuesŠ	  s  € Üä˜2“YÜ˜2“YÜ˜2“YÜ˜2“Yñ	ó
ˆô ×*Ñ*ä$)¨"£IÖ.˜q’Ò.Ü# B›iÖ(˜’Ò(Ü�b“	ðð
 $ô
ˆ	ô —‘˜¤"§&¡&Ó)ˆÜ
×Ñ˜ Ô$ä˜U¬%´°b³	ÀÔ*DÈiÔXˆØ×!Ñ!àðð ðð ðð �Kð "ó 
ˆô 	×Ñ˜f hÕ/ùò/ /ùÚ(s   Á	DÁ)	D
)ar¸  r¹  rº  rx  Úfixturer@   rS   re   rv   rƒ   r˜   r«   r¶   r¸   r»   rÏ   rÒ   rØ   rÚ   ré   ÚmarkÚparametrizerô   r
  r  r  r(  r4  rE  rU  r\  rb  r;   rü  r   r   rr  ru  r{  Úxfailr�  r„  r“  r™  r¨  r   r~   r»  rË  rÍ  rÒ  rÖ  rá  rè  r	  r  r  r  r  r   r$  r2  r7  rK  rO  rY  r[  re  ro  rv  rx  r|  rƒ  r‰  r›  r�  r¡  r£  r]   rF   r  r«  ÚslowrÄ  rÓ  rÕ  rÚ  rá  rç  rò  rù  r  r  r  r  r  r%  rÕ   r   r   r)   r)   ,   sÊ  „ Ø‡^�^ñ.
ó ð.
ò`/ò80ò6
&ò#/òJ0ò 0ò@!0òF0ò<0ò1ò80ò
0ò
/ò!1ðF ‡[�[×ÑØà�x Ð*Ð+ØÒ3Ð4ØÒ3Ð4ð	
óñ"óð"ò,(ò\0ò0ð2 ‡[�[×Ñ˜X¨¨e }Ó5ñXó 6ðXð6 ‡[�[×Ñ˜X¨¨e }Ó5ñ,ó 6ð,ð6 ‡[�[×Ñ˜X¨¨e }Ó5ñ=,ó 6ð=,ò~50ðn ‡[�[×Ñ˜X¨¨e }Ó5ñ+,ó 6ð+,òZ0ð0 ‡[�[×ÑØà�EˆNØˆB�H‰H�e˜U�^Ó$Ù�E˜5�>Ó"Ù�5˜%�.Ó!ð		
óð ‡[�[×Ñ˜X¨¨e }Ó5ñ0ó 6óð0ð6 ‡[�[×ÑØà�EˆNØˆB�H‰H�e˜U�^Ó$Ù�E˜5�>Ó"Ù�5˜%�.Ó!ð		
óð ‡[�[×Ñ˜X¨¨e }Ó5ñ 0ó 6óð 0òD2ð ‡[�[×ÑØSð ó ð ‡[�[×Ñ˜X¨¨e }Ó5ñ$0ó 6óð$0ðL ‡[�[×Ñ˜X¨¨e }Ó5ñPó 6ðPð, �CˆjØ�Øó=ò2Bò2/ð0 ‡[�[×ÑØ4ð ØÚ%Ò';Ð<ÙÒ2¸Ô=ð	ð �c�
Øâ)Ú,ðð '�
×&Ñ&òð  ˜*ô
ðð	
óñ<"0ó=ð<"0òH0ò00ð& ‡[�[×Ñ˜VÒ%MÓNñ0ó Oð0ò2ò@ò*/ò$17òf0ò8òAò7òAð ‡[�[×Ñ˜]¨U°E¸3ÀÀsÈCÀjÐ,QÓRñ#ó Sð#òJVòp}2ò~Y0òvY0òv0ò$0òCò&/ò</ò/ò 0ò$!0òF0ò,*0òX0ò8	/ò<0ð| ‡[�[×ÑØà�B—F‘FˆOØ�R—W‘WÐØ�B—F‘FˆOØ�Vˆ_˜rŸv™v r§w¡wÐ/Ð0Ø�Uˆ^˜bŸf™f b§f¡fÐ-Ð.Ø�Vˆ_˜rŸv™v r§w¡wÐ/Ð0ð	
ó
ñ	0ó
ð	0ð ‡[�[×Ññó ðò,!0òF0ð" ‡[�[×Ñ˜Y¨¨u¨Ó6ñ0ó 7ð0ò"@ò2/òh0ò,0ò"0ò,0ð" ‡[�[×Ñ˜X¨¨e }Ó5ñ0ó 6ð0ò0ò@C0óJ#0r   r)   c                   ó€  — e Zd Zd„ Zd„ Zd„ Zej                  j                  de	dg«      d„ «       Z
d„ Zd„ Zd	„ Zej                  j                   e«       d
¬«      d„ «       Zej                  j                   e«       d
¬«      d„ «       Zej                  j                   e«       d
¬«      d„ «       Zd„ Zd„ Zd„ Zd„ Zy)Ú	TestPivotc                 óö  — g d¢g d¢g d¢dœ}t        |«      }|j                  ddd¬«      }t        dd	d
dœdd	d
dœdœ«      }d\  |j                  _        |j                  _        t        j                  ||«       |j                  j                  dk(  sJ ‚|j                  j                  dk(  sJ ‚|j                  dd¬«      }|j                  j                  dk(  sJ ‚|j                  j                  dk(  sJ ‚y )N©r5   r6   r7   r7   r6   r5   ©ÚOner0  r0  ÚTwor1  r1  ©r�   rŽ   r�   r�   rŽ   r�   rï   rC   rD   rB   r�   rŽ   r�   rœ   ©r0  r1  r¤   ©NrD   )r
   r'  rC   rL   rD   rG   rH   rJ   )r?   r@   r   r  rR   s        r   Ú
test_pivotzTestPivot.test_pivot±	  sø   € â3ÚAÚ4ñ
ˆô ˜$“ˆØ—+‘+ G°YÀx�+ÓPˆäà  s°Ñ5Ø  s°Ñ5ñó
ˆð 6HÑ2ˆ�‰Ô˜X×-Ñ-Ô2Ü
×Ñ˜g xÔ0ð �}‰}×!Ñ! WÒ,Ð,Ð,Ø�‰×#Ñ# yÒ0Ð0Ð0ð —+‘+ G°Y�+Ó?ˆØ�}‰}×!Ñ! WÒ,Ð,Ð,Ø�‰×$Ñ$Ð(9Ò9Ð9Ñ9r   c                 ó¶   — t        g d¢g d¢g d¢dœ«      }t        j                  t        d¬«      5  |j	                  ddd	¬
«       d d d «       y # 1 sw Y   y xY w)N)r-   r-   r,   r,   r,   )r/   r0   r/   r/   r0   )r�   rŽ   r�   r�   r�   rg   zduplicate entriesr‹   rh   ri   rj   rï   )r
   rx  ry  r#  r'  )r?   r@   s     r   Útest_pivot_duplicateszTestPivot.test_pivot_duplicatesÎ	  sR   € Üâ8Ú8Ú.ñó
ˆô �]‰]œ:Ð-@ÔAñ 	;Ø�J‰J˜S¨#°cˆJÔ:÷	;÷ 	;ñ 	;ús   ±AÁAc                 ó’   — t        g d¢¬«      }|j                  ddd¬«      }t        g g ¬«      }t        j                  ||d¬	«       y )
Nrg   r¥   rh   ri   rj   rï   r¤   Fr†  )r
   r'  rG   rH   r{  s       r   Útest_pivot_emptyzTestPivot.test_pivot_emptyÙ	  s>   € ÜšÔ/ˆØ—‘ ¨S¸�Ó=ˆÜ 2¨rÔ2ˆÜ
×Ñ˜f h¸EÖBr   rÀ   Ústringc                 ó¦   — t        ddg|¬«      }|j                  ddd¬«      }t        j                  |j                  t        dd	gd|¬
«      «       y )N)r5   rÜ  ÚA1)r6   rÞ  ÚB2)r@   rÀ   r   r   r3   rï   r5   r6   r=  )r
   r'  rG   r   rD   r   )r?   rÀ   rc   rd   s       r   Útest_pivot_integer_bugz TestPivot.test_pivot_integer_bugß	  sJ   € äÐ-Ð/?Ð@ÈÔNˆà—‘ ¨1°Q�Ó7ˆÜ
×Ñ˜fŸn™n¬e°S¸#°JÀQÈeÔ.TÕUr   c                 óê  — g d¢g d¢g d¢dœ}t        |«      j                  d«      }|j                  dd¬«      }t        d	d
ddœd	d
ddœdœ«      }d\  |j                  _        |j
                  _        t        j                  ||«       |j                  d¬«      }t        j                  ddgd dg¬«      |_        d|j                  _        t        j                  ||d¬«       |j                  j                  dk(  sJ ‚|j
                  j                  dk(  sJ ‚|j
                  j                  d«      |_        |j                  dd¬«      }d|j
                  _        t        j                  ||«       y )Nr.  r/  r2  rï   rC   rD   rB   ©rD   rB   r�   rŽ   r�   rœ   r3  r¤   r¥   )rB   r0  )rB   r1  r}   Fr†  r4  r   )r
   rR  r'  rC   rL   rD   rG   rH   r   r~   rJ   rT  )r?   r@   r   rd   rR   s        r   Útest_pivot_index_nonezTestPivot.test_pivot_index_noneæ	  s[  € ò 4ÚAÚ4ñ
ˆô ˜$“×)Ñ)¨'Ó2ˆØ—‘ Y°x�Ó@ˆÜà  s°Ñ5Ø  s°Ñ5ñó
ˆð 6HÑ2ˆ�‰Ô˜X×-Ñ-Ô2Ü
×Ñ˜f hÔ/ð —‘ Y�Ó/ˆä%×1Ñ1ØÐ 1Ð2¸4ÀÐ:Kô
ˆÔð &ˆ�‰ÔÜ
×Ñ˜f h¸EÕBØ�|‰|× Ñ  GÒ+Ð+Ð+Ø�~‰~×#Ñ#Ð'8Ò8Ð8Ð8Ø#×+Ñ+×5Ñ5°aÓ8ˆÔØ—‘ Y°x�Ó@ˆà )ˆ×ÑÔÜ
×Ñ˜f hÕ/r   c                 óò  — t        g d¢g d¢g d¢g d¢g d¢dœ«      }ddg}d	g}|j                  ||¬
«      }t        t        j                  g d¢dt        j                  dt        j                  gg d¢t        j                  dt        j                  dgg«      t        j                  ddgddg¬«      t        j                  ddgd d	g¬«      ¬
«      }t        j                  ||«       |ddgk(  sJ ‚|d	gk(  sJ ‚y )N)r   r   r   r3   r3   r3   )r   r   r3   r   r   r3   )r   r3   r   r3   r   r3   rh  r  )Úlev1Úlev2Úlev3Úlev4rB   rC  rD  rE  r¤   )r�   rŽ   rŸ   r�   r�   rŽ   )r¢   r�   r�   r�   r    r¢   r¾   )r   r3   r   r3   r}   )rF  rF  rB   rB   )	r
   r'  r;   rü  r³   r   r#   rG   rH   )r?   rc   rC   rD   rd   rR   s         r   Ú0test_pivot_index_list_values_none_immutable_argsz:TestPivot.test_pivot_index_list_values_none_immutable_args

  s  € äâ*Ú*Ú*Ú*Ú,ñó
ˆð ˜Ð ˆØ�(ˆØ—‘ ¨w�Ó7ˆäÜ�H‰Hâ(Øœ"Ÿ&™& #¤r§v¡vÐ.Ú(Ü—V‘V˜S¤"§&¡&¨#Ð.ð	óô ×(Ñ(Ø˜|Ð,°V¸VÐ4Dôô ×*Ñ*Ø5°|ÐDØ˜V�nôô
ˆô$ 	×Ñ˜f hÔ/à˜ Ð(Ò(Ð(Ð(Ø˜6˜(Ò"Ð"Ñ"r   c                 ó¢   — t        dgddœ«      }t        j                  t        d¬«      5  |j	                  «        d d d «       y # 1 sw Y   y xY w)Nr   rÎ  z(missing 1 required keyword-only argumentr‹   rw  )r?   rc   s     r   Útest_pivot_columns_not_givenz&TestPivot.test_pivot_columns_not_given0
  s@   € ä˜a˜S qÑ)Ó*ˆÜ�]‰]œ9Ð,VÔWñ 	Ø�H‰HŒJ÷	÷ 	ñ 	ús   «AÁAzNone is cast to NaNr|  c                 ó¤  — t        dgdddœ«      }|j                  d ¬«      }t        dgddœ«      }t        j                  ||«       |j                  d d¬«      }t        d	dit	        dgd¬
«      ¬«      }t        j                  ||«       |j                  d dd¬«      }t        ddit	        dgd¬
«      ¬«      }t        j                  ||«       y )Nr   r3   r   ©Nri   rj   r¥   ))ri   r   ©rj   r   ri   rÐ  rL  rž   r‘   rj   ©rD   rC   rB   )r
   r'  rG   rH   r   r{  s       r   Útest_pivot_columns_is_nonez$TestPivot.test_pivot_columns_is_none6
  sÀ   € ô ˜q˜c¨°Ñ2Ó3ˆØ—‘ $�Ó'ˆÜ¨¨°qÑ9Ó:ˆÜ
×Ñ˜f hÔ/à—‘ $¨c�Ó2ˆÜ˜h¨˜]´%¸¸À#Ô2FÔGˆÜ
×Ñ˜f hÔ/à—‘ $¨c¸#�Ó>ˆÜ˜a ˜V¬5°!°¸3Ô+?Ô@ˆÜ
×Ñ˜f hÕ/r   c                 óF  — t        dgdddœ«      }|j                  dd ¬«      }t        ddidg¬«      }d dg|j                  _        t	        j
                  ||«       |j                  dd d	¬
«      }t        ddgt        dgd¬«      ¬«      }t	        j
                  ||«       y )Nr   r3   r   rK  ri   rÐ  )rj   r3   r‘   rj   rM  rž   r¤   )r
   r'  rD   rJ   rG   rH   r   r{  s       r   Útest_pivot_index_is_nonez"TestPivot.test_pivot_index_is_noneF
  sš   € ô ˜q˜c¨°Ñ2Ó3ˆà—‘ #¨T�Ó2ˆÜ˜h¨˜]°1°#Ô6ˆØ"&¨ ˆ×ÑÔÜ
×Ñ˜f hÔ/à—‘ #¨T¸#�Ó>ˆÜ˜Q q c´5¸!¸À3Ô3GÔHˆÜ
×Ñ˜f hÕ/r   c                 óL  — t        dgdddœ«      }|j                  ddd ¬«      }t        dt        dgd¬«      t        dgd¬«      ¬	«      }t        j                  ||«       |j                  dd ¬
«      }t        ddgt        dgd¬«      ¬	«      }t        j                  ||«       y )Nr   r3   r   rK  ri   rj   rM  rž   r¤   r@  r   )r
   r'  r   rG   rH   r{  s       r   Útest_pivot_values_is_nonez#TestPivot.test_pivot_values_is_noneT
  s›   € ô ˜q˜c¨°Ñ2Ó3ˆà—‘ #¨S¸�Ó>ˆÜØ”U˜A˜3 SÔ)´5¸!¸À3Ô3Gô
ˆô 	×Ñ˜f hÔ/à—‘ #¨d�Ó3ˆÜ˜Q q c´5¸!¸À3Ô3GÔHˆÜ
×Ñ˜f hÕ/r   c                 óœ   — t        dgdddœ«      }|j                  d¬«      }|j                  ddd	¬
«       t        j                  ||«       y )Nrh   r   r   )r/   r0   ÚthreeT)Údeepr/   r0   rT  rï   )r
   rÇ  r'  rG   rH   )r?   rc   rR   s      r   Ú"test_pivot_not_changing_index_namez,TestPivot.test_pivot_not_changing_index_namec
  sG   € ä ˜u¨Q¸Ñ;Ó<ˆØ—7‘7 �7Ó%ˆØ
�‰�u e°GˆÔ<Ü
×Ñ˜b (Õ+r   c                 ó¨   — t        g g d¢¬«      }|j                  dddd¬«      }t        g dd¬	«      }t        j                  |j
                  |«       y )
N)rh   ri   rä  r¥   rh   ri   rä  r†  r,  rp  r=  )r
   r   r   rG   r   rD   ©r?   rc   r'  rR   s       r   Ú.test_pivot_table_empty_dataframe_correct_indexz8TestPivot.test_pivot_table_empty_dataframe_correct_indexj
  sG   € ä�rÒ#6Ô7ˆØ—‘ S°#¸gÈw�ÓWˆä˜ 8°#Ô6ˆÜ
×Ñ˜eŸm™m¨XÕ6r   c           	      óð  — t        ddddœddddœdd	d
dœg«      }t        j                  |d   «      |d<   t        j                  d«      5  |j                  ddgdgdd¬«      }d d d «       t        j                  dt        j                  dd«      fdt        j                  dd«      fdt        j                  dd«      fdgddg¬«      }t        j                  j                  |«       y # 1 sw Y   Œ‰xY w)Nrl   z
2023-01-01r   )rh   Údate_strry   rm   z
2023-01-02r3   rn   z
2023-01-03r   r[  r   Frh   ry   r]   T)rC   rB   r^   rÄ   z2023-01-01 00:00:00z%Y-%m-%d %H:%M:%Sz2023-01-02 00:00:00z2023-01-03 00:00:00rŸ  r}   )r
   r!   Úto_datetimerG   r’   r   r   r~   r   Ústrptimer   rC   rX  s       r   Ú0test_pivot_table_handles_explicit_datetime_typesz:TestPivot.test_pivot_table_handles_explicit_datetime_typesr
  s
  € äà |¸qÑAØ |¸qÑAØ |¸qÑAðó
ˆô —^‘^ B z¡NÓ3ˆˆ6‰
ä×'Ñ'¨Ó.ñ 	Ø—N‘NØ˜F�m¨X¨JÀÈtð #ó ˆE÷	ô
 ×)Ñ)à”h×'Ñ'Ð(=Ð?RÓSÐTØ”h×'Ñ'Ð(=Ð?RÓSÐTØ”h×'Ñ'Ð(=Ð?RÓSÐTØð	ð ˜�-ô
ˆô 	×Ñ˜eŸk™k¨8Õ4÷	ð 	ús   ÁC,Ã,C5c                 óî   — t        g d¢g d¢g d¢g d¢g«      }|j                  dddddd	¬
«      }t        g d¢g d¢g d¢gt        g d¢d¬«      t        g d¢d¬«      ¬«      }t        j                  ||«       y )Nr  r	  r
  r  r   r   r3   r]   Tr  r  r  r  r  rž   r  rÐ  rz  r{  s       r   Ú6test_pivot_table_with_margins_and_numeric_column_namesz@TestPivot.test_pivot_table_with_margins_and_numeric_column_names�
  ss   € äš¢}²mÂ]ÐSÓTˆà—‘Ø˜Q q°%ÀAÈtð  ó 
ˆô Úš<ªÐ7ÜÒ0°qÔ9ÜÒ)°Ô2ô
ˆô
 	×Ñ˜f hÕ/r   N)r¸  r¹  rº  r5  r7  r9  rx  r'  r(  rp  r>  rA  rG  rI  r)  r   rN  rP  rR  rV  rY  r^  r`  rÕ   r   r   r,  r,  °	  sí   „ ò:ò:	;òCð ‡[�[×Ñ˜W v¨xÐ&8Ó9ñVó :ðVò"0òH$#òLð ‡[�[×ÑÑ1Ó3Ð<QÐÓRñ0ó Sð0ð ‡[�[×ÑÑ1Ó3Ð<QÐÓRñ0ó Sð0ð ‡[�[×ÑÑ1Ó3Ð<QÐÓRñ0ó Sð0ò,ò7ò5ó60r   r,  )'r   r   r   Ú	itertoolsr   r£  Únumpyr;   rx  Úpandas._configr   Úpandas.errorsr   Úpandasr!   r	   r
   r   r   r   r   r   r   Úpandas._testingÚ_testingrG   Úpandas.api.typesr   Úpandas.core.reshaper   rÀ  Úpandas.core.reshape.pivotr   r&  r   r§   r'   r)   r,  rÕ   r   r   ú<module>rk     sÇ   ð÷ñ õ
 Û 	ã Û å 5å ,ã ÷	÷ 	ó 	õ Ý -Ý 6Ý 1ð €‡�˜˜e�}Ô%ñó &ðð €‡�˜!˜˜q™ 1 #¨¡'Ð*©U°1«X±u¸QÀ³{Ð,CÐDÔEñJó FðJ÷
A&0ñ A&0÷HLj0ò j0r   