Ë
    u™ãj¶n  ã                   óP  — d Z ddlmZ ddlZddlZddlmZ ddlZ	ddl
mZ ej                  j                  d«      Zej                  j                  d«      Zd„ Zd„ Zej                  j'                  d	d
dgddgddgd
gdgdgdgg«      ej                  j'                  dddg«      d„ «       «       Zd„ Zej                  j'                  d	ddgg«      d„ «       Zd„ Zd„ Zej                  j'                  ddg e	j2                  ej4                  gdgdgdœ e	j6                  dgd¬«      ¬«      fddg e	j2                  ej4                  gdgdœe	j8                  j;                  d gdd!g¬"«      ¬«      fdd!g e	j2                  ej4                  gdgdœe	j8                  j;                  d gdd!g¬"«      ¬«      fg«      d#„ «       Zej                  j'                  d$i dd%ej4                  d&d'ej4                  d(gg d)¢d*d+d,ej4                  d-ej4                  d.gd/œfg g d0œd1d2œg d3¢g d)¢g d4¢d/œfdgd1d2œej4                  d%d5d&d'd6d(gg d)¢g d4¢d/œfd	g g d0œidd%ej4                  d&d'ej4                  d(gg d)¢d*d+d,ej4                  d-ej4                  d.gd/œfg«      d7„ «       Zd8„ Z d9„ Z!d:„ Z"ej                  j'                  d;d<d=g«      d>„ «       Z#ej                  j'                  d?d@ddAgej4                  ej4                  gdBdCggfd1dDdAgd6dEgdFdCggfg«      dG„ «       Z$edH„ «       Z%ej                  j'                  dIdej4                  dJgdJej4                  ggfdddKœdLdJgej4                  ej4                  ggfg«      dM„ «       Z&dN„ Z'dO„ Z(dP„ Z)ej                  j'                  dQ e*dR«      dSz    e*dT«      z   d	dRgi e*dR«       e*dT«      gf e*dR«      dUz   dVz   i  e*dR«      dgd5dggf e*dR«      dWz   d	dRgiej4                  dgfg«      dX„ «       Z+dY„ Z,ej                  j'                  dZd1d5d[gfd@ej4                  d\gfg«      d]„ «       Z-d^„ Z.ej                  j'                  d_d@d1g«      d`„ «       Z/eej                  j'                  dadbdcdddedfdggfdfddgifg«      dh„ «       «       Z0edi„ «       Z1dj„ Z2edk„ «       Z3dl„ Z4dm„ Z5ej                  j'                  d	dndogdodngg«      dp„ «       Z6dq„ Z7ej                  j'                  d_d@d1g«      dr„ «       Z8eds„ «       Z9dt„ Z:eej                  j'                  duddvdwej4                  dxej4                  gfdygdzd{ej4                  gfd|gd}ej4                  d~dDgfdd€gdSjw                  g d�¢«      dSz   ej4                  d‚ej4                  dƒd„gfg«      d…„ «       «       Z<y)†zg
Tests that NA values are properly handled during
parsing for all of the parsers defined in parsers.py
é    )ÚStringION)ÚSTR_NA_VALUESÚpyarrow_xfailÚpyarrow_skipc                 óF  — | }d}|j                  t        |«      «      }t        j                  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                  ||«       y )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   ÚpdÚ	DataFrameÚnpÚnanÚengineÚlocÚtmÚassert_frame_equal©Úall_parsersÚparserÚdataÚresultÚexpecteds        úp/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/io/parser/test_na_values.pyÚtest_string_nasr)      s�   € Ø€Fð€Dð
 �_‰_œX d›^Ó,€FÜ�|‰|Ú	˜3¤§¡¨Ð,¬r¯v©v°s¸CÐ.@ÐAÚô€Hð ‡}�}˜	Ò!Ø#ˆ�‰�VÑØ#ˆ�‰�VÑÜ×Ñ˜& (Õ+ó    c                 óf  — | }d}t        j                  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<   |j                  t        |«      «      }t        j                  ||«       y )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'   r&   s        r(   Útest_detect_string_nar0   &   s›   € Ø€Fð€Dô
 �|‰|Ø
