§
    tŠtjÜ_  ã                   óð
  — d dl m Z mZ d dlZd dlZd dlmZ d dlmZm	Z	 d dl
mZ d dlZd dlmZ d dlmZ d dlmZmZ d dlmZ d d	lmZ ej                             d
ddg¦  «        d„ ¦   «         Zd„ Zej                             d¦  «        d„ ¦   «         Zd„ Z ej                             dd dd e!d¦  «        dgfdd e!d¦  «        dgfdddgfd dd e!d¦  «        gfd ddgfdd e!d¦  «        gfg¦  «        d„ ¦   «         Z"ej                             d
d„ d„ d„ d„ d„ g¦  «        d„ ¦   «         Z#d„ Z$ej                             d
g d ¢g d!¢d"œg d#¢g d!¢d"œ ej%        g d$¢¦  «         ej%        g d#¢¦  «         ej%        g d!¢¦  «        d%œg¦  «        d&„ ¦   «         Z&d'„ Z'd(„ Z(d)„ Z)d*„ Z*d+„ Z+ej                             d
i d,g ig¦  «        d-„ ¦   «         Z,dxd/„Z-dxd0„Z.d1„ Z/ej                             d2d3d4g¦  «        d5„ ¦   «         Z0d6„ Z1dxd7„Z2d8„ Z3d9„ Z4d:„ Z5d;„ Z6ej                             d<g d=¢d>d?fg d=¢d@d?fg d=¢dAdBfg d=¢dCdBfg d=¢dDdEfg d=¢dFdEfg dG¢dHdIfg dG¢dJdIfg dK¢dLdMfg dK¢dNdMfg dO¢ ej7        ej8        ¬P¦  «        dQfg dO¢dRdQf e dSdd¦  «         e dSdd¦  «        dgdTdUf e dSdd¦  «         e dSdd¦  «        dgdVdWf e dSddej9        ¬X¦  «         e dSddej9        ¬X¦  «        dgdYdZfg¦  «        d
e:d[e;d\e;d.dfd]„¦   «         Z<ej                             d<g d^¢d>d?fg d^¢d@d?fg d^¢dAdBfg d^¢dCdBfg d^¢dDdEfg d^¢dFdEfg d_¢dHdIfg d_¢dJdIfg d`¢dLdMfg d`¢dNdMfg da¢ ej7        ej8        ¬P¦  «        dQfg da¢dRdQf e dSdd¦  «         e dSdd¦  «         e dSddb¦  «        gdTdUf e dSdd¦  «         e dSdd¦  «         e dSddb¦  «        gdVdWf e dSddej9        ¬X¦  «         e dSddej9        ¬X¦  «         e dSddbej9        ¬X¦  «        gdYdZfg¦  «        d
e:d[e;d\e;d.dfdc„¦   «         Z=dxdd„Z>dxde„Z?df„ Z@ej                             dg ejA        g dh¢di¬j¦  «        ejB        dkdldmfejC        dkdldnff ejA         e dodd¦  «         e dodd¦  «         e doddb¦  «        gdp¬j¦  «        ejD        dqdrdmfejC        dqejE        dmff ejA        g ds¢¦  «        ejF        dkejF        dmfejG        dkejH        dmff ejA        g d^¢¦  «        ejC        dqejE        dmfejC        dqejE        dmff ejA        g dt¢¦  «        ejI        dqejJ        dmfejI        dqejJ        dmffg¦  «        d
ejA        d\eKeeLe;e;f         dueKeeLe;e;f         d.dfdv„¦   «         ZMdw„ ZNdS )yé    )ÚdatetimeÚtimezoneN)ÚiNaT)Úis_ci_environmentÚis_platform_windows)Úpa_version_under22p0)ÚPandasColumn)ÚColumnNullTypeÚ	DtypeKind©Úfrom_dataframe)ÚArrowCTypesÚdata)ÚorderedT)Ú	unorderedFc                 óú  — t          j        t          d¦  «        dz  d¬¦  «        t          j        t          d¦  «        dz  d¬¦  «        dœ}t          j        d|| d                  i¦  «        }t	          j        d	¬
¦  «        5  |                     ¦   «                              d¦  «        }d d d ¦  «         n# 1 swxY w Y   |j        d         t          j
        k    sJ ‚|j        dk    sJ ‚|j        t          j        dfk    sJ ‚|                     ¦   «         dk    sJ ‚|j        }|d         | d         k    sJ ‚|d         du sJ ‚t#          |d         t$          ¦  «        sJ ‚t	          j        |d         j        t          j        g d¢¦  «        ¦  «         t	          j        d	¬
¦  «        5  t	          j        |t/          |                     ¦   «         ¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚtestdataé   T)r   F)r   r   ÚAr   ÚInterchange©Úmatchéÿÿÿÿé   Ú
is_orderedÚis_dictionaryÚ
categories)ÚaÚdÚeÚsÚt)ÚpdÚCategoricalÚlistÚ	DataFrameÚtmÚassert_produces_warningÚ__dataframe__Úget_column_by_nameÚdtyper   ÚCATEGORICALÚ
null_countÚdescribe_nullr
   ÚUSE_SENTINELÚ
