§
    á! hzV  ã                   ó†	  — d Z ddlmZ ddlZddlZddlmZ ddlm	Z	m
Z
mZ ddlmZ ej                             d¦  «        Zej                             d¦  «        Zej                             d¦  «        Zd	„ Zd
„ Zej                             dddgddgddgdgdgdgdgg¦  «        ej                             dddg¦  «        d„ ¦   «         ¦   «         Zd„ Zej                             dddgg¦  «        d„ ¦   «         Zd„ Zd„ Zej                             ddg e	ej        gdgdgdœ e
dgd¬¦  «        ¬¦  «        fdd g e	ej        gdgd!œ ej        d"gdd#g¬$¦  «        ¬¦  «        fdd#g e	ej        gdgd!œ ej        d"gdd#g¬$¦  «        ¬¦  «        fg¦  «        d%„ ¦   «         Zej                             d&i  e	dd'ej        d(d)ej        d*gg d+¢d,d-d.ej        d/ej        d0gd1œ¦  «        fg g d2œd3d4œ e	g d5¢g d+¢g d6¢d1œ¦  «        fdgd3d4œ e	ej        d'd7d(d)d8d*gg d+¢g d6¢d1œ¦  «        fdg g d2œi e	dd'ej        d(d)ej        d*gg d+¢d,d-d.ej        d/ej        d0gd1œ¦  «        fg¦  «        d9„ ¦   «         Z d:„ Z!d;„ Z"d<„ Z#ej                             d=d>d?g¦  «        d@„ ¦   «         Z$eej                             dAdBddCgej        ej        gdDdEggfd3dFdCgd8dGgdHdEggfg¦  «        dI„ ¦   «         ¦   «         Z%edJ„ ¦   «         Z&ej                             dKdej        dLgdLej        ggfd ddMœdNdLgej        ej        ggfg¦  «        dO„ ¦   «         Z'dP„ Z(dQ„ Z)ej                             dR e*dS¦  «        dTz    e*dU¦  «        z   ddSgi e	 e*dS¦  «         e*dU¦  «        g¦  «        f e*dS¦  «        dVz   dWz   i  e	 e*dS¦  «        dgd7d gg¦  «        f e*dS¦  «        dXz   ddSgi e	ej        dg¦  «        fg¦  «        dY„ ¦   «         Z+dZ„ Z,ej                             d[d3d7d\gfdBej        d]gfg¦  «        d^„ ¦   «         Z-d_„ Z.eej                             d`dBd3g¦  «        da„ ¦   «         ¦   «         Z/eej                             dbdcdddedfdgdhgfdgddhifg¦  «        di„ ¦   «         ¦   «         Z0edj„ ¦   «         Z1dk„ Z2edl„ ¦   «         Z3dm„ Z4dn„ Z5dS )ozg
Tests that NA values are properly handled during
parsing for all of the parsers defined in parsers.py
é    )ÚStringION)ÚSTR_NA_VALUES)Ú	DataFrameÚIndexÚ
MultiIndexz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningÚpyarrow_xfailÚpyarrow_skipc                 ó  — | }d}|                      t          |¦  «        ¦  «        }t          g d¢dt          j        dgt          j        ddggg d¢¬¦  «        }|j        d	k    rd |j        d
<   d |j        d<   t          j        ||¦  «         d S )NzA,B,C
a,b,c
d,,f
,g,h
©ÚaÚbÚcÚdÚfÚgÚh©ÚAÚBÚC©ÚcolumnsÚpyarrow)é   r   )é   r   )	Úread_csvr   r   ÚnpÚnanÚengineÚlocÚtmÚassert_frame_equal©Úall_parsersÚparserÚdataÚresultÚexpecteds        ú_c:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\pandas/tests/io/parser/test_na_values.pyÚtest_string_nasr*      s¢   € Ø€Fð€Dð
 �_Š_�X d™^œ^Ñ,Ô,€FÝØ	ˆˆ˜3¥¤¨Ð,­r¬v°s¸CÐ.@ÐAØ��ðñ ô €Hð „}˜	Ò!Ð!Ø#ˆŒ�VÑØ#ˆŒ�VÑÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+ó    c                 ó6  — | }d}t          ddgt          j        dgt          j        t          j        ggddg¬¦  «        }|j        dk    rd |j        d	d
gdf<   d |j        d<   |                     t          |¦  «        ¦  «        }t          j        ||¦  «         d S )NzA,B
foo,bar
NA,baz
NaN,nan
ÚfooÚbarÚbazr   r   r   r   r   r   ©r   r   )	r   r   r   r   r    r   r   r!   r"   )r$   r%   r&   r(   r'   s        r)   Útest_detect_string_nar1   -   s¦   € Ø€Fð€Dõ
 Ø
�ˆ�"œ& %˜­2¬6µ2´6Ð*:Ð;ÀcÈ3ÀZðñ ô €Hð „}˜	Ò!Ð!Ø$(ˆŒ�a˜�V˜S�[Ñ!Ø#ˆŒ�VÑØ�_Š_�X d™^œ^Ñ,Ô,€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r+   Ú	na_valuesz-999.0z-999iüÿÿg     8�Àr&   zA,B
-999,1.2
2,-999
3,4.5
z"A,B
-999,1.200
2,-999.000
3,4.500
c                 ób  — | }t          t          j        dgdt          j        gddggddg¬¦  «        }|j        dk    rtt	          d	„ |D ¦   «         ¦  «        s[d
}t          j        t          |¬¦  «        5  |                     t          |¦  «        |¬¦  «         d d d ¦  «         n# 1 swxY w Y   d S |j        dk    r9d|v r5t
          j
                             d¬¦  «        }|                     |¦  «         |                     t          |¦  «        |¬¦  «        }t          j        ||¦  «         d S )Ng333333ó?ç       @g      @g      @r   r   r   r   c              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S )N)Ú