�ˆœ"Ÿ&™& %˜¬2¯6©6´2·6±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                 óP  — | }t        j                  t        j                  dgdt        j                  gddggddg¬«      }|j                  dk(  rUt        d	„ |D «       «      sCd
}t        j                  t        |¬«      5  |j                  t        |«      |¬«       d d d «       y |j                  dk(  r5d|v r1t        j                  j                  d¬«      }|j                  |«       |j                  t        |«      |¬«      }t        j                  ||«       y # 1 sw Y   y xY w)Ng333333ó?ç       @ç      @g      @r   r   r   r   c              3   ó<   K  — | ]  }t        |t        «      –— Œ y ­w)N)Ú
isinstanceÚstr)Ú.0Úxs     r(   ú	<genexpr>z,test_non_string_na_values.<locals>.<genexpr>Z   s   è ø€ Ò-TÀQ¬j¸¼C×.@Ñ-Tùs   ‚ú9The 'pyarrow' engine requires all na_values to be strings©Úmatch©r1   z-999.000z4pyarrow engined does not recognize equivalent floats©Úreason)r   r   r   r   r   ÚallÚpytestÚraisesÚ	TypeErrorr   r   ÚmarkÚxfailÚapplymarkerr    r!   )	r#   r%   r1   Úrequestr$   r'   ÚmsgrE   r&   s	            r(   Útest_non_string_na_valuesrJ   7   sý   € ð< €FÜ�|‰|Ü
�&‰&�#ˆ˜œbŸf™f˜¨¨S zÐ2¸SÀ#¸Jô€Hð ‡}�}˜	Ò!¬#Ñ-TÈ)Ô-TÔ*TØIˆÜ�]‰]œ9¨CÔ0ñ 	AØ�O‰OœH T›N°iˆOÔ@÷	AàØ	�‰˜)Ò	#¨
°dÑ(:ô �{‰{× Ñ ØIð !ó 
ˆð 	×Ñ˜DÔ!à�_‰_œX d›^°yˆ_ÓA€FÜ×Ñ˜& (Õ+÷	Aàús   Á?DÄD%c                 ó�  ‡	— h d£}|t         k(  sJ ‚| }t        |«      Š	ˆ	fd„}t        dj                  t	        |«      D ��cg c]  \  }} |||«      ‘Œ c}}«      «      }t        j                  t        j                  t        ‰	«      t        ‰	«      ¬«      }|j                  |d ¬«      }t        j                  ||«       y c c}}w )N>   ú#NAúN/Aún/aú#N/Aú-NaNú-nanú<NA>ú1.#INDú1.#QNANú#N/A N/Aú-1.#QNANÚ ÚNAÚNaNr   ÚNULLÚNoneÚnullú-1.#INDc                 óª   •— | dk(  rd}n| dkD  rdj                  dg| z  «      }› |› �}| ‰dz
  k  r!dj                  dg‰| z
  dz
  z  «      }|› |› �}|S )Nr   rW   ú,r   )Újoin)ÚiÚvÚbufÚjoinedÚnvs       €r(   r   z!test_default_na_values.<locals>.f‡   sr   ø€ Ø�Š6Ø‰CØ�ŠUØ—'‘'˜3˜% !™)Ó$ˆCà��a�Sˆkˆàˆr�A‰vŠ:Ø—W‘W˜c˜U b¨1¡f¨q¡jÑ1Ó2ˆFØ�E˜&˜Ð"ˆCàˆ