num_chunksÚdescribe_categoricalÚ
isinstancer	   Úassert_series_equalÚ_colÚSeriesÚassert_frame_equalr   )r   Údata_categoricalÚdfÚcolÚdesc_cats        ú`/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pandas/tests/interchange/test_impl.pyÚtest_categorical_dtyper<      s–  € õ ”>¥$ zÑ"2Ô"2°RÑ"7ÀÐFÑFÔFÝ”^¥D¨Ñ$4Ô$4°rÑ$9À5ÐIÑIÔIðð Ðõ 
Œ�sÐ-¨d°1¬gÔ6Ð8Ñ	9Ô	9€Bå	Ô	#¨-Ð	8Ñ	8Ô	8ð 9ð 9Ø×ÒÑ Ô ×3Ò3°CÑ8Ô8ˆð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9àŒ9�QŒ<�9Ô0Ò0Ð0Ð0Ð0ØŒ>˜QÒÐÐÐØÔ¥Ô!<¸bÐ AÒAÐAÐAÐAØ�>Š>ÑÔ˜qÒ Ð Ð Ð ØÔ'€HØ�LÔ! T¨!¤WÒ,Ð,Ð,Ð,Ø�OÔ$¨Ð,Ð,Ð,Ð,Ý�h˜|Ô,­lÑ;Ô;Ð;Ð;Ð;ÝÔØ�ÔÔ#¥R¤YÐ/HÐ/HÐ/HÑ%IÔ%Iñô ð õ 
Ô	#¨-Ð	8Ñ	8Ô	8ð Fð FÝ
Ô˜b¥.°×1AÒ1AÑ1CÔ1CÑ"DÔ"DÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fð Fð Fs$   Â(B9Â9B=Ã B=Æ.5G0Ç0G4Ç7G4c                  óÖ  — t          j        dd¦  «        } g d¢}|                      d|                      |¦  «                             ¦   «         i¦  «        }|                     ¦   «         }t          j        d¬¦  «        5  t          |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j
        |g d¢¬¦  «        }t          j        d|i¦  «        }t          j        ||¦  «         d S )	NÚpyarrowú11.0.0)	ÚMonÚTuer@   ÚWedr@   ÚThuÚFriÚSatÚSunÚweekdayr   r   )r@   rA   rB   rC   rD   rE   rF   )r   )ÚpytestÚimportorskipÚtableÚarrayÚdictionary_encoder)   r'   r(   r   r#   r$   r&   r6   )ÚpaÚarrrJ   Úexchange_dfÚresultrG   Úexpecteds          r;   Útest_categorical_pyarrowrR   5   s#  € å	Ô	˜Y¨Ñ	1Ô	1€Bà
IÐ
IÐ
I€CØ�HŠH�i §¢¨#¡¤×!@Ò!@Ñ!BÔ!BÐCÑDÔD€EØ×%Ò%Ñ'Ô'€KÝ	Ô	#¨-Ð	8Ñ	8Ô	8ð -ð -Ý Ñ,Ô,ˆð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -åŒnØÐIÐIÐIðñ ô €Gõ Œ|˜Y¨Ð0Ñ1Ô1€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+s   Á?BÂBÂ"BzDignore:Constructing a Categorical with a dtype and values containingc                  ó
  — t          j        dd¦  «        } d g}|                      d|                      |d¦  «                             ¦   «         i¦  «        }|                     ¦   «         }t          j        d¬¦  «        5  t          j	        j
                             |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        dt          j        t          j        g¦  «        i¦  «        }t          j        ||¦  «         d S )Nr>   r?   rN   Úfloat64r   r   )rH   rI   rJ   rK   rL   r)   r'   r(   r#   ÚapiÚinterchanger   r&   r$   ÚnpÚnanr6   ©rM   rN   rJ   rO   rP   rQ   s         r;   Útest_empty_categorical_pyarrowrZ   E   s+  € õ
 
Ô	˜Y¨Ñ	1Ô	1€Bàˆ&€CØ�HŠH�e˜RŸXšX c¨9Ñ5Ô5×GÒGÑIÔIÐJÑKÔK€EØ×%Ò%Ñ'Ô'€KÝ	Ô	#¨-Ð	8Ñ	8Ô	8ð @ð @Ý”Ô#×2Ò2°;Ñ?Ô?ˆð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @åŒ|˜U¥B¤NµB´F°8Ñ$<Ô$<Ð=Ñ>Ô>€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+s   Á?%B0Â0B4Â7B4c                  óR  — t          j        dd¦  «        } ddg}|                      d|                      |d¦  «        i¦  «        }|                     ¦   «         }t          j        d¬¦  «        5  t          |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j	        dddgi¦  «        }t          j
        ||¦  «         t          j        dd	¬
¦  «        5  | j                             | j                             |¦  «        |¦  «        sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr>   r?   r@   rA   rG   Úlarge_stringr   r   F©r   Úcheck_stacklevel)rH   rI   rJ   rK   r)   r'   r(   r   r#   r&   r6   ÚTableÚequalsrV   rY   s         r;   Útest_large_string_pyarrowra   U   s²  € å	Ô	˜Y¨Ñ	1Ô	1€Bà�%ˆ.€CØ�HŠH�i §¢¨#¨~Ñ!>Ô!>Ð?Ñ@Ô@€EØ×%Ò%Ñ'Ô'€KÝ	Ô	#¨-Ð	8Ñ	8Ô	8ð -ð -Ý Ñ,Ô,ˆð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -åŒ|˜Y¨°¨Ð7Ñ8Ô8€HÝÔ˜& (Ñ+Ô+Ð+õ 
Ô	#¨-È%Ð	PÑ	PÔ	Pð Mð MØŒx�Š˜rœ~×<Ò<¸VÑDÔDÀeÑLÔLÐLÐLÐLÐLðMð Mð Mñ Mô Mð Mð Mð Mð Mð Mð Mð Møøøð Mð Mð Mð Mð Mð Ms$   Á.B
Â
BÂBÃ6DÄD Ä#D )ÚoffsetÚlengthÚexpected_valuesçffffff
@rX   çÍÌÌÌÌÌ @r   é   c                 óN  — t          j        dd¦  «        }g d¢}|                     d|i¦  «                             | |¦  «        }|                     ¦   «         }t          j        d¬¦  «        5  t          |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j	        d|i¦  «        }t          j
        ||¦  «         t          j        dd¬¦  «        5  |j                             |j                             |¦  «        |¦  «        sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )	Nr>   r?   )re   Nrf   rN   r   r   Fr]   )rH   rI   rJ   Úslicer)   r'   r(   r   r#   r&   r6   r_   r`   rV   )	rb   rc   rd   rM   rN   rJ   rO   rP   rQ   s	            r;   Útest_bitmasks_pyarrowrj   g   s³  € õ 
Ô	˜Y¨Ñ	1Ô	1€Bà
Ð
Ð
€CØ�HŠH�e˜S�\Ñ"Ô"×(Ò(¨°Ñ8Ô8€EØ×%Ò%Ñ'Ô'€KÝ	Ô	#¨-Ð	8Ñ	8Ô	8ð -ð -Ý Ñ,Ô,ˆð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -åŒ|˜U OÐ4Ñ5Ô5€HÝÔ˜& (Ñ+Ô+Ð+õ 
Ô	#¨-È%Ð	PÑ	PÔ	Pð Mð MØŒx�Š˜rœ~×<Ò<¸VÑDÔDÀeÑLÔLÐLÐLÐLÐLðMð Mð Mñ Mô Mð Mð Mð Mð Mð Mð Mð Møøøð Mð Mð Mð Mð Mð Ms$   Á.B
Â
BÂBÃ6DÄDÄ!Dc                  óh   — t           j                             d¦  «                             dd¦  «        S )Nrg   iœÿÿÿéd   ©rW   ÚrandomÚdefault_rngÚintegers© ó    r;   ú<lambda>rs   ‡   s&   € •”	×%Ò% aÑ(Ô(×1Ò1°$¸Ñ<Ô<€ rr   c                  óh   — t           j                             d¦  «                             dd¦  «        S )Nrg   r   rl   rm   rq   rr   r;   rs   rs   ˆ   s&   € •”	×%Ò% aÑ(Ô(×1Ò1°!°SÑ9Ô9€ rr   c                  ód   — t           j                             d¦  «                             ¦   «         S )Nrg   )rW   rn   ro   rq   rr   r;   rs   rs   ‰   s"   € •”	×%Ò% aÑ(Ô(×/Ò/Ñ1Ô1€ rr   c                  ój   — t           j                             d¦  «                             ddg¦  «        S )Nrg   TF)rW   rn   ro   Úchoicerq   rr   r;   rs   rs   Š   s(   € •”	×%Ò% aÑ(Ô(×/Ò/°°u°Ñ>Ô>€ rr   c                  óL  — t          t          j                             d¦  «                             dd¦  «        t          j                             d¦  «                             dd¦  «        t          j                             d¦  «                             dd¦  «        ¬¦  «        S )Nrg   il  i4  r   é   é   )ÚyearÚmonthÚday)r   rW   rn   ro   rp   rq   rr   r;   rs   rs   ‹   s~   € •Ý”×&Ò& qÑ)Ô)×2Ò2°4¸Ñ>Ô>Ý”)×'Ò'¨Ñ*Ô*×3Ò3°A°rÑ:Ô:Ý”	×%Ò% aÑ(Ô(×1Ò1°!°RÑ8Ô8ð
ñ 
ô 
€ rr   c                 ó¼  ‡ ‡‡— d\  ŠŠˆˆˆ fd„t          ‰¦  «        D ¦   «         Š t          j        ‰ ¦  «        }t          j        d¬¦  «        5  |                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         ‰k    sJ ‚|                     ¦   «         ‰k    sJ ‚t          | 	                    ¦   «         ¦  «        t          ‰  
                    ¦   «         ¦  «        k    sJ ‚d}t          ˆ fd„|D ¦   «         ¦  «        }t          j        d¬¦  «        5  t          |                     |¦  «        ¦  «        }t          |                     |¦  «        ¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        ||¦  «         t!          |j        d         t          ¦  «        sJ ‚t!          |j        d         t          ¦  «        sJ ‚d S )N)é
   rz   c                 ó€   •— i | ]:}d t          |‰dz  z
  ‰z  dz   ¦  «        › �ˆfd„t          ‰¦  «        D ¦   «         “Œ;S )r9   rg   r   c                 ó$   •— g | ]} ‰¦   «         ‘ŒS rq   rq   )Ú.0Ú_r   s     €r;   ú