isinstanceÚstr)Ú.0Úxs     r)   ú	<genexpr>z,test_non_string_na_values.<locals>.<genexpr>_   s,   è è € Ð-TÐ-TÀQ­j¸½CÑ.@Ô.@Ð-TÐ-TÐ-TÐ-TÐ-TÐ-Tr+   ú9The 'pyarrow' engine requires all na_values to be strings©Úmatch©r2   z-999.000z4pyarrow engined does not recognize equivalent floats©Úreason)r   r   r   r   ÚallÚpytestÚraisesÚ	TypeErrorr   r   ÚmarkÚxfailÚapplymarkerr!   r"   )	r$   r&   r2   Úrequestr%   r(   ÚmsgrE   r'   s	            r)   Útest_non_string_na_valuesrJ   >   sƒ  € ð< €FÝ�2œ6 3˜-¨#­r¬v¨¸¸c¸
ÐCÈcÐSVÈZÐXÑXÔX€Hà„}˜	Ò!Ð!­#Ð-TÐ-TÈ)Ð-TÑ-TÔ-TÑ*TÔ*TÐ!ØIˆÝŒ]�9¨CÐ0Ñ0Ô0ð 	Að 	AØ�OŠO�H T™NœN°iˆOÑ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	AàˆØ	Œ˜)Ò	#Ð	#¨
°dÐ(:Ð(:õ Œ{× Ò ØIð !ñ 
ô 
ˆð 	×Ò˜DÑ!Ô!Ð!à�_Š_�X d™^œ^°yˆ_ÑAÔA€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+s   Á4%B%Â%B)Â,B)c                 ó’  ‡‡— h d£}|t           k    sJ ‚| }t          |¦  «        Šˆfd„Št          d                     ˆfd„t	          |¦  «        D ¦   «         ¦  «        ¦  «        }t          t          j        t          ‰¦  «        t          ‰¦  «        ¬¦  «        }| 	                    |d ¬¦  «        }t          j        ||¦  «         d S )N>   ú#NAúN/Aún/aú#N/Aú-NaNú-nanú<NA>ú1.#INDú-1.#INDú1.#QNANú#N/A N/Aú-1.#QNANÚ ÚNAÚNaNr   ÚNULLÚNoneÚnullc                 óÀ   •— | dk    rd}n| dk    rd                      dg| z  ¦  «        }|› |› �}| ‰dz
  k     r%d                      dg‰| z
  dz
  z  ¦  «        }|› |› �}|S )Nr   rX   ú,r   )Újoin)ÚiÚvÚbufÚjoinedÚnvs       €r)   r   z!test_default_na_values.<locals>.fŒ   s‚   ø€ Ø�Š6ˆ6ØˆCˆCØ�ŠUˆUØ—'’'˜3˜% !™)Ñ$Ô$ˆCàˆk�aˆkˆkˆàˆr�A‰vŠ:ˆ:Ø—W’W˜c˜U b¨1¡f¨q¡jÑ1Ñ2Ô2ˆFØÐ"˜&Ð"Ð"ˆCàˆ
r+   ú
c                 ó.   •— g | ]\  }} ‰||¦  «        ‘ŒS © rh   )r8   ra   rb   r   s      €r)   ú
<listcomp>z*test_default_na_values.<locals>.<listcomp>š   s'   ø€ ÐIÐIÐI©4¨1¨a˜q˜q  A™wœwÐIÐIÐIr+   )r   Úindex)Úheader)r   Úlenr   r`   Ú	enumerater   r   r   Úranger   r!   r"   )r$   Ú
_NA_VALUESr%   r&   r(   r'   r   re   s         @@r)   Útest_default_na_valuesrp   q   sÙ   øø€ ðð ð €Jð* �Ò&Ð&Ð&Ð&à€FÝ	ˆZ‰Œ€Bðð ð ð ð õ �D—I’IÐIÐIÐIÐIµ9¸ZÑ3HÔ3HÐIÑIÔIÑJÔJÑKÔK€DÝ�œ­¨r©¬½%À¹)¼)ÐDÑDÔD€Hà�_Š_˜T¨$ˆ_Ñ/Ô/€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r+   r/   c                 óâ  — | }d}t          dt          j        dgt          j        dt          j        gddt          j        ggg d¢¬¦  «        }|j        d	k    r]d
}t	          j        t          |¬¦  «        5  |                     t          |¦  «        |dg¬¦  «         d d d ¦  «         n# 1 swxY w Y   d S |                     t          |¦  «        |dg¬¦  «        }t          j
        ||¦  «         d S )Nz3A,B,C