r*   ú
)r   Úindex)Úheader)r   Úlenr   r`   Ú	enumerater   r   r   r   Úranger   r    r!   )
r#   Ú
_NA_VALUESr$   r   ra   rb   r%   r'   r&   re   s
            @r(   Útest_default_na_valuesrm   l   s¢   ø€ ò€Jð* œÒ&Ð&Ð&à€FÜ	ˆZ‹€Bôô �D—I‘I´9¸ZÓ3H×I©4¨1¨a™q  A�wÓIÓJÓK€DÜ�|‰|œBŸF™F¬E°"«I¼UÀ2»YÔG€Hà�_‰_˜T¨$ˆ_Ó/€FÜ×Ñ˜& (Õ+ùó	 Js   ÁCr.   c                 óî  — | }d}t        j                  dt        j                  dgt        j                  dt        j                  gddt        j                  ggg d¢¬«      }|j                  d	k(  rEd
}t        j                  t        |¬«      5  |j                  t        |«      |dg¬«       d d d «       y |j                  t        |«      |dg¬«      }t        j                  ||«       y # 1 sw Y   y xY w)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   )r1   Úskiprows©r   r   r   r   r   rB   rC   Ú
ValueErrorr   r   r    r!   )r#   r1   r$   r%   r'   rI   r&   s          r(   Útest_custom_na_valuesrw   œ   sÊ   € à€Fð€Dô �|‰|Ø
Œr�v‰v�qÐ	œBŸF™F A¤r§v¡vÐ.°°A´r·v±v°Ð?Êô€Hð ‡}�}˜	Ò!ØPˆÜ�]‰]œ:¨SÔ1ñ 	OØ�O‰OœH T›N°iÈ1È#ˆOÔN÷	Oàà�_‰_œX d›^°yÈAÈ3ˆ_ÓO€FÜ×Ñ˜& (Õ+÷	Oàús   ÂC+Ã+C4c                 ó¤  — d}| }|j                  t        |«      «      }t        j                  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                  ||«       y )
Nz1A,B,C
True,False,True
NA,True,False
False,NA,TrueTF©Údtype)TFTr   r   )r   r   r/   )r   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                 ó2  — d}| }|j                   dk(  rHd}t        j                  t        |¬«      5  |j	                  t        |«      dgdgdœ¬«       d d d «       y |j	                  t        |«      dgdgdœ¬«      }t        j                  t        j                  dt        j                  dgt        j                  dt        j                  dgt        j                  dt        j                  dgd	œ«      }t        j                  ||«       y # 1 sw Y   y xY w)
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   rv   r   r   r   r   r   r   r    r!   ©r#   r%   r$   rI   Údfr'   s         r(   Útest_na_value_dictrƒ   Æ   så   € ð€Dð
 €Fà‡}�}˜	Ò!ØKˆÜ�]‰]œ:¨SÔ1ñ 	TØ�O‰OœH T›N¸U¸GÈ5È'Ñ6RˆOÔS÷	Tàà	�‰œ $›¸%¸ÈÀwÑ3OˆÓ	P€BÜ�|‰|ä—&‘&˜%¤§¡¨Ð/Ü—&‘&˜%¤§¡¨Ð/Ü—&‘&˜%¤§¡¨Ð/ñ	
ó€Hô ×Ñ˜"˜hÕ'÷	Tàús   ±"DÄDzindex_col,expectedr   rq   )r
   r   r   r	   ©Úname©rg   r   )r
   r   )r   r   r   )Únamesc                 ó‚   — d}| }|j                  t        |«      t        «       |¬«      }t        j                  ||«       y )Nza,b,c,d
0,NA,1,5
)r1   Ú	index_col)r   r   Úsetr    r!   )r#   r‰   r'   r%   r$   r&   s         r(   Útest_na_value_dict_multi_indexr‹   ß   s:   € ð4€Dð €FØ�_‰_œX d›^´s³uÈ	ˆ_ÓR€FÜ×Ñ˜& (Õ+r*   zkwargs,expectedr
   r   Úer   ©r   r   rp   é   rq   é   rr   ÚoneÚtwoÚthreeÚfiveÚsevenr   )r   r   F©r1   Úkeep_default_na©r	   r
   rW   r   rŒ   r   r   )r�   r‘   r’   r   r“   rW   r”   rW   r   c                 óî  — d}| }|j                   dk(  r�d|v rVt        |d   t        «      rCd}t        j                  t
        |¬«      5   |j                  t        |«      fi |¤Ž d d d «       y |rd|v r/t        j                  j                  «       }|j                  |«        |j                  t        |«      fi |¤Ž}	t        j                  |«      }t        j                  |	|«       y # 1 sw Y   y xY w)NzAA,B,C
a,1,one
b,2,two
,3,three
d,4,nan
e,5,five
nan,6,
g,7,seven
r   r1   ú?The pyarrow engine doesn't support passing a dict for na_valuesr<   )r   r6   ÚdictrB   rC   rv   r   r   rE   rF   rG   r   r   r    r!   )
r#   Úkwargsr'   rH   Úusing_infer_stringr%   r$   rI   rE   r&   s
             r(   Útest_na_values_keep_defaultr�     sÔ   € ðP	€Dð €FØ‡}�}˜	Ò!Ø˜&Ñ ¤Z°°{Ñ0CÄTÔ%JØSˆCÜ—‘œz°Ô5ñ :Ø�—‘¤¨£Ñ9°&Ò9÷:àÙ! [°FÑ%:Ü—;‘;×$Ñ$Ó&ˆDØ×Ñ Ô%àˆV�_‰_œX d›^Ñ6¨vÑ6€FÜ�|‰|˜HÓ%€HÜ×Ñ˜& (Õ+÷:àús   ÁC+Ã+C4c                 ó®   — d}| }|j                  t        |«      d¬«      }t        j                  g d¢g d¢g d¢dœ«      }t	        j
                  ||«       y )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“   rW   r”   r   ©r   r   r   r   r    r!   r}   s        r(   Ú!test_no_na_values_no_keep_defaultr    D  sT   € ð	€Dð €FØ�_‰_œX d›^¸Uˆ_ÓC€Fä�|‰|â5Ú&ÚDñ	
ó€Hô ×Ñ˜& (Õ+r*   c                 óŒ  — d}| }|j                   dk(  rGd}t        j                  t        |¬«      5  |j	                  t        |«      ddgid¬«       d d d «       y |j	                  t        |«      ddgid¬«      }t        j                  d	gt        j                  gd
œ«      }t        j                  ||«       y # 1 sw Y   y xY w)Nza,b
,2r   r™   r<   r
   Ú2Fr•   rW   ©r	   r
   r€   )r#   r%   r$   rI   r&   r'   s         r(   Ú&test_no_keep_default_na_dict_na_valuesr¤   ^  s¸   € à€DØ€Fà‡}�}˜	Ò!ØOˆÜ�]‰]œ:¨SÔ1ñ 	Ø�O‰OÜ˜“¨3°°¨,Èð ô ÷	ð 	à�_‰_Ü�‹ 3¨¨ ,Àð ó €Fô �|‰| 2 $¬b¯f©f¨XÑ6Ó7€HÜ×Ñ˜& (Õ+÷	ð 	ús   ±!B:Â:Cc                 óˆ  — d}| }|j                   dk(  rFd}t        j                  t        |¬«      5  |j	                  t        |«      ddid¬«       d d d «       y |j	                  t        |«      ddid¬«      }t        j                  d	gt        j                  gd
œ«      }t        j                  ||«       y # 1 sw Y   y xY w)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¦   r  s¨   € ð €DØ€Fà‡}�}˜	Ò!ØOˆÜ�]‰]œ:¨SÔ1ñ 	WØ�O‰OœH T›N°s¸A°hÐPUˆOÔV÷	Wàà	�‰œ $›°C¸°8ÈUˆÓ	S€BÜ�|‰| 1 #¬R¯V©V¨HÑ5Ó6€HÜ×Ñ˜"˜hÕ'÷	Wàús   ± B8Â8CÚcol_zero_na_valuesiå¹ Ú113125c                 ó  — d}| }t        j                  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(  rJd}t        j                  t        |¬«      5  |j                  t        |«      d dd
dd|dœ¬«       d d d «       y |j                  t        |«      d dd
dd|dœ¬«      }t        j                  ||«       y # 1 sw Y   y xY w)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.874rW   g-²�ï‹o@)r   r   r   rp   rŽ   rq   r�   r   r™   r<   Fz214.008Úblah)r   r�   r   r   )rh   r–   r1   ru   )r#   r§   r%   r$   r'   rI   r&   s          r(   Ú1test_no_keep_default_na_dict_na_values_diff_reprsr®   „  s  € ð€Dð €FÜ�|‰|ä—‘˜Ð!Ü—‘˜ÐØœ"Ÿ&™&Ð!Ø˜(Ð#Ø˜Ð!Ø˜2ˆÜ—‘˜Ð ñ	
ó
€Hð ‡}�}˜	Ò!ØOˆÜ�]‰]œ:¨SÔ1ñ 	Ø�O‰OÜ˜“ØØ %Ø  Y°6Ð>PÑQð	 ô ÷	ð 	à�_‰_Ü�‹ØØØ˜Y¨6Ð6HÑIð	 ó €Fô ×Ñ˜& (Õ+÷	ð 	ús   Â$C;Ã;Dzna_filter,row_dataTr   rp   r   Ú1r   Ú3c                 óÔ  — |}d}|j                   dk(  r||du rEd}t        j                  t        |¬«      5  |j	                  t        |«      dg|¬«       d d d «       y |s1t        j                  j                  d¬	«      }| j                  |«       |j	                  t        |«      dg|¬«      }	t        j                  |d
dg¬«      }
t        j                  |	|
«       y # 1 sw Y   y xY w)NzA,B
1,A
nan,B
3,C
r   FúAThe 'na_filter' option is not supported with the 'pyarrow' enginer<   r   )r1   Ú	na_filterzpyarrow doesn't support this.r?   r   r   )r   rB   rC   rv   r   r   rE   rF   rG   r   r   r    r!   )rH   r#   r³   Úrow_datarœ   r$   r%   rI   rE   r&   r'   s              r(   Ú!test_na_values_na_filter_overriderµ   ¬  sÑ   € ð €Fð€Dð ‡}�}˜	Ò!Ø˜ÑØUˆCÜ—‘œz°Ô5ñ VØ—‘¤¨£¸3¸%È9�ÔU÷VàÙ!ä—;‘;×$Ñ$Ð,KÐ$ÓLˆDØ×Ñ Ô%à�_‰_œX d›^¸°uÈ	ˆ_ÓR€Fä�|‰|˜H¨s°C¨jÔ9€HÜ×Ñ˜& (Õ+÷Vàús   µCÃC'c                 ój  — | }d}|j                  t        |«      «      }t        j                  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                  ||«       y )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!   r"   s        r(   Útest_na_trailing_columnsrÄ   Î  sŒ   € à€Fð €Dð
 �_‰_œX d›^Ó,€FÜ�|‰|à˜5 &¨%°´r·v±v¼r¿v¹vÄrÇvÁvÐNØ˜5 &¨&°#´r·v±v¼r¿v¹vÄrÇvÁvÐNð	
ò	
ô€Hô  ×Ñ˜& (Õ+r*   zna_values,row_datar3   r£   ro   c                 óD  — | }ddg}d}|j                   dk(  rTt        |t        «      rDd}t        j                  t
        |¬«      5  |j                  t        |«      ||¬«       d d d «       y |j                   dk(  rDd}t        j                  t        |¬«      5  |j                  t        |«      ||¬«       d d d «       y |j                  t        |«      ||¬«      }t        j                  ||¬	«      }t        j                  ||«       y # 1 sw Y   y xY w# 1 sw Y   y xY w)
Nr	   r
   ú1,2
2,1r   r™   r<   ©r‡   r1   r;   r   )r   r6   rš   rB   rC   rv   r   r   rD   r   r   r    r!   )	r#   r1   r´   r$   r‡   r%   rI   r&   r'   s	            r(   Útest_na_values_scalarrÈ   ê  sô   € ð €FØ�#ˆJ€EØ€Dà‡}�}˜	Ò!¤j°¼DÔ&AØOˆÜ�]‰]œ:¨SÔ1ñ 	NØ�O‰OœH T›N°%À9ˆOÔM÷	NàØ	�‰˜)Ò	#ØIˆÜ�]‰]œ9¨CÔ0ñ 	NØ�O‰OœH T›N°%À9ˆOÔM÷	Nàà�_‰_œX d›^°5ÀIˆ_ÓN€FÜ�|‰|˜H¨eÔ4€HÜ×Ñ˜& (Õ+÷	Nàú÷	Nàús   ÁD
ÂDÄ
DÄDc                 ó   — | }dddœ}|j                  «       }ddg}d}t        j                  ddgt        j                  t        j                  gg|¬	«      }|j
                  d
k(  rDd}t        j                  t        |¬«      5  |j                  t        |«      ||¬«       d d d «       y |j                  t        |«      ||¬«      }t        j                  ||«       t        j                  ||«       y # 1 sw Y   y xY w)Nr   r   r£   r	   r
   rÆ   ro   r3   r   r   r™   r<   rÇ   )Úcopyr   r   r   r   r   rB   rC   rv   r   r   r    r!   Úassert_dict_equal)	r#   r$   r1   Úna_values_copyr‡   r%   r'   rI   r&   s	            r(   Útest_na_values_dict_aliasingrÍ     s×   € Ø€FØ˜aÑ €IØ—^‘^Ó%€Nà�#ˆJ€EØ€Dä�|‰|˜c 3˜Z¬"¯&©&´"·&±&Ð)9Ð:ÀEÔJ€Hà‡}�}˜	Ò!ØOˆÜ�]‰]œ:¨SÔ1ñ 	NØ�O‰OœH T›N°%À9ˆOÔM÷	Nàà�_‰_œX d›^°5ÀIˆ_ÓN€Fä×Ñ˜& (Ô+Ü×Ñ˜ NÕ3÷	Nàús   ÂC4Ã4C=c           
      ó  — | }d}g d¢}t         j                  |t        «      }ddddœ}|j                  dk(  rHd}t	        j
                  t        |¬«      5  |j                  t        |«      dd|||d	¬
«       d d d «       y t        j                  ddt        j                  gg d¢dœt        j                  g d¢t        ¬«      ¬«      }|j                  t        |«      dd|||d	¬
«      }t        j                   ||«       y # 1 sw Y   y xY w)Nz,x,y

MA,1,2
NA,2,1
OA,,3)Nr9   Úyr|   Úfloat64r   r™   r<   r   F)r‰   rh   rz   r‡   r1   r–   ro   r3   )r3   ro   r4   )r9   rÏ   )ÚMArX   ÚOAry   r†   )rš   Úfromkeysr   r   rB   rC   rv   r   r   r   r   r   r   ÚIndexr|   r    r!   )	r#   r$   r%   r‡   r1   rz   rI   r'   r&   s	            r(   Ú$test_na_values_dict_null_column_namerÕ     s   € à€FØ*€DÚ€EÜ—‘˜e¤]Ó3€IØ )°)Ñ<€Eà‡}�}˜	Ò!ØOˆÜ�]‰]œ:¨SÔ1ñ 		Ø�O‰OÜ˜“ØØØØØ#Ø %ð ô ÷		ð 	ä�|‰|Ø�CœŸ™Ð ¢Ñ7Ü�h‰hÒ)´Ô8ô€Hð
 �_‰_Ü�‹ØØØØØØð ó €Fô ×Ñ˜& (Õ+÷7		ð 	ús   Á"D Ä D	c                 ó‚  — d}| }ddi}|j                   dk(  rCd}t        j                  t        |¬«      5  |j	                  t        |«      |¬«       d d d «       y |j	                  t        |«      |¬«      }t        j                  dt        j                  d	gi«      }t        j                  ||«       y # 1 sw Y   y xY w)
Nza
foo
1r   r,   r   r™   r<   r>   r	   r   r€   )r#   r%   r$   r1   rI   r&   r'   s          r(   Útest_na_values_dict_col_indexr×   E  s¢   € à€DØ€FØ�E�
€Ià‡}�}˜	Ò!ØOˆÜ�]‰]œ:¨SÔ1ñ 	AØ�O‰OœH T›N°iˆOÔ@÷	Aàà�_‰_œX d›^°yˆ_ÓA€FÜ�|‰|˜S¤2§6¡6¨1 +Ð.Ó/€HÜ×Ñ˜& (Õ+÷	Aàús   µB5Â5B>zdata,kwargs,expectedl            rf   l           z,1z
,2z
1c                 óâ  — | }|j                   dk(  rId|v rEd}t        j                  t        |¬«      5   |j                  t        |«      fdd i|¤Ž d d d «       y |j                   dk(  r1t        j                  j                  d¬«      }|j                  |«        |j                  t        |«      fdd i|¤Ž}t        j                  |«      }t        j                  ||«       y # 1 sw Y   y xY w)Nr   r1   r;   r<   rh   z!Returns float64 instead of objectr?   )r   rB   rC   rD   r   r   rE   rF   rG   r   r   r    r!   )	r#   r%   r›   r'   rH   r$   rI   rE   r&   s	            r(   Útest_na_values_uint64rÙ   V  sÒ   € ð €Fà‡}�}˜	Ò! k°VÑ&;ØIˆÜ�]‰]œ9¨CÔ0ñ 	CØˆF�O‰OœH T›NÑB°4ÐB¸6ÒB÷	CàØ	�‰˜)Ò	#Ü�{‰{× Ñ Ð(KÐ ÓLˆØ×Ñ˜DÔ!àˆV�_‰_œX d›^ÑC°DÐC¸FÑC€FÜ�|‰|˜HÓ%€HÜ×Ñ˜& (Õ+÷	Càús   ³C%Ã%C.c                 óÒ   — d}| }t        j                  ddgit        j                  dgd¬«      ¬«      }|j                  t	        |«      dd	¬
«      }t        j                  ||«       y )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'   r&   s        r(   Ú*test_empty_na_values_no_default_with_indexrÛ   t  sW   € à€DØ€FÜ�|‰|˜S 1 #˜J¬b¯h©h¸°uÀ3Ô.GÔH€Hà�_‰_œX d›^°qÈ%ˆ_ÓP€FÜ×Ñ˜& (Õ+r*   zna_filter,index_dataÚ5g      @c                 ó¢  — | }d}|j                   dk(  rI|du rEd}t        j                  t        |¬«      5  |j	                  t        |«      dg|¬«       d d d «       y t        j                  ddgd	d
gdœt        j                  |d¬«      ¬«      }|j	                  t        |«      dg|¬«      }t        j                  ||«       y # 1 sw Y   y xY w)Núa,b,c
1,,3
4,5,6r   Fr²   r<   r   )r‰   r³   rŽ   rp   r�   )r	   r   r
   r„   r†   )r   rB   rC   rv   r   r   r   r   rÔ   r    r!   )r#   r³   Ú
index_datar$   r%   rI   r'   r&   s           r(   Útest_no_na_filter_on_indexrà   ~  s¼   € ð €FØ€Dà‡}�}˜	Ò! i°5Ñ&8ØQˆÜ�]‰]œ:¨SÔ1ñ 	PØ�O‰OœH T›N°q°cÀYˆOÔO÷	Pàä�|‰|Ø�!ˆf˜A˜q˜6Ñ"¬"¯(©(°:ÀCÔ*Hô€Hð �_‰_œX d›^¸°sÀiˆ_ÓP€FÜ×Ñ˜& (Õ+÷	Pàús   µCÃCc                 ó  — | }d}|j                  t        |«      dgddg¬«      }t        j                  dt        j
                  gdt        j
                  gdœt        j                  d	d
gd¬«      ¬«      }t        j                  ||«       y )Nzidx,col1,col2
1,3,4
2,inf,-infr   Úinfz-inf)r‰   r1   rp   rŽ   )Úcol1Úcol2r   r   Úidxr„   r†   )	r   r   r   r   r   r   rÔ   r    r!   )r#   r$   r%   Úoutr'   s        r(   Ú!test_inf_na_values_with_int_indexrç   •  sv   € à€FØ-€Dð �/‰/œ( 4›.°Q°CÀEÈ6À?ˆ/Ó
S€CÜ�|‰|Ø”R—V‘V� q¬"¯&©& kÑ2¼"¿(¹(ÀAÀqÀ6ÐPUÔ:Vô€Hô ×Ñ˜#˜xÕ(r*   r³   c                 ó  — | }d}|j                   dk(  r|du rHd}t        j                  t        |¬«      5  |j	                  t        |«      |t        ¬«       d d d «       y |s1t        j                  j                  d¬«      }|j                  |«       |rt        j                  nd	}t        j                  d
dg|dgddgdœ«      }	|j	                  t        |«      |t        ¬«      }
t        j                  |
|	«       y # 1 sw Y   y xY w)NrÞ   r   Fr²   r<   )r³   rz   zmismatched shaper?   rW   r¯   Ú4rÜ   r°   Ú6r   )r   rB   rC   rv   r   r   r7   rE   rF   rG   r   r   r   r   r    r!   )r#   r³   rœ   rH   r$   r%   rI   rE   Úemptyr'   r&   s              r(   Ú+test_na_values_with_dtype_str_and_na_filterrì   ¢  så   € ð
 €FØ€Dà‡}�}˜	Ò!Ø˜ÑØUˆCÜ—‘œz°Ô5ñ PØ—‘¤¨£¸)Ì3�ÔO÷PàÙ!Ü—;‘;×$Ñ$Ð,>Ð$Ó?ˆDØ×Ñ Ô%ñ  ŒB�FŠF R€EÜ�|‰| 3¨ *°E¸3°<ÀsÈCÀjÑQÓR€Hà�_‰_œX d›^°yÌˆ_ÓL€FÜ×Ñ˜& (Õ+÷Pàús   µ"C>Ã>D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j                  ddg«      }t        j                  t        |¬«      5  |j	                  t        |«      d ddgddi|¬«       d d d «       y # 1 sw Y   y xY w)	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)rh   r‡   rz   r1   )r`   rB   rC   rv   r   r   )r#   r%   r1   r$   rI   s        r(   Ú!test_cast_NA_to_bool_raises_errorrñ   ½  su   € ð €FØ