<listcomp>z-test_dataframe.<locals>.<dictcomp>.<listcomp>•   s   ø€ Ð2PÐ2PÐ2P¸a°4°4±6´6Ð2PÐ2PÐ2Prr   )ÚintÚrange)r‚   ÚiÚNCOLSÚNROWSr   s     €€€r;   ú
<dictcomp>z"test_dataframe.<locals>.<dictcomp>”   sh   ø€ ð ð ð àð 	1�c�1�u˜q‘y‘= EÑ)¨AÑ-Ñ.Ô.Ð0Ð0Ð2PÐ2PÐ2PÐ2PÅ5ÈÁ<Ä<Ð2PÑ2PÔ2Pðð ð rr   r   r   )r   rg   c              3   óf   •K  — | ]+}t          ‰                     ¦   «         ¦  «        |         V — Œ,d S ©N)r%   Úkeys)r‚   Úidxr   s     €r;   ú	<genexpr>z!test_dataframe.<locals>.<genexpr>£   s8   øè è € Ð<Ð<¨S•$�t—y’y‘{”{Ñ#Ô# CÔ(Ð<Ð<Ð<Ð<Ð<Ð<rr   Ú_INTERCHANGE_PROTOCOL_BUFFERS)r†   r#   r&   r'   r(   r)   Únum_columnsÚnum_rowsr%   Úcolumn_namesr�   Útupler   Úselect_columnsÚselect_columns_by_namer6   r2   Úattrs)	r   r8   Údf2ÚindicesÚnamesrP   rQ   rˆ   r‰   s	   `      @@r;   Útest_dataframer›   „   sl  øøø€ ð �L€Eˆ5ðð ð ð ð ð å�u‘”ðñ ô €Dõ 
Œ�dÑ	Ô	€Bå	Ô	#¨-Ð	8Ñ	8Ô	8ð !ð !Ø×ÒÑ Ô ˆð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !ð �?Š?ÑÔ Ò%Ð%Ð%Ð%Ø�<Š<‰>Œ>˜UÒ"Ð"Ð"Ð"å�× Ò Ñ"Ô"Ñ#Ô#¥t¨D¯IªI©K¬KÑ'8Ô'8Ò8Ð8Ð8Ð8à€GÝÐ<Ð<Ð<Ð<°GÐ<Ñ<Ô<Ñ<Ô<€Eå	Ô	#¨-Ð	8Ñ	8Ô	8ð Eð EÝ × 2Ò 2°7Ñ ;Ô ;Ñ<Ô<ˆÝ! #×"<Ò"<¸UÑ"CÔ"CÑDÔDˆðEð Eð Eñ Eô Eð Eð Eð Eð Eð Eð Eøøøð Eð Eð Eð Eõ Ô˜& (Ñ+Ô+Ð+å�f”lÐ#BÔCÅTÑJÔJÐJÐJÐJÝ�h”nÐ%DÔEÅtÑLÔLÐLÐLÐLÐLÐLs%   ÁA0Á0A4Á7A4Ä'AE8Å8E<Å?E<c            	      óN  ‡‡— t          j        t          j        g d¢¦  «        t          j        g d¢¦  «        t          j        g d¢¦  «        dœ¦  «        Št          j                             d¦  «        Šˆˆfd„‰j        D ¦   «         } |                      ¦   «         D ]S\  }}‰j        ‰ 	                    t          j
        t          ‰¦  «        ¦  «        |d¬¦  «                 }d ‰j        ||f<   ŒTt          j        d	¬
¦  «        5  ‰                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   |                     d¦  «        j        | d         k    sJ ‚|                     d¦  «        j        | d         k    sJ ‚|                     d¦  «        j        | d         k    sJ ‚d S )N)ç      ð?ç       @g      @g      @ç        )ç      ø?ç      @ç      @g      @r   )r�   rŸ   r�   r�   r�   ©ÚxÚyÚzrg   c           	      óZ   •— i | ]'}|‰                      d t          ‰¦  «        ¬¦  «        “Œ(S )r   )ÚlowÚhigh)rp   Úlen)r‚   r9   r8   Úrngs     €€r;   rŠ   z,test_missing_from_masked.<locals>.<dictcomp>¸   s1   ø€ ÐNÐNÐN¸C��c—l’l q­s°2©w¬w�lÑ7Ô7ÐNÐNÐNrr   F)ÚsizeÚreplacer   r   r¤   r¥   r¦   )r#   r&   rW   rK   rn   ro   ÚcolumnsÚitemsÚindexrw   Úarangerª   Úlocr'   r(   r)   r*   r-   )Ú	dict_nullr9   Ú	num_nullsÚnull_idxr˜   r8   r«   s        @@r;   Útest_missing_from_maskedr¶   ®   sç  øø€ Ý	Œå”Ð3Ð3Ð3Ñ4Ô4Ý”Ð1Ð1Ð1Ñ2Ô2Ý”Ð3Ð3Ð3Ñ4Ô4ð	
ð 	
ñ
ô 
€Bõ Œ)×
Ò
 Ñ
"Ô
"€CØNÐNÐNÐNÐNÀ2Ä:ÐNÑNÔN€IØ#Ÿ/š/Ñ+Ô+ð %ð %‰ˆˆYØ”8Ø�JŠJ•r”y¥ R¡¤Ñ)Ô)°	À5ˆJÑIÔIô
ˆð !%ˆŒˆx˜ˆ}ÑÐå	Ô	#¨-Ð	8Ñ	8Ô	8ð !ð !Ø×ÒÑ Ô ˆð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !ð ×!Ò! #Ñ&Ô&Ô1°Y¸s´^ÒCÐCÐCÐCØ×!Ò! #Ñ&Ô&Ô1°Y¸s´^ÒCÐCÐCÐCØ×!Ò! #Ñ&Ô&Ô1°Y¸s´^ÒCÐCÐCÐCÐCÐCs   ÄD(Ä(D,Ä/D,)r    r¡   r¢   )çffffff"@ç      %@çš™™™™™'@)r¤   r¥   )r   rg   r   )TTFr£   c                 ó  — t          j        | ¦  «        }t          j        d¬¦  «        5  |                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   |j        D ]"}|                     |¦  «        j        dk    sJ ‚Œ#d S )Nr   r   r   )r#   r&   r'   r(   r)   r®   r*   r-   )r   r8   r˜   Úcol_names       r;   Útest_mixed_datar¼   Ç   sÓ   € õ 
Œ�dÑ	Ô	€BÝ	Ô	#¨-Ð	8Ñ	8Ô	8ð !ð !Ø×ÒÑ Ô ˆð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !ð ”Jð @ð @ˆØ×%Ò% hÑ/Ô/Ô:¸aÒ?Ð?Ð?Ð?Ð?ð@ð @s   ªAÁAÁAc                  ó„  — t          j        t          j        g d¢¦  «        t          j        g d¢¦  «        t          j        g d¢¦  «        dœ¦  «        } t	          j        d¬¦  «        5  |                      ¦   «         }d d d ¦  «         n# 1 swxY w Y   | j        D ]"}|                     |¦  «        j	        dk    sJ ‚Œ#d S )N)TNFNT)Nrg   Nr   rg   )r·   r¸   Nr¹   Nr£   r   r   rg   )
r#   r&   rW   rK   r'   r(   r)   r®   r*   r-   )r8   r˜   r»   s      r;   Útest_mixed_missingr¾   Ü   s  € Ý	Œå”Ð9Ð9Ð9Ñ:Ô:Ý”Ð/Ð/Ð/Ñ0Ô0Ý”Ð7Ð7Ð7Ñ8Ô8ð	
ð 	
ñ
ô 
€Bõ 
Ô	#¨-Ð	8Ñ	8Ô	8ð !ð !Ø×ÒÑ Ô ˆð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !ð ”Jð @ð @ˆØ×%Ò% hÑ/Ô/Ô:¸aÒ?Ð?Ð?Ð?Ð?ð@ð @s   Á*BÂBÂBc                  óH  — dddddt           j        gi} | d         dgz   }t          j        d|i¦  «        }t	          j        d¬	¦  «        5  |                     ¦   «                              d¦  «        }d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         d
k    sJ ‚|j	        dk    sJ ‚|j
        d         t          j        k    sJ ‚|j        t          j        dfk    sJ ‚|dd …         }t	          j        d¬	¦  «        5  |                     ¦   «                              d¦  «        }d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         dk    sJ ‚|j	        dk    sJ ‚|j
        d         t          j        k    sJ ‚|j        t          j        dfk    sJ ‚d S )Nzseparator datazabC|DeF,Hikz234,3245.67zgSaf,qWer|Grez