ignore,this,row
1,NA,3
-1.#IND,5,baz
7,8,NaN
ç      ð?é   é   é   é   r   r   r   z@skiprows argument must be an integer when using engine='pyarrow'r<   r   )r2   Úskiprows©r   r   r   r   rB   rC   Ú
ValueErrorr   r   r!   r"   )r$   r2   r%   r&   r(   rI   r'   s          r)   Útest_custom_na_valuesrz   ¡   s<  € à€Fð€Dõ Ø
�rŒv�qÐ	�BœF A¥r¤vÐ.°°Aµr´v°Ð?ÈÈÈðñ ô €Hð „}˜	Ò!Ð!ØPˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	Oð 	OØ�OŠO�H T™NœN°iÈ1È#ˆOÑNÔNÐNð	Oð 	Oð 	Oñ 	Oô 	Oð 	Oð 	Oð 	Oð 	Oð 	Oð 	Oøøøð 	Oð 	Oð 	Oð 	Oàˆà�_Š_�X d™^œ^°yÈAÈ3ˆ_ÑOÔO€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+s   Á4'B'Â'B+Â.B+c                 ó|  — d}| }|                      t          |¦  «        ¦  «        }t          t          j        dt          j        dgt          ¬¦  «        t          j        ddt          j        gt          ¬¦  «        g d¢dœ¦  «        }|j        dk    rd |j        d<   d |j        d	<   t          j
        ||¦  «         d S )
Nz1A,B,C
True,False,True
NA,True,False
False,NA,TrueTF©Údtype)TFTr   r   )r   r   r0   )r   r   r   r   Úarrayr   Úobjectr   r    r!   r"   ©r$   r&   r%   r'   r(   s        r)   Útest_bool_na_valuesr�   ·   s¿   € ð€Dð €FØ�_Š_�X d™^œ^Ñ,Ô,€FÝå”˜4¥¤¨Ð/µvÐ>Ñ>Ô>Ý”˜5 $­¬Ð/µvÐ>Ñ>Ô>Ø$Ð$Ð$ð	
ð 	
ñô €Hð „}˜	Ò!Ð!Ø#ˆŒ�VÑØ#ˆŒ�VÑÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r+   c                 ó  — d}| }|j         dk    r`d}t          j        t          |¬¦  «        5  |                     t          |¦  «        dgdgdœ¬¦  «         d d d ¦  «         n# 1 swxY w Y   d S |                     t          |¦  «        dgdgdœ¬¦  «        }t          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 S )
Nz3A,B,C
foo,bar,NA
bar,foo,foo
foo,bar,NA
bar,foo,foor   z;pyarrow engine doesn't support passing a dict for na_valuesr<   r-   r.   )r   r   r>   r   ©r   rB   rC   ry   r   r   r   r   r   r!   r"   ©r$   r&   r%   rI   Údfr(   s         r)   Útest_na_value_dictr†   Ë   sU  € ð€Dð
 €Fà„}˜	Ò!Ð!ØKˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	Tð 	TØ�OŠO�H T™NœN¸U¸GÈ5È'Ð6RÐ6RˆOÑSÔSÐSð	Tð 	Tð 	Tñ 	Tô 	Tð 	Tð 	Tð 	Tð 	Tð 	Tð 	Tøøøð 	Tð 	Tð 	Tð 	Tàˆà	�Š� $™œ¸%¸ÈÀwÐ3OÐ3OˆÑ	PÔ	P€BÝå”&˜%¥¤¨Ð/Ý”&˜%¥¤¨Ð/Ý”&˜%¥¤¨Ð/ð	
ð 	
ñô €Hõ Ô˜"˜hÑ'Ô'Ð'Ð'Ð's   ­*A#Á#A'Á*A'zindex_col,expectedr   rt   )r   r   r   r   ©Úname©rj   r   )r   r   )r   r   r   )Únamesc                 óš   — d}| }|                      t          |¦  «        t          ¦   «         |¬¦  «        }t          j        ||¦  «         d S )Nza,b,c,d
0,NA,1,5
)r2   Ú	index_col)r   r   Úsetr!   r"   )r$   rŒ   r(   r&   r%   r'   s         r)   Útest_na_value_dict_multi_indexrŽ   ä   sJ   € ð0€Dð €FØ�_Š_�X d™^œ^µs±u´uÈ	ˆ_ÑRÔR€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r+   zkwargs,expectedr   r   Úer   ©r   r   rs   é   rt   é   ru   ÚoneÚtwoÚthreeÚfiveÚsevenr   )r   r   F©r2   Úkeep_default_na©r   r   rX   r   r�   r   r   )r“   r”   r•   r   r–   rX   r—   rX   r   c                 óÌ  — d}| }|j         dk    r¤d|v rmt          |d         t          ¦  «        rRd}t          j        t
          |¬¦  «        5   |j        t          |¦  «        fi |¤Ž d d d ¦  «         n# 1 swxY w Y   d S t          j         	                    ¦   «         }| 
                    |¦  «          |j        t          |¦  «        fi |¤Ž}t          j        ||¦  «         d S )NzAA,B,C