�(‰(à6ð6ð	
ó€Cô 
�‰”z¨Ô	-ñ 
Ø�‰Ü�T‹NØØ˜�*Ø˜�-Øð 	ô 	
÷
÷ 
ñ 
ús   ±$AÁA'c           	      óú   — | }d}|j                  t        |«      d g d¢t        t        t        dœ¬«      j                  «       }t	        j
                  ddgddgdd	gdœd
dg¬«      }t        j                  ||«       y )NzDFile: small.csv,,
10010010233,0123,654
foo,,bar
01001000155,4530,898)rã   rä   Úcol3)rh   r‡   rz   Ú10010010233Ú01001000155Ú0123Ú4530Ú654Ú898r   rp   r†   )r   r   r7   Údropnar   r   r    r!   r"   s        r(   Útest_str_nan_droppedrû   ß  s�   € ð €Fð€Dð
 �_‰_Ü�‹ØÚ&Ü¤C´Ñ5ð	 ó ÷
 �fƒhð ô �|‰|à" MÐ2Ø˜VÐ$Ø˜E�Nñ	
ð
 �!ˆfô€Hô ×Ñ˜& (Õ+r*   c           	      óÔ  — | }d}|j                   dk(  rXd}t        j                  t        |¬«      5  |j	                  t        |«      t        t        d«      «      ddi¬«       d d d «       y |j	                  t        |«      t        t        d«      «      ddi¬«      }t        j                  d	gdgt        j                  gd