asd3,4sad|Ú r   r   r   é   r   r   é   )rW   rX   r#   r&   r'   r(   r)   r*   r¬   r-   r+   r   ÚSTRINGr.   r
   ÚUSE_BYTEMASK)Ústring_dataÚtest_str_datar8   r9   Ú	df_sliceds        r;   Útest_stringrÈ   ì   s<  € àØØØØÝŒFð
ð€Kð  Ð 0Ô1°R°DÑ8€MÝ	Œ�s˜MÐ*Ñ	+Ô	+€BÝ	Ô	#¨-Ð	8Ñ	8Ô	8ð 9ð 9Ø×ÒÑ Ô ×3Ò3°CÑ8Ô8ˆð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð �8Š8‰:Œ:˜Š?ˆ?ˆ?ˆ?ØŒ>˜QÒÐÐÐØŒ9�QŒ<�9Ô+Ò+Ð+Ð+Ð+ØÔ¥Ô!<¸aÐ @Ò@Ð@Ð@Ð@à�1�2�2”€IÝ	Ô	#¨-Ð	8Ñ	8Ô	8ð @ð @Ø×%Ò%Ñ'Ô'×:Ò:¸3Ñ?Ô?ˆð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @à�8Š8‰:Œ:˜Š?ˆ?ˆ?ˆ?ØŒ>˜QÒÐÐÐØŒ9�QŒ<�9Ô+Ò+Ð+Ð+Ð+ØÔ¥Ô!<¸aÐ @Ò@Ð@Ð@Ð@Ð@Ð@s$   Á(A?Á?BÂBÄ(D:Ä:D>ÅD>c                  óT  — t          j        dg d¢i¦  «        } t          j        d¬¦  «        5  |                      ¦   «                              d¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  |j	         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   )r   r   r�   rq   r   r   znot supported yet)
r#   r&   r'   r(   r)   r*   rH   ÚraisesÚNotImplementedErrorr+   ©r8   r9   s     r;   Útest_nonstring_objectrÍ   	  s'  € Ý	Œ�sÐ.Ð.Ð.Ð/Ñ	0Ô	0€BÝ	Ô	#¨-Ð	8Ñ	8Ô	8ð 9ð 9Ø×ÒÑ Ô ×3Ò3°CÑ8Ô8ˆð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9å	ŒÕ*Ð2EÐ	FÑ	FÔ	Fð ð ØŒ	ˆ	ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s#   ®(A"Á"A&Á)A&ÂBÂB!Â$B!c                  óž  — t          j        dt          j        d¦  «        t           j        gi¦  «        } t	          j        d¬¦  «        5  |                      ¦   «                              d¦  «        }d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         dk    sJ ‚|j	        dk    sJ ‚|j
        d         t          j        k    sJ ‚|j        t          j        t           fk    sJ ‚t	          j        d¬¦  «        5  t	          j        | t%          |                      ¦   «         ¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   z
2022-01-01r   r   rg   r   r   )r#   r&   Ú	TimestampÚNaTr'   r(   r)   r*   r¬   r-   r+   r   ÚDATETIMEr.   r
   r/   r   r6   r   rÌ   s     r;   Útest_datetimerÒ     sÂ  € Ý	Œ�s�Rœ\¨,Ñ7Ô7½¼Ð@ÐAÑ	BÔ	B€BÝ	Ô	#¨-Ð	8Ñ	8Ô	8ð 9ð 9Ø×ÒÑ Ô ×3Ò3°CÑ8Ô8ˆð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð �8Š8‰:Œ:˜Š?ˆ?ˆ?ˆ?ØŒ>˜QÒÐÐÐØŒ9�QŒ<�9Ô-Ò-Ð-Ð-Ð-ØÔ¥Ô!<½dÐ CÒCÐCÐCÐCå	Ô	#¨-Ð	8Ñ	8Ô	8ð Fð FÝ
Ô˜b¥.°×1AÒ1AÑ1CÔ1CÑ"DÔ"DÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fð Fð Fs$   Á
(A>Á>BÂBÄ 5EÅEÅ	Ec                  óÀ  — t          j        dt          j        g d¢¦  «        i¦  «        } t          j        d¬¦  «        5  |                      ¦   «                              d¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        | 	                    ¦   «         d         d         ¦  «        }t          j
        g d¢d¬	¦  «        }t          j        ||¦  «         d S )
Nr   ©r   Úbr   r   r   r   r   )r   r   r   Úint8©r+   )r#   r&   r$   r'   r(   r)   r*   rW   Úfrom_dlpackÚget_buffersrK   Úassert_numpy_array_equal)r8   r9   rP   rQ   s       r;   Ú test_categorical_to_numpy_dlpackrÛ     s   € å	Œ�s�BœN¨?¨?¨?Ñ;Ô;Ð<Ñ	=Ô	=€BÝ	Ô	#¨-Ð	8Ñ	8Ô	8ð 9ð 9Ø×ÒÑ Ô ×3Ò3°CÑ8Ô8ˆð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9åŒ^˜CŸOšOÑ-Ô-¨fÔ5°aÔ8Ñ9Ô9€FÝŒx˜	˜	˜	¨Ð0Ñ0Ô0€HÝÔ ¨Ñ1Ô1Ð1Ð1Ð1s   Á (A4Á4A8Á;A8r   c                 ó"  — t          j        dd¦  «         ddlm} t	          j        | ¦  «        }t          j        dd¬¦  «        5   ||¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |¦  «        }t          j        ||d¬¦  «         d S )	Nr>   ú14.0.0r   r   r   Fr]   )Úcheck_column_type)	rH   rI   Úpyarrow.interchanger   r#   r&   r'   r(   r6   )r   Úpa_from_dataframerQ   Úarrow_dfrP   s        r;   Útest_empty_pyarrowrâ   )  sÞ   € õ Ô˜	 8Ñ,Ô,Ð,ØGÐGÐGÐGÐGÐGåŒ|˜DÑ!Ô!€Hå	Ô	#¨-È%Ð	PÑ	PÔ	Pð /ð /Ø$Ð$ XÑ.Ô.ˆð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /å˜HÑ%Ô%€FÝÔ˜& (¸eÐDÑDÔDÐDÐDÐDs   ÁAÁA"Á%A"Úreturnc                  óP  — t          j        dd¦  «        } |                      g d¢g d¢g¦  «        }dg}|                      |g|¬¦  «        }t          j        t
          d¬¦  «        5  t          j        j         	                    |d	¬
¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr>   rÝ   )rg   rg   é   )rå   rÂ   rl   Ún_legs)rš   z@Cannot do zero copy conversion into multi-column DataFrame blockr   F©Ú
allow_copy)
rH   rI   Úchunked_arrayrJ   rÊ   ÚRuntimeErrorr#   rU   rV   r   )rM   ræ   rš   rJ   s       r;   Útest_multi_chunk_pyarrowrë   7  s  € Ý	Ô	˜Y¨Ñ	1Ô	1€BØ×Ò˜y˜y˜y¨+¨+¨+Ð6Ñ7Ô7€FØˆJ€EØ�HŠH�f�X UˆHÑ+Ô+€EÝ	ŒÝØPð
ñ 
ô 
ð Cð Cõ 	ŒÔ×)Ò)¨%¸EÐ)ÑBÔBÐBð	Cð Cð Cñ Cô Cð Cð Cð Cð Cð Cð Cð Cøøøð Cð Cð Cð Cð Cð Cs   Á''BÂBÂ"Bc                  ó  — t          j        dd¦  «         t          j        g d¢d¬¦  «        } t          j        | | gd¬¦  «                             d¦  «        }|                     ¦   «         }t          j        d	¬
¦  «        5  t          j	        t          d¬
¦  «        5  t          j        j                             |                     d¬¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t          j        d	¬
¦  «        5  t          j        j                             |                     d¬¦  «        ¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        dg d¢id¬¦  «        }t          j        ||¦  «         t          j        ||¦  «         t#          |d         j        j        j        ¦  «        dk    sJ ‚t#          |d         j        j        j        ¦  «        dk    sJ ‚d S )Nr>   r?   ©r   rg   NúInt64[pyarrow]r×   T)Úignore_indexr   r   r   z:Found multi-chunk pyarrow array, but `allow_copy` is FalseFrç   )r�   rž   Nr�   rž   NrT   rg   )rH   rI   r#   r5   ÚconcatÚto_frameÚcopyr'   r(   rÊ   rê   rU   rV   r   r)   r&   r6   rª   rK   Ú	_pa_arrayÚchunks)Úserr8   Údf_origrP   rQ   s        r;   Útest_multi_chunk_columnr÷   C  sÊ  € Ý
Ô˜	 8Ñ,Ô,Ð,Ý
Œ)�L�L�LÐ(8Ð
9Ñ
9Ô
9€CÝ	Œ�C˜�:¨DÐ	1Ñ	1Ô	1×	:Ò	:¸3Ñ	?Ô	?€BØ�gŠg‰iŒi€Gå	Ô	#¨-Ð	8Ñ	8Ô	8ð Rð RÝŒ]ÝØNð
ñ 
ô 
ð 	Rð 	Rõ ŒFÔ×-Ò-¨b×.>Ò.>È%Ð.>Ñ.PÔ.PÑQÔQÐQð		Rð 	Rð 	Rñ 	Rô 	Rð 	Rð 	Rð 	Rð 	Rð 	Rð 	Røøøð 	Rð 	Rð 	Rð 	RðRð Rð Rñ Rô Rð Rð Rð Rð Rð Rð Røøøð Rð Rð Rð Rõ 
Ô	#¨-Ð	8Ñ	8Ô	8ð Vð VÝ”Ô#×2Ò2°2×3CÒ3CÈtÐ3CÑ3TÔ3TÑUÔUˆðVð Vð Vñ Vô Vð Vð Vð Vð Vð Vð Vøøøð Vð Vð Vð Võ Œ|˜SÐ"BÐ"BÐ"BÐCÈ9ÐUÑUÔU€HÝÔ˜& (Ñ+Ô+Ð+õ Ô˜"˜gÑ&Ô&Ð&Ýˆr�#ŒwŒ}Ô&Ô-Ñ.Ô.°!Ò3Ð3Ð3Ð3Ýˆw�sŒ|Ô!Ô+Ô2Ñ3Ô3°qÒ8Ð8Ð8Ð8Ð8Ð8sH   ÂC:Â9C#ÃC:Ã#C'	Ã'C:Ã*C'	Ã+C:Ã:C>ÄC>Ä9EÅE#Å&E#c                  óÖ  — t          j        dd¦  «         dddddddœ} t          j        t	          di | ¤Žgdd¬¦  «                             ¦   «         }t          j        d	¬
¦  «        5  |                     ¦   «         }t          j	        j
                             |¦  «        d                              ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          j        di | ¤Ž}||k    sJ ‚d S )Nr>   r?   iÐ  r   )r{   r|   r}   ÚhourÚminuteÚsecondútimestamp[ns][pyarrow]Úcol0)r+   Únamer   r   rq   )rH   rI   r#   r5   r   rñ   r'   r(   r)   rU   rV   r   ÚitemrÏ   )Útimestamp_argsr8   ÚdfirP   rQ   s        r;   Útest_timestamp_ns_pyarrowr  \  sW  € å
Ô˜	 8Ñ,Ô,Ð,àØØØØØðð €Nõ 
ŒÝ	Ð	#Ð	#�NÐ	#Ð	#Ð$Ø&Øð
ñ 
ô 
÷ ‚h�j„jð	 õ 
Ô	#¨-Ð	8Ñ	8Ô	8ð Gð GØ×ÒÑ Ô ˆÝ”Ô#×2Ò2°3Ñ7Ô7¸Ô?×DÒDÑFÔFˆðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gõ Œ|Ð-Ð-˜nÐ-Ð-€HØ�XÒÐÐÐÐÐs   Á(ACÃC	ÃC	ÚtzÚUTCz
US/Pacificc                 óp  — t          j        ddd¬¦  «                             | ¦  «                             |¦  «        }t          j        d|i¦  «        }t          j        d¬¦  «        5  t          j        |t          | 	                    ¦   «         ¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz
2018-01-01rÂ   ÚD)ÚperiodsÚfreqÚts_tzr   r   )
r#   Ú
date_rangeÚtz_localizeÚas_unitr&   r'   r(   r6   r   r)   )r  ÚunitÚtz_datar8   s       r;   Útest_datetimetzdtyper  u  s  € õ 	Œ�l¨A°CÐ8Ñ8Ô8×DÒDÀRÑHÔH×PÒPÐQUÑVÔVð õ 
Œ�w Ð(Ñ	)Ô	)€BÝ	Ô	#¨-Ð	8Ñ	8Ô	8ð Fð FÝ
Ô˜b¥.°×1AÒ1AÑ1CÔ1CÑ"DÔ"DÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fð Fð Fs   Á)5B+Â+B/Â2B/c           	      ó¼  — t          j        dd¦  «        }dd lm} t	          ¦   «         rPt          ¦   «         rBt          r;t           j                             |j	        d¬¦  «        }|  
                    |¦  «         |                     t          ddd¦  «        d t          ddd¦  «        g¦  «        }|                     |d	¦  «        }|                     d