a,1,one
b,2,two
,3,three
d,4,nan
e,5,five
nan,6,
g,7,seven
r   r2   ú?The pyarrow engine doesn't support passing a dict for na_valuesr<   )r   r6   ÚdictrB   rC   ry   r   r   rE   rF   rG   r!   r"   )	r$   Úkwargsr(   rH   r&   r%   rI   rE   r'   s	            r)   Útest_na_values_keep_defaultrŸ     s0  € ð\	€Dð €FØ„}˜	Ò!Ð!Ø˜&Ð Ð ¥Z°°{Ô0CÅTÑ%JÔ%JÐ ØSˆCÝ”�z°Ð5Ñ5Ô5ð :ð :Ø�”¥¨¡¤Ð9Ð9°&Ð9Ð9Ð9ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :àˆFÝŒ{× Ò Ñ"Ô"ˆØ×Ò˜DÑ!Ô!Ð!àˆVŒ_�X d™^œ^Ð6Ð6¨vÐ6Ð6€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+s   ÁA4Á4A8Á;A8c                 ó²   — d}| }|                      t          |¦  «        d¬¦  «        }t          g d¢g d¢g d¢dœ¦  «        }t          j        ||¦  «         d S )NzAA,B,C
a,1,None
b,2,two
,3,None
d,4,nan
e,5,five
nan,6,
g,7,seven
F)r™   rš   r�   )r\   r”   r\   r   r–   rX   r—   r   ©r   r   r   r!   r"   r€   s        r)   Ú!test_no_na_values_no_keep_defaultr¢   K  sz   € ð	€Dð €FØ�_Š_�X d™^œ^¸Uˆ_ÑCÔC€Fåà5Ð5Ð5Ø&Ð&Ð&ØDÐDÐDð	
ð 	
ñô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r+   c                 ó˜  — d}| }|j         dk    r_d}t          j        t          |¬¦  «        5  |                     t          |¦  «        ddgid¬¦  «         d d d ¦  «         n# 1 swxY w Y   d S |                     t          |¦  «        ddgid¬¦  «        }t          d	gt          j        gd
œ¦  «        }t          j
        ||¦  «         d S )Nza,b
,2r   rœ   r<   r   Ú2Fr˜   rX   ©r   r   rƒ   )r$   r&   r%   rI   r'   r(   s         r)   Ú&test_no_keep_default_na_dict_na_valuesr¦   e  s  € à€DØ€Fà„}˜	Ò!Ð!ØOˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�OŠOÝ˜‘”¨3°°¨,Èð ñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ˆà�_Š_Ý�‰Œ 3¨¨ ,Àð ñ ô €Fõ  ˜t­2¬6¨(Ð3Ð3Ñ4Ô4€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+s   ­)A"Á"A&Á)A&c                 ó”  — d}| }|j         dk    r^d}t          j        t          |¬¦  «        5  |                     t          |¦  «        ddid¬¦  «         d d d ¦  «         n# 1 swxY w Y   d S |                     t          |¦  «        ddid¬¦  «        }t          d	gt          j        gd
œ¦  «        }t          j
        ||¦  «         d S )Nza,b
1,2r   rœ   r<   r   r   Fr˜   r   r¥   rƒ   r„   s         r)   Ú-test_no_keep_default_na_dict_na_scalar_valuesr¨   y  s  € ð €DØ€Fà„}˜	Ò!Ð!ØOˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	Wð 	WØ�OŠO�H T™NœN°s¸A°hÐPUˆOÑVÔVÐVð	Wð 	Wð 	Wñ 	Wô 	Wð 	Wð 	Wð 	Wð 	Wð 	Wð 	Wøøøð 	Wð 	Wð 	Wð 	Wàˆà	�Š� $™œ°C¸°8ÈUˆÑ	SÔ	S€BÝ ˜s­"¬&¨Ð2Ð2Ñ3Ô3€HÝÔ˜"˜hÑ'Ô'Ð'Ð'Ð's   ­(A!Á!A%Á(A%Úcol_zero_na_valuesiå¹ Ú113125c                 ó  — d}| }t          t          j        dgt          j        dgdt          j        gddgddgd	d
gt          j        dgdœ¦  «        }|j        dk    rbd}t	          j        t          |¬¦  «        5  |                     t          |¦  «        d dd
dd|dœ¬¦  «         d d d ¦  «         n# 1 swxY w Y   d S |                     t          |¦  «        d dd
dd|dœ¬¦  «        }t          j
        ||¦  «         d S )Nz_113125,"blah","/blaha",kjsdkj,412.166,225.874,214.008