œ«      }t        j                  ||«       y # 1 sw Y   y xY w)NzA,B,B
X,Y,Z
1,2,infr   r™   r<   r   ©r   ÚZrâ   )rh   r1   r   ))r   ÚX)r   ÚYrý   )r   rB   rC   rv   r   r   Úlistrk   r   r   r   r   r    r!   )r#   r$   r%   rI   r&   r'   s         r(   Útest_nan_multi_indexr  ü  sÓ   € à€FØ"€Dà‡}�}˜	Ò!ØOˆÜ�]‰]œ:¨SÔ1ñ 	Ø�O‰OÜ˜“¤t¬E°!«H£~À*ÈeÐATð ô ÷	ð 	à�_‰_Ü�‹œt¤E¨!£H›~¸*ÀeÐ9Lð ó €Fô �|‰|à˜Ø˜ÜŸ™˜ñ	
ó€Hô ×Ñ˜& (Õ+÷%	ð 	ús   ±2CÃC'c                 ó¤   — | }d}t        j                  t        d¬«      5  |j                  t	        |«      d¬«       d d d «       y # 1 sw Y   y xY w)Nú0
NaN
True
False
z	NA valuesr<   rð   ry   )rB   rC   rv   r   r   )r#   r$   r%   s      r(   Útest_bool_and_nan_to_boolr    sI   € ð €Fð€Dô
 