|i¦  «        }|                     ¦   «         }t!          j        d¬¦  «        5  t%          |¦  «        }d d d ¦  «         n# 1 swxY w Y   t'          j        g d¢d
gd¬¦  «        }t!          j        ||¦  «         d S )Nr>   r?   r   z_TODO: Set ARROW_TIMEZONE_DATABASE environment variable on CI to path to the tzdata for pyarrow.)rÊ   Úreasonéä  r   rg   úAsia/KathmandurN   r   r   )z2020-01-01 00:00:00+05:45rÐ   z2020-01-02 00:00:00+05:45zdatetime64[us, Asia/Kathmandu])r®   r+   )rH   rI   Úpyarrow.computeÚcomputer   r   r   ÚmarkÚxfailÚArrowInvalidÚapplymarkerrK   r   Úassume_timezonerJ   r)   r'   r(   r   r#   r&   r6   )	ÚrequestrM   Úpcr  rN   rJ   rO   rP   rQ   s	            r;   Ú)test_interchange_from_non_pandas_tz_awarer  €  s¬  € å	Ô	˜Y¨Ñ	1Ô	1€BØ Ð Ð Ð Ð Ð åÑÔð "Õ!2Ñ!4Ô!4ð "Õ9Mð "ÝŒ{× Ò Ø”?ð;ð !ñ 
ô 
ˆð 	×Ò˜DÑ!Ô!Ð!à
�(Š(•H˜T 1 aÑ(Ô(¨$µ¸¸qÀ!Ñ0DÔ0DÐEÑ
FÔ
F€CØ
×
Ò
˜SÐ"2Ñ
3Ô
3€CØ�HŠH�e˜S�\Ñ"Ô"€EØ×%Ò%Ñ'Ô'€KÝ	Ô	#¨-Ð	8Ñ	8Ô	8ð -ð -Ý Ñ,Ô,ˆð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -õ Œ|ØIÐIÐIØ�Ø.ðñ ô €Hõ
 Ô˜( FÑ+Ô+Ð+Ð+Ð+s   ÄD"Ä"D&Ä)D&c                 ó®  ‡‡‡— t          j        d¬¦  «        5  t          j        dddgi¦  «                             ¦   «         }|                     ¦   «         Šd d d ¦  «         n# 1 swxY w Y   ‰                     d¦  «        Š‰                     ¦   «         Š‰d         }|d         }t          j        dt          j
        |d	         f}|d
         |f‰d<   ˆfd„‰_        ˆfd„‰_        |                      |dˆfd„¦  «         t          j        d¬¦  «        5  t          j        j                             |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   r   ÚfooÚbarr   r   é   é   r   c                  ó   •— ‰ S rŒ   rq   )Úbufferss   €r;   rs   z?test_interchange_from_corrected_buffer_dtypes.<locals>.<lambda>®  s   ø€  € rr   c                 ó   •— ‰S rŒ   rq   )rƒ   Úcolumns    €r;   rs   z?test_interchange_from_corrected_buffer_dtypes.<locals>.<lambda>¯  s   ø€ ¨v€ rr   r)   c                 ó   •— ‰S rŒ   rq   )rè   rV   s    €r;   rs   z?test_interchange_from_corrected_buffer_dtypes.<locals>.<lambda>°  s   ø€ À€ rr   )r'   r(   r#   r&   r)   r*   rÙ   r   ÚUINTr   ÚUINT8ÚsetattrrU   rV   r   )Úmonkeypatchr8   Úbuffers_dataÚbuffer_dtyper$  r&  rV   s       @@@r;   Ú-test_interchange_from_corrected_buffer_dtypesr.  ž  sÝ  øøø€ å	Ô	#¨-Ð	8Ñ	8Ô	8ð )ð )ÝŒ\˜3 ¨ Ð/Ñ0Ô0×>Ò>Ñ@Ô@ˆØ×&Ò&Ñ(Ô(ˆð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð ×+Ò+¨CÑ0Ô0€FØ× Ò Ñ"Ô"€GØ˜6”?€LØ ”?€LåŒØ	ÝÔØ�QŒð	€Lð $ A”¨Ð5€GˆF�OØ(˜˜˜€FÔØ%5Ð%5Ð%5Ð%5€KÔ"Ø×Ò˜˜OÐ-KÐ-KÐ-KÐ-KÑLÔLÐLÝ	Ô	#¨-Ð	8Ñ	8Ô	8ð .ð .Ý
ŒÔ×)Ò)¨"Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ð .ð .s#   ™?A$Á$A(Á+A(Ä%E
Å
EÅEc                  ó4  — t          j        dg it          ¬¦  «        } t          j        d¬¦  «        5  |                      ¦   «         }t           j        j                             |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j	        | |¦  «         d S )Nr   r×   r   r   )
r#   r&   Ústrr'   r(   r)   rU   rV   r   r6   )r8   r˜   rP   s      r;   Útest_empty_string_columnr1  µ  sÇ   € å	Œ�s˜B�i¥sÐ	+Ñ	+Ô	+€BÝ	Ô	#¨-Ð	8Ñ	8Ô	8ð 8ð 8Ø×ÒÑ Ô ˆÝ”Ô#×2Ò2°3Ñ7Ô7ˆð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8õ Ô˜"˜fÑ%Ô%Ð%Ð%Ð%s   ³9A8Á8A<Á?A<c                  ó„  — t          j        d¦  «         t          j        ddgid¬¦  «        } t	          j        dd¬¦  «        5  t          j        j                             |  	                    ¦   «         ¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        ddgid	¬¦  «        }t	          j
        ||¦  «         d S )
Nr>   r   r¤   úlarge_string[pyarrow]r×   r   Fr]   r0  )rH   rI   r#   r&   r'   r(   rU   rV   r   r)   r6   )r8   rP   rQ   s      r;   Útest_large_stringr4  ¾  s  € å
Ô˜	Ñ"Ô"Ð"Ý	Œ�s˜S˜E�lÐ*AÐ	BÑ	BÔ	B€Bå	Ô	#¨-È%Ð	PÑ	PÔ	Pð Gð GÝ”Ô#×2Ò2°2×3CÒ3CÑ3EÔ3EÑFÔFˆðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð GåŒ|˜S 3 %˜L°Ð6Ñ6Ô6€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+s   Á7BÂBÂBc                  ó  — t          j        g d¢d¬¦  «                             ¦   «         } t          j        d¬¦  «        5  |                      ¦   «                              ¦   «         }d d d ¦  «         n# 1 swxY w Y   |dgk    sJ ‚d S )N©r   rg   r"  r   )rþ   r   r   Ú0)r#   r5   rñ   r'   r(   r)   r“   )r8   rš   s     r;   Útest_non_str_namesr8  É  s¿   € å	Œ�9�9�9 1Ð	%Ñ	%Ô	%×	.Ò	.Ñ	0Ô	0€BÝ	Ô	#¨-Ð	8Ñ	8Ô	8ð 2ð 2Ø× Ò Ñ"Ô"×/Ò/Ñ1Ô1ˆð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2à�S�EŠ>ˆ>ˆ>ˆ>ˆ>ˆ>s   Á 'A3Á3A7Á:A7c                  óÌ  — t          j        g d¢g d¢dœ¦  «        } t          j        d¬¦  «        5  |                      ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          j        d¬¦  «        5  t          j        t          d¬¦  «        5  t           j        j	         
                    |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )	Nr6  ©rå   rÂ   rÁ   )r7  r   r   r   a&  Expected a Series, got a DataFrame. This likely happened because you called __dataframe__ on a DataFrame which, after converting column names to string, resulted in duplicated names: Index\(\['0', '0'\], dtype='(str|object)'\). Please rename these columns before using the interchange protocol.Frç   )r#   r&   r'   r(   r)   rH   rÊ   Ú	TypeErrorrU   rV   r   )r8   r  s     r;   Útest_non_str_names_w_duplicatesr<  Ñ  sÌ  € å	Œ˜I˜I˜I¨)¨)¨)Ð4Ð4Ñ	5Ô	5€BÝ	Ô	#¨-Ð	8Ñ	8Ô	8ð !ð !Ø×ÒÑ Ô ˆð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !å	Ô	#¨-Ð	8Ñ	8Ô	8ð Eð EÝŒ]Ýð(ð	
ñ 	
ô 	
ð 
	Eð 
	Eõ ŒFÔ×-Ò-¨c¸eÐ-ÑDÔDÐDð
	Eð 
	Eð 
	Eñ 
	Eô 
	Eð 
	Eð 
	Eð 
	Eð 
	Eð 
	Eð 
	Eøøøð 
	Eð 
	Eð 
	Eð 
	EðEð Eð Eñ Eô Eð Eð Eð Eð Eð Eð Eð Eøøøð Eð Eð Eð Eð Eð EsG   ±AÁAÁAÁ2CÂ'CÂ5CÃC	ÃCÃC	Ã	CÃCÃ C)r   r+   Úexpected_dtyperí   ÚInt64Úint64rî   ÚInt8rÖ   zInt8[pyarrow]ÚUInt64Úuint64zUInt64[pyarrow])r�   ç      @NÚFloat32Úfloat32zFloat32[pyarrow])TFNÚbooleanÚboolzboolean[pyarrow])úmuch adoÚaboutN)Úna_valuer\   zstring[pyarrow]r  rü   ztimestamp[ns]ztimestamp[us][pyarrow]ztimestamp[us])Útzinfoz&timestamp[us, Asia/Kathmandu][pyarrow]ú timestamp[us, tz=Asia/Kathmandu]r+   r=  c                 óB  — t          j        dd¦  «        }dd lm} |dk    r|                     dd¦  «        }t          j        d| i|¬¦  «        }t          j        d	¬