729639,"qwer","",asdfkj,466.681,,252.373
g    ND&AÚqwerz/blahaÚkjsdkjÚasdfkjg-²�ï§Ây@g7‰A`å*}@z225.874rX   g-²�ï‹o@)r   r   r   rs   r‘   rt   r’   r   rœ   r<   Fz214.008Úblah)r   r’   r   r   )rk   r™   r2   rx   )r$   r©   r&   r%   r(   rI   r'   s          r)   Ú1test_no_keep_default_na_dict_na_values_diff_reprsr°   ‹  sy  € ð€Dð €FÝå”˜Ð!Ý”˜ÐØ�"œ&Ð!Ø˜(Ð#Ø˜Ð!Ø˜2ˆÝ”˜Ð ð	
ð 	
ñ
ô 
€Hð „}˜	Ò!Ð!ØOˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�OŠOÝ˜‘”ØØ %Ø  Y°6Ð>PÐQÐQð	 ñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ˆà�_Š_Ý�‰ŒØØØ˜Y¨6Ð6HÐIÐIð	 ñ ô €Fõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+s   Á:,B2Â2B6Â9B6zna_filter,row_dataTr   rs   r   Ú1r   Ú3c                 óª   — d}| }|                      t          |¦  «        dg|¬¦  «        }t          |ddg¬¦  «        }t          j        ||¦  «         d S )NzA,B
1,A
nan,B
3,C
r   )r2   Ú	na_filterr   r   r¡   )r$   r´   Úrow_datar&   r%   r'   r(   s          r)   Ú!test_na_values_na_filter_overrider¶   ³  s^   € ð€Dð €FØ�_Š_�X d™^œ^¸°uÈ	ˆ_ÑRÔR€Få˜¨C°¨:Ð6Ñ6Ô6€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r+   c                 ó>  — | }d}|                      t          |¦  «        ¦  «        }t          dddddt          j        t          j        t          j        gdddd	d
t          j        t          j        t          j        ggg d¢¬¦  «        }t          j        ||¦  «         d S )NzlDate,Currency,Symbol,Type,Units,UnitPrice,Cost,Tax
2012-03-14,USD,AAPL,BUY,1000
2012-05-12,USD,SBUX,SELL,500z
2012-03-14ÚUSDÚAAPLÚBUYiè  z
2012-05-12ÚSBUXÚSELLiô  )ÚDateÚCurrencyÚSymbolÚTypeÚUnitsÚ	UnitPriceÚCostÚTaxr   )r   r   r   r   r   r!   r"   r#   s        r)   Útest_na_trailing_columnsrÅ   É  sž   € à€Fð €Dð
 �_Š_�X d™^œ^Ñ,Ô,€FÝà˜5 &¨%°µr´v½r¼vÅrÄvÐNØ˜5 &¨&°#µr´v½r¼vÅrÄvÐNð	
ð	
ð 	
ð 	
ðñ ô €Hõ  Ô˜& (Ñ+Ô+Ð+Ð+Ð+r+   zna_values,row_datar4   r¥   rr   c                 ó´  — | }ddg}d}|j         dk    r’t          |t          ¦  «        r}t          |t          ¦  «        r
t          }d}n	t          }d}t          j        ||¬¦  «        5  |                     t          |¦  «        ||¬¦  «         d d d ¦  «         n# 1 swxY w Y   d S |j         dk    r\d}t          j        t          |¬¦  «        5  |                     t          |¦  «        ||¬¦  «         d d d ¦  «         n# 1 swxY w Y   d S |                     t          |¦  «        ||¬¦  «        }t          ||¬	¦  «        }	t          j        ||	¦  «         d S )
Nr   r   ú1,2
2,1r   rœ   r;   r<   ©rŠ   r2   r   )r   r6   r�   ry   rD   rB   rC   r   r   r   r!   r"   )
r$   r2   rµ   r%   rŠ   r&   ÚerrrI   r'   r(   s
             r)   Útest_na_values_scalarrÊ   å  sò  € ð €FØ�#ˆJ€EØ€Dà„}˜	Ò!Ð!¥j°½DÑ&AÔ&AÐ!Ý�i¥Ñ&Ô&ð 	NÝˆCØSˆCˆCåˆCØMˆCÝŒ]˜3 cÐ*Ñ*Ô*ð 	Nð 	NØ�OŠO�H T™NœN°%À9ˆOÑMÔMÐMð	Nð 	Nð 	Nñ 	Nô 	Nð 	Nð 	Nð 	Nð 	Nð 	Nð 	Nøøøð 	Nð 	Nð 	Nð 	NàˆØ	Œ˜)Ò	#Ð	#ØIˆÝŒ]�9¨CÐ0Ñ0Ô0ð 	Nð 	NØ�OŠO�H T™NœN°%À9ˆOÑMÔMÐMð	Nð 	Nð 	Nñ 	Nô 	Nð 	Nð 	Nð 	Nð 	Nð 	Nð 	Nøøøð 	Nð 	Nð 	Nð 	Nàˆà�_Š_�X d™^œ^°5ÀIˆ_ÑNÔN€FÝ˜¨5Ð1Ñ1Ô1€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+s$   Á'&BÂBÂ BÃ&D Ä DÄDc                 ó
  — | }dddœ}|                      ¦   «         }ddg}d}t          ddgt          j        t          j        gg|¬	¦  «        }|j        d
k    r\d}t          j        t          |¬¦  «        5  |                     t          |¦  «        ||¬¦  «         d d d ¦  «         n# 1 swxY w Y   d S |                     t          |¦  «        ||¬¦  «        }t          j        ||¦  «         t          j        ||¦  «         d S )Nr   r   r¥   r   r   rÇ   rr   r4   r   r   rœ   r<   rÈ   )Úcopyr   r   r   r   rB   rC   ry   r   r   r!   r"   Úassert_dict_equal)	r$   r%   r2   Úna_values_copyrŠ   r&   r(   rI   r'   s	            r)   Útest_na_values_dict_aliasingrÏ     sN  € Ø€FØ˜aÐ Ð €IØ—^’^Ñ%Ô%€Nà�#ˆJ€EØ€Då˜3 ˜*¥r¤v­r¬vÐ&6Ð7ÀÐGÑGÔG€Hà„}˜	Ò!Ð!ØOˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	Nð 	NØ�OŠO�H T™NœN°%À9ˆOÑMÔMÐMð	Nð 	Nð 	Nñ 	Nô 	Nð 	Nð 	Nð 	Nð 	Nð 	Nð 	Nøøøð 	Nð 	Nð 	Nð 	Nàˆà�_Š_�X d™^œ^°5ÀIˆ_ÑNÔN€FåÔ˜& (Ñ+Ô+Ð+ÝÔ˜ NÑ3Ô3Ð3Ð3Ð3s   Á5&B'Â'B+Â.B+c                 óŽ  — d}| }ddi}|j         dk    r[d}t          j        t          |¬¦  «        5  |                     t          |¦  «        |¬¦  «         d d d ¦  «         n# 1 swxY w Y   d S |                     t          |¦  «        |¬¦  «        }t          dt          j        d	gi¦  «        }t          j
        ||¦  «         d S )
Nza
foo
1r   r-   r   rœ   r<   r>   r   r   rƒ   )r$   r&   r%   r2   rI   r'   r(   s          r)   Útest_na_values_dict_col_indexrÑ     s  € à€DØ€FØ�E�
€Ià„}˜	Ò!Ð!ØOˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	Að 	AØ�OŠO�H T™NœN°iˆOÑ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Aàˆà�_Š_�X d™^œ^°yˆ_ÑAÔA€FÝ˜#¥¤¨˜{Ð+Ñ,Ô,€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+s   ±%A"Á"A&Á)A&zdata,kwargs,expectedl            rf   l           z,1z
,2z
1c                 ó´  — | }|j         dk    rXd|v rTd}t          j        t          |¬¦  «        5   |j        t          |¦  «        fdd i|¤Ž d d d ¦  «         n# 1 swxY w Y   d S |j         dk    r5t          j                             d¬¦  «        }|                     |¦  «          |j        t          |¦  «        fdd i|¤Ž}t          j
        ||¦  «         d S )Nr   r2   r;   r<   rk   z!Returns float64 instead of objectr?   )r   rB   rC   rD   r   r   rE   rF   rG   r!   r"   )	r$   r&   rž   r(   rH   r%   rI   rE   r'   s	            r)   Útest_na_values_uint64rÓ   .  sA  € ð €Fà„}˜	Ò!Ð! k°VÐ&;Ð&;ØIˆÝŒ]�9¨CÐ0Ñ0Ô0ð 	Cð 	CØˆFŒO�H T™NœNÐBÐB°4ÐB¸6ÐBÐBÐBð	Cð 	Cð 	Cñ 	Cô 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cøøøð 	Cð 	Cð 	Cð 	CàˆØ	Œ˜)Ò	#Ð	#ÝŒ{× Ò Ð(KÐ ÑLÔLˆØ×Ò˜DÑ!Ô!Ð!àˆVŒ_�X d™^œ^ÐCÐC°DÐC¸FÐCÐC€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+s   ¯AÁAÁ Ac                 óÊ   — d}| }t          ddgit          dgd¬¦  «        ¬¦  «        }|                     t          |¦  «        dd	¬
¦  «        }t	          j        ||¦  «         d S )Nza,1
b,2r±   r   r   r   r‡   r‰   r   F)rŒ   r™   )r   r   r   r   r!   r"   )r$   r&   r%   r(   r'   s        r)   Ú*test_empty_na_values_no_default_with_indexrÕ   K  si   € à€DØ€FÝ˜# ˜s˜­5°#°¸SÐ+AÑ+AÔ+AÐBÑBÔB€Hà�_Š_�X d™^œ^°qÈ%ˆ_ÑPÔP€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r+   zna_filter,index_dataÚ5g      @c                 óZ  — | }d}|j         dk    r9|du r5t          j                             d¬¦  «        }|                     |¦  «         t          ddgdd	gd
œt          |d¬¦  «        ¬¦  «        }|                     t          |¦  «        dg|¬¦  «        }t          j
        ||¦  «         d S )Núa,b,c
1,,3
4,5,6r   Fzmismatched index resultr?   r   r‘   rs   r’   )r   r   r   r‡   r‰   )rŒ   r´   )r   rB   rE   rF   rG   r   r   r   r   r!   r"   )	r$   r´   Ú
index_datarH   r%   r&   rE   r(   r'   s	            r)   Útest_no_na_filter_on_indexrÚ   U  sº   € ð €FØ€Dà„}˜	Ò!Ð! i°5Ð&8Ð&8ÝŒ{× Ò Ð(AÐ ÑBÔBˆØ×Ò˜DÑ!Ô!Ð!å  1˜v¨Q°¨FÐ3Ð3½5ÀÐRUÐ;VÑ;VÔ;VÐWÑWÔW€HØ�_Š_�X d™^œ^¸°sÀiˆ_ÑPÔP€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r+   c                 ó  — | }d}|                      t          |¦  «        dgddg¬¦  «        }t          dt          j        gdt          j        gdœt          d	d
gd¬¦  «        ¬¦  «        }t          j        ||¦  «         d S )Nzidx,col1,col2
1,3,4
2,inf,-infr   Úinfz-inf)rŒ   r2   rs   r‘   )Úcol1Úcol2r   r   Úidxr‡   r‰   )r   r   r   r   r   r   r!   r"   )r$   r%   r&   Úoutr(   s        r)   Ú!test_inf_na_values_with_int_indexrá   h  sŠ   € à€FØ-€Dð �/Š/�( 4™.œ.°Q°CÀEÈ6À?ˆ/Ñ
SÔ
S€CÝØ•R”V� q­"¬& kÐ2Ð2½%ÀÀAÀÈUÐ:SÑ:SÔ:Sðñ ô €Hõ Ô˜#˜xÑ(Ô(Ð(Ð(Ð(r+   r´   c                 óÞ   — | }d}|rt           j        nd}t          ddg|dgddgdœ¦  «        }|                     t	          |¦  «        |t
          ¬	¦  «        }t          j        ||¦  «         d S )
NrØ   rX   r±   Ú4rÖ   r²   Ú6r   )r´   r}   )r   r   r   r   r   r7   r!   r"   )r$   r´   r%   r&   Úemptyr(   r'   s          r)   Ú+test_na_values_with_dtype_str_and_na_filterræ   u  sy   € ð €FØ€Dð  Ð'�BŒFˆF R€EÝ  S˜z°¸°ÀCÈÀ:ÐNÐNÑOÔO€Hà�_Š_�X d™^œ^°yÍˆ_ÑLÔL€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r+   zdata, na_values)zfalse,1
,1
trueN)zfalse,1
null,1
trueN)zfalse,1
nan,1
trueN)úfalse,1
foo,1
truer-   rç   r-   c                 óö   — | }d                      ddg¦  «        }t          j        t          |¬¦  «        5  |                     t          |¦  «        d ddgddi|¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nú|z(Bool column has NA values in column [0a]zRcannot safely convert passed user dtype of bool for object dtyped data in column 0r<   r   r   Úbool)rk   rŠ   r}   r2   )r`   rB   rC   ry   r   r   )r$   r&   r2   r%   rI   s        r)   Ú!test_cast_NA_to_bool_raises_errorrë   …  sÜ   € ð €FØ
�(Š(à6ð6ð	
ñô €Cõ 
Œ•z¨Ð	-Ñ	-Ô	-ð 
ð 
Ø�ŠÝ�T‰NŒNØØ˜�*Ø˜�-Øð 	ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   µ,A.Á.A2Á5A2c           	      ó  — | }d}|                      t          |¦  «        d g d¢t          t          t          dœ¬¦  «                             ¦   «         }t	          ddgddgdd	gdœd
dg¬¦  «        }t          j        ||¦  «         d S )NzDFile: small.csv,,
10010010233,0123,654
foo,,bar
01001000155,4530,898)rÝ   rÞ   Úcol3)rk   rŠ   r}   Ú10010010233Ú01001000155Ú0123Ú4530Ú654Ú898r   rs   r‰   )r   r   r7   Údropnar   r!   r"   r#   s        r)   Útest_str_nan_droppedrõ   §  sµ   € ð €Fð€Dð
 �_Š_Ý�‰ŒØØ&Ð&Ð&Ý¥CµÐ5Ð5ð	 ñ ô ÷
 ‚f�h„hð õ à" MÐ2Ø˜VÐ$Ø˜E�Nð	