�‰”z¨Ô	5ñ 6Ø�‰œ ›¨fˆÔ5÷6÷ 6ñ 6ús    AÁAc                 óî   — | }d}d}|j                   dk(  rd}n|j                   dk(  rd}t        j                  t        |¬«      5  |j	                  t        |«      d¬	«       d d d «       y # 1 sw Y   y xY w)
Nr  zycannot safely convert passed user dtype of int(64|32) for <class 'numpy.bool_?'> dtyped data in column 0 due to NA valuesÚpythonz-Unable to convert column 0 to type int(64|32)r   zVint\(\) argument must be a string, a bytes-like object or a real number, not 'NoneTyper<   Úintry   )r   rB   rC   rv   r   r   )r#   r$   r%   rI   s       r(   Útest_bool_and_nan_to_intr	  %  s{   € à€Fð€Dð	Jð ð ‡}�}˜Ò Ø=‰Ø	�‰˜)Ò	#ð)ð 	ô 
�‰”z¨Ô	-ñ 5Ø�‰œ ›¨eˆÔ4÷5÷ 5ñ 5ús   ÁA+Á+A4c                 óÔ   — | }d}|j                  t        |«      d¬«      }t        j                  j	                  dt
        j                  ddgi«      }t        j                  ||«       y )Nr  Úfloatry   Ú0ro   g        )	r   r   r   r   Ú	from_dictr   r   r    r!   r"   s        r(   Útest_bool_and_nan_to_floatr  <  sZ   € à€Fð€Dð
 �_‰_œX d›^°7ˆ_Ó;€FÜ�|‰|×%Ñ% s¬R¯V©V°S¸#Ð,>Ð&?Ó@€HÜ×Ñ˜& (Õ+r*   g     ÀXÀi�ÿÿÿc                 óÒ  — | }d}|j                   dk(  rCd}t        j                  t        |¬«      5  |j	                  t        |«      |¬«       d d d «       y |j	                  t        |«      |¬«      }t        j                  dt        j                  t        j                  t        j                  t        j                  gi«      }t        j                  ||«       y # 1 sw Y   y xY w)NzA