¦  «        5  | 	                    | 
                    ¦   «         ¦  «        d         }d d d ¦  «         n# 1 swxY w Y   |j        |k    sJ ‚|d                              ¦   «         | d         k    sJ ‚|d                              ¦   «         | d         k    sJ ‚|d                              ¦   «         �J ‚d S ©Nr>   rÝ   r   rL  Úusr  r   r×   r   r   r   rg   ©rH   rI   rß   rV   Ú	timestampr#   r&   r'   r(   r   r)   ÚtypeÚas_py©r   r+   r=  rM   Úpair8   rP   s          r;   Ú(test_pandas_nullable_with_missing_valuesrV  ä  sg  € õb 
Ô	˜Y¨Ñ	1Ô	1€BØ%Ð%Ð%Ð%Ð%Ð%àÐ;Ò;Ð;ØŸš dÐ,<Ñ=Ô=ˆå	Œ�s˜D�k¨Ð	/Ñ	/Ô	/€BÝ	Ô	#¨-Ð	8Ñ	8Ô	8ð =ð =Ø×#Ò# B×$4Ò$4Ñ$6Ô$6Ñ7Ô7¸Ô<ˆð=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =àŒ;˜.Ò(Ð(Ð(Ð(Ø�!Œ9�?Š?ÑÔ  Q¤Ò'Ð'Ð'Ð'Ø�!Œ9�?Š?ÑÔ  Q¤Ò'Ð'Ð'Ð'Ø�!Œ9�?Š?ÑÔÐ$Ð$Ð$Ð$Ð$ó   Á%.BÂB#Â&B#r6  )r�   rC  g      @)TFF)rH  rI  Únothingr"  c                 óV  — t          j        dd¦  «        }dd lm} |dk    r|                     dd¦  «        }t          j        d| i|¬¦  «        }t          j        d	¬
¦  «        5  | 	                    | 
                    ¦   «         ¦  «        d         }d d d ¦  «         n# 1 swxY w Y   |j        |k    sJ ‚|d                              ¦   «         | d         k    sJ ‚|d                              ¦   «         | d         k    sJ ‚|d                              ¦   «         | d         k    sJ ‚d S rN  rP  rT  s          r;   Ú+test_pandas_nullable_without_missing_valuesrZ  $  sp  € õh 
Ô	˜Y¨Ñ	1Ô	1€BØ%Ð%Ð%Ð%Ð%Ð%àÐ;Ò;Ð;ØŸš dÐ,<Ñ=Ô=ˆå	Œ�s˜D�k¨Ð	/Ñ	/Ô	/€BÝ	Ô	#¨-Ð	8Ñ	8Ô	8ð =ð =Ø×#Ò# B×$4Ò$4Ñ$6Ô$6Ñ7Ô7¸Ô<ˆð=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =àŒ;˜.Ò(Ð(Ð(Ð(Ø�!Œ9�?Š?ÑÔ  Q¤Ò'Ð'Ð'Ð'Ø�!Œ9�?Š?ÑÔ  Q¤Ò'Ð'Ð'Ð'Ø�!Œ9�?Š?ÑÔ  Q¤Ò'Ð'Ð'Ð'Ð'Ð'rW  c                  óB  — t          j        dd¦  «         t          j        ddgid¬¦  «        } t	          j        d¬¦  «        5  |                      ¦   «                              d¦  «                             ¦   «         d	         }d d d ¦  «         n# 1 swxY w Y   |�J ‚d S )
Nr>   r?   r   r¤   r3  r×   r   r   Úvalidity)	rH   rI   r#   r&   r'   r(   r)   r*   rÙ   )r8   rP   s     r;   Útest_string_validity_bufferr]  g  sç   € å
Ô˜	 8Ñ,Ô,Ð,Ý	Œ�s˜S˜E�lÐ*AÐ	BÑ	BÔ	B€BÝ	Ô	#¨-Ð	8Ñ	8Ô	8ð Vð VØ×!Ò!Ñ#Ô#×6Ò6°sÑ;Ô;×GÒGÑIÔIÈ*ÔUˆðVð Vð Vñ Vô Vð Vð Vð Vð Vð Vð Vøøøð Vð Vð Vð Vàˆ>ˆ>ˆ>ˆ>ˆ>s   ÁA BÂBÂBc                  ó˜  — t          j        dd¦  «         t          j        ddd gid¬¦  «        } t	          j        d¬¦  «        5  |                      ¦   «                              d¦  «                             ¦   «         d	         }d d d ¦  «         n# 1 swxY w Y   |€J ‚|d
         }t          j
        d
t          j
        df}||k    sJ ‚d S )Nr>   r?   r   r¤   r3  r×   r   r   r\  r   ú=)rH   rI   r#   r&   r'   r(   r)   r*   rÙ   r   ÚBOOLr   )r8   r\  rP   rQ   s       r;   Ú&test_string_validity_buffer_no_missingra  p  s  € å
Ô˜	 8Ñ,Ô,Ð,Ý	Œ�s˜S $˜KÐ(Ð0GÐ	HÑ	HÔ	H€BÝ	Ô	#¨-Ð	8Ñ	8Ô	8ð Xð XØ×#Ò#Ñ%Ô%×8Ò8¸Ñ=Ô=×IÒIÑKÔKÈJÔWˆðXð Xð Xñ Xô Xð Xð Xð Xð Xð Xð Xøøøð Xð Xð Xð XàÐÐÐØ�aŒ[€FÝ” ¥;Ô#3°SÐ9€HØ�XÒÐÐÐÐÐs   ÁA BÂBÂBc                  ó^  — t          j        dg id¬¦  «        } t          j        d¬¦  «        5  |                      ¦   «         }t           j        j                             |d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        dg id¬¦  «        }t          j        ||¦  «         d S )Nr   rÖ   r×   r   r   Frç   )	r#   r&   r'   r(   r)   rU   rV   r   r6   )r8   r  rP   rQ   s       r;   Útest_empty_dataframerc  |  sõ   € å	Œ�s˜B�i vÐ	.Ñ	.Ô	.€BÝ	Ô	#¨-Ð	8Ñ	8Ô	8ð Jð JØ×ÒÑ Ô ˆÝ”Ô#×2Ò2°3À5Ð2ÑIÔIˆðJð Jð Jñ Jô Jð Jð Jð Jð Jð Jð Jøøøð Jð Jð Jð Jõ Œ|˜S "˜I¨VÐ4Ñ4Ô4€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+s   ®;A5Á5A9Á<A9)r   r=  Úexpected_buffer_dtyperÔ   Úcategoryr×   r!  Úcr_  ú|iæ  zM8[ns]é@   ztsn:)r   ÚbcN)r    rg   r"  rd  c                 óD  — t          j        d| i¦  «        }t          j        d¬¦  «        5  |                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   |                     d¦  «        }|j        |k    sJ ‚|                     ¦   «         d         d         |k    sJ ‚d S )Nr   r   r   r   )r#   r&   r'   r(   r)   r*   r+   rÙ   )r   r=  rd  r8   r  r9   s         r;   Útest_buffer_dtype_categoricalrk  †  sä   € õN 
Œ�v˜t�nÑ	%Ô	%€BÝ	Ô	#¨-Ð	8Ñ	8Ô	8ð !ð !Ø×ÒÑ Ô ˆð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !à
×
 Ò
  Ñ
(Ô
(€CØŒ9˜Ò&Ð&Ð&Ð&Ø�?Š?ÑÔ˜VÔ$ QÔ'Ð+@Ò@Ð@Ð@Ð@Ð@Ð@s   ¬AÁAÁAc                  óÞ   — t          j        dd¦  «        } dddgg d¢gi}|                      |¦  «        }t          |¦  «        }t	          j        |¦  «        }t          j        ||¦  «         d S )Nr>   rÝ   r   r   rg   r:  )rH   rI   rJ   r   r#   r&   r'   r6   )rM   r   ÚtblrP   rQ   s        r;   Útest_from_dataframe_list_dtypern  µ  so   € Ý	Ô	˜Y¨Ñ	1Ô	1€BØ�1�a�&˜)˜)˜)Ð$Ð%€DØ
�(Š(�4‰.Œ.€CÝ˜CÑ Ô €FÝŒ|˜DÑ!Ô!€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+rr   )rã   N)Or   r   ÚnumpyrW   rH   Úpandas._libs.tslibsr   Úpandas.compatr   r   Úpandas.compat.pyarrowr   Úpandasr#   Úpandas._testingÚ_testingr'   Úpandas.core.interchange.columnr	   Ú*pandas.core.interchange.dataframe_protocolr
   r   Ú&pandas.core.interchange.from_dataframer   Úpandas.core.interchange.utilsr   r  Úparametrizer<   rR   ÚfilterwarningsrZ   ra   Úfloatrj   r›   r¶   rK   r¼   r¾   rÈ   rÍ   rÒ   rÛ   râ   rë   r÷   r  r  r  r.  r1  r4  r8  r<  ÚStringDtyperX   Úutcr%   r0  rV  rZ  r]  ra  rc  r5   r,   ÚINTrÑ   ÚINT64rÃ   r(  r)  ÚFLOATÚFLOAT64r”   r…   rk  rn  rq   rr   r;   ú<module>rƒ     s  ððð ð ð ð ð ð ð ð
 Ð Ð Ð Ø €€€à $Ð $Ð $Ð $Ð $Ð $ðð ð ð ð ð ð ð ð 7Ð 6Ð 6Ð 6Ð 6Ð 6à Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7ðð ð ð ð ð ð ð ð BÐ AÐ AÐ AÐ AÐ AØ 5Ð 5Ð 5Ð 5Ð 5Ð 5ð „×Ò˜Ð"3Ð5IÐ!JÑKÔKðFð Fñ LÔKðFð2,ð ,ð ,ð  „×ÒØJñô ð