ð 	
ð
 �!ˆfðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r+   c           	      ó   — | }d}|j         dk    rxd}t          j        t          |¬¦  «        5  |                     t          |¦  «        t          t          d¦  «        ¦  «        ddi¬¦  «         d d d ¦  «         n# 1 swxY w Y   d S |                     t          |¦  «        t          t          d¦  «        ¦  «        ddi¬¦  «        }t          d	gdgt          j
        gd
œ¦  «        }t          j        ||¦  «         d S )NzA,B,B
X,Y,Z
1,2,infr   rœ   r<   r   ©r   ÚZrÜ   )rk   r2   r   ))r   ÚX)r   ÚYr÷   )r   rB   rC   ry   r   r   Úlistrn   r   r   r   r!   r"   )r$   r%   r&   rI   r'   r(   s         r)   Útest_nan_multi_indexrü   Ä  sE  € à€FØ"€Dà„}˜	Ò!Ð!ØOˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�OŠOÝ˜‘”¥t­E°!©H¬H¡~¤~À*ÈeÐATð ñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ˆà�_Š_Ý�‰Œ�t¥E¨!¡H¤H™~œ~¸*ÀeÐ9Lð ñ ô €Fõ à˜Ø˜Ýœ˜ð	
ð 	
ñô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+s   ­AA;Á;A?ÂA?c                 ó¾   — | }d}t          j        t          d¬¦  «        5  |                     t	          |¦  «        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nú0
NaN
True
False
z	NA valuesr<   rê   r|   ©rB   rC   ry   r   r   ©r$   r%   r&   s      r)   Útest_bool_and_nan_to_boolr  à  s§   € ð €Fð€Dõ
 