-99
-99
-99.0
-99.0r   r;   r<   r>   r   )r   rB   rC   rD   r   r   r   r   r   r   r    r!   )r#   r1   r$   r%   rI   r&   r'   s          r(   Ú!test_na_values_dict_without_dtyper  I  s°   € ð
 €Fð	€Dð ‡}�}˜	Ò!ØIˆÜ�]‰]œ9¨CÔ0ñ 	AØ�O‰OœH T›N°iˆOÔ@÷	Aàà�_‰_œX d›^°yˆ_ÓA€FÜ�|‰|˜S¤2§6¡6¬2¯6©6´2·6±6¼2¿6¹6Ð"BÐCÓD€HÜ×Ñ˜& (Õ+÷	Aàús   ±CÃC&c                 óÎ   — | }|j                  t        d«      d¬«      }t        j                  dt	        d«      t
        j                  dgi«      }t        j                  ||«       y )NzA
-9223372036854775808

1
F)Úskip_blank_linesr   ìûÿÿÿ         ro   )	r   r   r   r   r  r   r   r    r!   ©r#   r$   r&   r'   s       r(   Útest_int64_min_with_na_upcastsr  `  s[   € ð €FØ�_‰_ÜÐ1Ó2ÀUð ó €Fô �|‰|˜S¤5¨£?´B·F±F¸CÐ"@ÐAÓB€HÜ×Ñ˜& (Õ+r*   c                 óð   — | }|j                   dk(  r|st        j                  d«       |j                  t	        d«      |d¬«      }t        j                  dddgid	¬
«      }t        j                  ||«       y )Nr   z/pyarrow engine does not support na_filter=FalsezA
-9223372036854775808
1
Únumpy_nullable)r³   Údtype_backendr   r  r   ÚInt64ry   )	r   rB   Úskipr   r   r   r   r    r!   )r#   r³   r$   r&   r'   s        r(   Ú&test_int64_min_not_read_as_na_nullabler  k  ss   € ð €FØ‡}�}˜	Ò!©)Ü�‰ÐEÔFØ�_‰_ÜÐ/Ó0ØØ&ð ó €Fô
 �|‰|˜SÐ#7¸Ð";Ð<ÀGÔL€HÜ×Ñ˜& (Õ+r*   c                 ó¢   — | }|j                  t        d«      d¬«      }t        j                  dddgid¬«      }t	        j
                  ||«       y )	NzA
18446744073709551615
1
r  )r  r   l   ÿÿÿÿ r   ÚUInt64ry   rŸ   r  s       r(   Ú'test_uint64_max_not_read_as_na_nullabler  z  sU   € ð €FØ�_‰_ÜÐ/Ó0Ð@Pð ó €Fô �|‰|˜SÐ#7¸Ð";Ð<ÀHÔM€HÜ×Ñ˜& (Õ+r*   c                 ó¢   — | }|j                  t        d«      d¬«      }t        j                  dg d¢id¬«      }t	        j
                  ||«       y )NzA
-9223372036854775808
NA
1
r  ry   r   )r  Nr   rŸ   r  s       r(   Ú.test_int64_min_with_na_explicit_nullable_dtyper   …  sO   € ð €FØ�_‰_ÜÐ3Ó4¸Gð ó €Fô �|‰|˜SÒ"AÐBÈ'ÔR€HÜ×Ñ˜& (Õ+r*   z na_values, data, expected_valuesz-1.5
-nan
1.2345
1.#IND
g      ø¿g�—nƒÀó?r]   z-1.2345
-1.#IND
g�—nƒÀó¿r9   zx
xx
1
ÚxxÚ?aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaÚFbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb)r"  Ú@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar#  Ú?bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbÚFccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccr$  r%  r&  c                 ó    — | }|j                  t        d|z   «      |¬«      }t        j                  d|i«      }t	        j
                  ||«       y )Nzcol