,ð 
,ñô ð
,ðMð Mð Mð$ „×ÒØ+à	
ˆD�3˜˜˜e™œ cÐ*Ð+Ø	
ˆD�5�5˜‘<”< Ð%Ð&Ø	
ˆD�3�%ÐØ	
ˆA��U�U˜5‘\”\Ð"Ð#Ø	
ˆA�ˆuˆØ	
ˆA���e‘”ˆ~Ððñ
ô 
ðMð Mñ
ô 
ðMð$ „×ÒØ
à<Ð<Ø9Ð9Ø1Ð1Ø>Ð>ð	
ð 	
ð
ñô ðMð Mñô ðMð8Dð Dð Dð2 „×ÒØ
àˆoˆoÐ$5Ð$5Ð$5Ð6Ð6ØˆiˆiÐ/Ð/Ð/Ð0Ð0à�”Ð-Ð-Ð-Ñ.Ô.Ø�”˜)˜)˜)Ñ$Ô$Ø�”Ð+Ð+Ð+Ñ,Ô,ð	
ð 	
ðñô ð@ð @ñô ð@ð@ð @ð @ð Að Að Að:ð ð ðFð Fð Fð2ð 2ð 2ð „×Ò˜ " s¨B i Ñ1Ô1ð
Eð 
Eñ 2Ô1ð
Eð	Cð 	Cð 	Cð 	Cð9ð 9ð 9ð 9ð2ð ð ð2 „×Ò˜  |Ð4Ñ5Ô5ðFð Fñ 6Ô5ðFð,ð ,ð ,ð<.ð .ð .ð .ð.&ð &ð &ð,ð ,ð ,ðð ð ðEð Eð Eð& „×ÒØ'à	ˆˆ�w Ð(Ø	ˆˆÐ'¨Ð1Ø	ˆˆ�v˜vÐ&Ø	ˆˆ�¨Ð/àˆLˆLØØð	
ð ˆLˆLØØð	
ð
 
Ð	Ð	˜I yÐ1Ø	Ð	Ð	Ð.°	Ð:Ø	Ð	Ð	˜i¨Ð0Ø	Ð	Ð	Ð0°&Ð9Ø	$Ð	$Ð	$ n b¤n¸b¼fÐ&EÑ&EÔ&EÀ~ÐVØ	$Ð	$Ð	$Ð&7¸ÐHàˆX�d˜A˜qÑ!Ô! 8 8¨D°!°QÑ#7Ô#7¸Ð>Ø$Øð	
ð ˆX�d˜A˜qÑ!Ô! 8 8¨D°!°QÑ#7Ô#7¸Ð>Ø$Øð	
ð �˜˜q !¨H¬LÐ9Ñ9Ô9Ø�˜˜q !¨H¬LÐ9Ñ9Ô9Øðð
 5Ø.ð	
ð?(ñ+ô +ðX%Ø
ð%Øð%Ø,/ð%à	ð%ð %ð %ñY+ô +ðX%ð( „×ÒØ'à	ˆˆ�G˜WÐ%Ø	ˆˆÐ$ gÐ.Ø	ˆˆ�F˜FÐ#Ø	ˆˆ�O VÐ,àˆIˆIØØð	
ð ˆIˆIØØð	
ð
 
Ð	Ð	˜9 iÐ0Ø	Ð	Ð	Ð-¨yÐ9Ø	Ð	Ð	˜y¨&Ð1Ø	Ð	Ð	Ð1°6Ð:à,Ð,Ð,ØˆBŒN B¤FÐ+Ñ+Ô+Øð	
ð
 
*Ð	)Ð	)Ð+<¸nÐMàˆX�d˜A˜qÑ!Ô! 8 8¨D°!°QÑ#7Ô#7¸¸À$ÈÈ1Ñ9MÔ9MÐNØ$Øð	
ð ˆX�d˜A˜qÑ!Ô! 8 8¨D°!°QÑ#7Ô#7¸¸À$ÈÈ1Ñ9MÔ9MÐNØ$Øð	
ð �˜˜q !¨H¬LÐ9Ñ9Ô9Ø�˜˜q !¨H¬LÐ9Ñ9Ô9Ø�˜˜q !¨H¬LÐ9Ñ9Ô9ðð
 5Ø.ð	
ðG,ñ/ô /ð`(Ø
ð(Øð(Ø,/ð(à	ð(ð (ð (ña/ô /ð`(ð&ð ð ð ð	ð 	ð 	ð 	ð,ð ,ð ,ð „×ÒØ7ð ˆBŒI�o�o�o¨ZÐ8Ñ8Ô8ØÔ" A s¨CÐ0ØŒ]˜A˜s CÐ(ð	
ð ˆBŒIØ�˜$  1Ñ%Ô% x x°°a¸Ñ';Ô';¸X¸XÀdÈAÈqÑ=QÔ=QÐRØðñ ô ð Ô  V¨SÐ1ØŒ]˜B Ô 1°3Ð7ð	
ð ˆBŒIÐ'Ð'Ð'Ñ(Ô(ØÔ˜q +Ô"4°cÐ:ØŒ^˜Q Ô 1°3Ð7ð	
ð ˆBŒI�i�i�iÑ Ô ØŒ]˜B Ô 1°3Ð7ØŒ]˜B Ô 1°3Ð7ð	
ð ˆBŒI�k�k�kÑ"Ô"ØŒ_˜b +Ô"5°sÐ;ØŒ_˜b +Ô"5°sÐ;ð	
ð1ñ ô  ðBAØ
Œ)ðAà˜) S¨#¨sÐ2Ô3ðAð ! ¨C°°cÐ!9Ô:ðAð 
ð	Að Að AñC ô  ðBAð,ð ,ð ,ð ,ð ,rr   