Œ•z¨Ð	5Ñ	5Ô	5ð 6ð 6Ø�Š� ™œ¨fˆÑ5Ô5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6ð 6ð 6ó    %AÁAÁAc                 ó¾   — | }d}t          j        t          d¬¦  «        5  |                     t	          |¦  «        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrþ   zconvert|NoneTyper<   Úintr|   rÿ   r   s      r)   Útest_bool_and_nan_to_intr  í  s¦   € à€Fð€Dõ
 
Œ•zÐ);Ð	<Ñ	<Ô	<ð 5ð 5Ø�Š� ™œ¨eˆÑ4Ô4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð 5ð 5r  c                 óÆ   — | }d}|                      t          |¦  «        d¬¦  «        }t          j        dt          j        ddgi¦  «        }t          j        ||¦  «         d S )Nrþ   Úfloatr|   Ú0rr   g        )r   r   r   Ú	from_dictr   r   r!   r"   r#   s        r)   Útest_bool_and_nan_to_floatr
  ù  sb   € à€Fð€Dð
 �_Š_�X d™^œ^°7ˆ_Ñ;Ô;€FÝÔ" C­"¬&°#°sÐ);Ð#<Ñ=Ô=€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r+   )6Ú__doc__Úior   Únumpyr   rB   Úpandas._libs.parsersr   Úpandasr   r   r   Úpandas._testingÚ_testingr!   rE   ÚfilterwarningsÚ