r>   ÚcolrŸ   )r#   r1   r%   Úexpected_valuesr$   r&   r'   s          r(   Ú#test_na_values_prefilter_edge_casesr*  ‘  sG   € ð. €FØ�_‰_œX g°¡nÓ5Àˆ_ÓK€FÜ�|‰|˜U OÐ4Ó5€HÜ×Ñ˜& (Õ+r*   )=Ú__doc__Úior   Únumpyr   rB   Úpandas._libs.parsersr   Úpandasr   Úpandas._testingÚ_testingr    rE   ÚusefixturesÚxfail_pyarrowÚskip_pyarrowr)   r0   ÚparametrizerJ   rm   rw   r~   rƒ   r   r   rÔ   Ú
MultiIndexÚfrom_tuplesr‹   r�   r    r¤   r¦   r®   rµ   rÄ   rÈ   rÍ   rÕ   r×   r7   rÙ   rÛ   rà   rç   rì   rñ   rû   r  r  r	  r  r  r  r  r  r   r`   r*  © r*   r(   ú<module>r9     s7  ðñõ
 ã Û å .ã Ý à—‘×'Ñ'¨Ó8€Ø�{‰{×&Ñ& ~Ó6€ò,ò$,ð" ‡�×ÑØà	�6ÐØ	ˆvˆØ	�ˆØ	ˆ
Ø	ˆØ	ˆØ	ˆðóð ‡�×ÑØ
ð	ð
	ðóñ,óóð6,ò4-,ð` ‡�×Ñ˜ u¨u¨gÐ&6Ó7ñ,ó 8ð,ò*,ò((ð2 ‡�×ÑØð ˆCØˆB�L‰LØ—v‘v�h a S°¨sÑ3¸8¸2¿8¹8ÀQÀCÈcÔ;Rôð	
ð �ˆFØˆB�L‰LØ—v‘v�h a SÑ)Ø—m‘m×/Ñ/°°ÀÀcÀ
Ð/ÓKôð	
ð �#ˆJØˆB�L‰LØ—v‘v�h a SÑ)Ø—m‘m×/Ñ/°°ÀÀcÀ
Ð/ÓKôð	
ðóñ2,ó3ð2,ð ‡�×ÑØð à˜3 §¡¨¨S°"·&±&¸#Ð>Ú*Ø˜U G¨R¯V©V°V¸R¿V¹VÀWÐMñð	
ð !#¨Ñ,ÀÑGâ9Ú*ÚHñð	
ð ˜%°EÑ:à—f‘f˜c 2 s¨C°¸Ð<Ú*ÚHñð	
ð  ¨Ñ,Ð-à˜3 §¡¨¨S°"·&±&¸#Ð>Ú*Ø˜U G¨R¯V©V°V¸R¿V¹VÀWÐMñð	
ð3!ó$ñJ,óK$ðJ,ò:,ò4,ò((ð$ ‡�×ÑÐ-°¸Ð/AÓBñ$,ó Cð$,ðN ‡�×ÑØà	��C�˜2Ÿ6™6 2§6¡6Ð*¨Q°¨HÐ5Ð6Ø	�#�s�˜e S˜\¨C°¨:Ð6Ð7ðóñ,óð,ð6 ñ,ó ð,ð6 ‡�×ÑØà	
ˆb�f‰f�cˆ]˜S "§&¡&˜MÐ*Ð+Ø�qÑ	˜S #˜J¨¯©°·±Ð(8Ð9Ð:ðóñ,óð,ò,4ò,%,òP,ð" ‡�×ÑØñ �‹J˜Ñ¡ I£Ñ.Ø˜5˜'Ð"Ù�‹Z™˜Y›Ð(ð	
ñ
 
ˆU‹�dÑ	˜VÑ	# R©3¨u«:°q¨/¸BÀ¸7Ð)CÐDÙ	ˆU‹�eÑ	˜k¨E¨7Ð3°b·f±f¸a°[ÐAðóñ,óð,ò$,ð ‡�×ÑØ˜e b¨# YÐ/°$¸¿¹À¸Ð1FÐGóñ,óð,ò(
)ð ‡�×Ñ˜ t¨U mÓ4ñ,ó 5ð,ð4 Ø‡�×ÑØà#Ø'Ø&Ø'Ø	 % Ð)Ø	 # u Ð.ðó
ñ
ó
ó ð
ð, ñ,ó ð,ò8,ð8 ñ	6ó ð	6ò5ò.
,ð ‡�×ÑØØˆS€\�C˜�<Ð óñ,ó	ð,ò&,ð ‡�×Ñ˜ t¨U mÓ4ñ,ó 5ð,ð ñ,ó ð,ò	,ð Ø‡�×ÑØ&ð 
Ð-°°b·f±f¸fÀbÇfÁfÐ/MÐNà
ˆÐ*¨W°b·f±fÐ,=Ð>à
ˆ�˜rŸv™v t¨SÐ1Ð2ð �xÐ Ø�I‰IÒHÓIÈDÑPØ�V‰V�X˜rŸv™v x°Ð:ð	
ðóñ$,ó%ó ñ&,r*   