pytestmarkÚusefixturesÚxfail_pyarrowÚskip_pyarrowr*   r1   ÚparametrizerJ   rp   rz   r�   r†   r   Úfrom_tuplesrŽ   rŸ   r¢   r¦   r¨   r°   r¶   rÅ   rÊ   rÏ   rÑ   r7   rÓ   rÕ   rÚ   rá   ræ   rë   rõ   rü   r  r  r
  rh   r+   r)   ú<module>r     s“  ððð ð Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€à .Ð .Ð .Ð .Ð .Ð .ðð ð ð ð ð ð ð ð ð ð
 Ð Ð Ð Ð Ð àŒ[×'Ò'ØCñô €
ð ”×'Ò'¨Ñ8Ô8€ØŒ{×&Ò& ~Ñ6Ô6€ð,ð ,ð ,ð$,ð ,ð ,ð" „×ÒØà	�6ÐØ	ˆvˆØ	�ˆØ	ˆ
Ø	ˆØ	ˆØ	ˆðñô ð „×ÒØ
ð	ð
	ðñô ð,ð ,ñô ñô ð6,ð0-,ð -,ð -,ð` „×Ò˜ u¨u¨gÐ&6Ñ7Ô7ð,ð ,ñ 8Ô7ð,ð*,ð ,ð ,ð((ð (ð (ð2 „×ÒØð ˆCØˆI˜RœV˜H¨A¨3°a°SÐ9Ð9ÀÀÈÀsÐQTÐAUÑAUÔAUÐVÑVÔVð	
ð
 �ˆFØˆIØ”v�h a SÐ)Ð)Ø,�jÔ,¨f¨X¸cÀ3¸ZÐHÑHÔHðñ ô ð	
ð �#ˆJØˆIØ”v�h a SÐ)Ð)Ø,�jÔ,¨f¨X¸cÀ3¸ZÐHÑHÔHðñ ô ð	
ðñô ð.,ð ,ñ/ô ð.,ð „×ÒØð ØˆIà˜s B¤F¨C°°b´f¸cÐBØ.Ð.Ð.Ø ¨°´¸ÀÄÈÐQðð ñô ð		
ð !#¨Ð,Ð,ÀÐGÐGØˆIà=Ð=Ð=Ø.Ð.Ð.ØLÐLÐLðð ñô ð		
ð ˜%°EÐ:Ð:ØˆIàœ& # r¨3°°U¸CÐ@Ø.Ð.Ð.ØLÐLÐLðð ñô ð		
ð  ¨Ð,Ð,Ð-ØˆIà˜s B¤F¨C°°b´f¸cÐBØ.Ð.Ð.Ø ¨°´¸ÀÄÈÐQðð ñô ð		
ð?)ñ,ô ,ðZ,ð ,ñ[,ô ,ðZ,ð2,ð ,ð ,ð4,ð ,ð ,ð((ð (ð (ð$ „×ÒÐ-°¸Ð/AÑBÔBð$,ð $,ñ CÔBð$,ðN Ø„×ÒØà	��C�˜2œ6 2¤6Ð*¨Q°¨HÐ5Ð6Ø	�#�s�˜e S˜\¨C°¨:Ð6Ð7ðñô ð,ð ,ñô ñ „ð,ð ð,ð ,ñ „ð,ð6 „×ÒØà	
ˆbŒf�cˆ]˜S "¤&˜MÐ*Ð+Ø�qÐ	Ð	˜S #˜J¨¬°´Ð(8Ð9Ð:ðñô ð,ð ,ñô ð,ð64ð 4ð 4ð,,ð ,ð ,ð" „×ÒØð ˆC�‰JŒJ˜Ñ   I¡¤Ñ.Ø˜5˜'Ð"ØˆI�s�s˜5‘z”z 3 3 y¡>¤>Ð2Ñ3Ô3ð	
ð
 
ˆˆU‰Œ�dÑ	˜VÑ	# R¨¨°S°S¸±Z´ZÀ°OÀbÈ!ÀWÐ3MÑ)NÔ)NÐOØ	ˆˆU‰Œ�eÑ	˜k¨E¨7Ð3°Y°YÀÄÈ¸{Ñ5KÔ5KÐLðñô ð,ð ,ñô ð,ð",ð ,ð ,ð „×ÒØ˜e b¨# YÐ/°$¸¼À¸Ð1FÐGñô ð,ð ,ñô ð,ð 
)ð 
)ð 
)ð Ø„×Ò˜ t¨U mÑ4Ô4ð,ð ,ñ 5Ô4ñ „ð,ð Ø„×ÒØà#Ø'Ø&Ø'Ø	 % Ð)Ø	 # u Ð.ðñ
ô 
ð
ð 
ñ
ô 
ñ „ð
ð, ð,ð ,ñ „ð,ð8,ð ,ð ,ð8 ð	6ð 	6ñ „ð	6ð	5ð 	5ð 	5ð
,ð 
,ð 
,ð 
,ð 
,r+   