Ë
    AúYj“^  ã                   ó’	  — 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                  j!                  d«      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	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                  j/                  d&i 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œg d5¢g d+¢g d6¢d1œfdgd3d4œej:                  d'd7d(d)d8d*gg d+¢g d6¢d1œfdg g d2œi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                  j/                  d=d>d?g«      d@„ «       Z$ej                  j/                  dAdBddCgej:                  ej:                  gdDdEggfd3dFdCgd8dGgdHdEggfg«      dI„ «       Z%edJ„ «       Z&ej                  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)dR„ Z*ej                  j/                  dS e+dT«      dUz    e+dV«      z   ddTgi e+dT«       e+dV«      gf e+dT«      dWz   dXz   i  e+dT«      dgd7d ggf e+dT«      dYz   ddTgiej:                  dgfg«      dZ„ «       Z,d[„ Z-ej                  j/                  d\d3d7d]gfdBej:                  d^gfg«      d_„ «       Z.d`„ Z/ej                  j/                  dadBd3g«      db„ «       Z0eej                  j/                  dcdddedfdgdhdigfdhddiifg«      dj„ «       «       Z1edk„ «       Z2dl„ Z3edm„ «       Z4dn„ Z5do„ Z6eej                  j/                  ddpdqgdqdpgg«      dr„ «       «       Z7y)szg
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                 ó2  — | }d}|j                  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                  ||«       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   r   ÚnpÚnanÚengineÚlocÚtmÚassert_frame_equal©Úall_parsersÚparserÚdataÚresultÚexpecteds        úp/var/www/ramen.bs-engineer-server.com/venv/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                 óR  — | }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<   |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'   s        r)   Útest_detect_string_nar1   .   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                 ó<  — | }t        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>`   s   è ø€ Ò-TÀQ¬j¸¼C×.@Ñ-Tùs   ‚ú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(   ÚmsgrF   r'   s	            r)   Útest_non_string_na_valuesrK   ?   sõ   € ð< €FÜœ2Ÿ6™6 3˜-¨#¬r¯v©v¨¸¸c¸
ÐCÈcÐSVÈZÔX€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   Á5DÄDc                 ó|  ‡	— h d£}|t         k(  sJ ‚| }t        |«      Š	ˆ	fd„}t        dj                  t	        |«      D ��cg c]  \  }} |||«      ‘Œ c}}«      «      }t        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.#INDú1.#QNANú#N/A N/Aú-1.#QNANÚ ÚNAÚNaNr   ÚNULLÚNoneÚnullc                 óª   •— | 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   rY   ú,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   ra   Ú	enumerater   r   r   Úranger   r!   r"   )
r$   Ú
_NA_VALUESr%   r   rb   rc   r&   r(   r'   rf   s
            @r)   Útest_default_na_valuesrn   r   sž   ø€ ò€Jð* œÒ&Ð&Ð&à€FÜ	ˆZ‹€Bôô �D—I‘I´9¸ZÓ3H×I©4¨1¨a™q  A�wÓIÓJÓK€DÜœŸ™¬¨r«¼%À»)ÔD€Hà�_‰_˜T¨$ˆ_Ó/€FÜ×Ñ˜& (Õ+ùó	 Js   ÁB8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(  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   )r2   Úskiprows©r   r   r   r   rC   rD   Ú
ValueErrorr   r   r!   r"   )r$   r2   r%   r&   r(   rJ   r'   s          r)   Útest_custom_na_valuesrx   ¢   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!Ã!C*c                 ó�  — d}| }|j                  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                  ||«       y )
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(  rHd}t        j                  t        |¬«      5  |j	                  t        |«      dgdgdœ¬«       d d d «       y |j	                  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                  ||«       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   rC   rD   rw   r   r   r   r   r   r!   r"   ©r$   r&   r%   rJ   Ú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   rr   )r   r   r   r   ©Úname©rh   r   )r   r   )r   r   r   )Únamesc                 ó‚   — d}| }|j                  t        |«      t        «       |¬«      }t        j                  ||«       y )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Œ   å   s:   € ð0€Dð €FØ�_‰_œX d›^´s³uÈ	ˆ_ÓR€FÜ×Ñ˜& (Õ+r+   zkwargs,expectedr   r   Úer   ©r   r   rq   é   rr   é   rs   ÚoneÚtwoÚthreeÚfiveÚsevenr   )r   r   F©r2   Úkeep_default_na©r   r   rY   r   r�   r   r   )r‘   r’   r“   r   r”   rY   r•   rY   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        |«      }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   r2   ú?The pyarrow engine doesn't support passing a dict for na_valuesr=   )r   r7   ÚdictrC   rD   rw   r   r   rF   rG   rH   r   r!   r"   )
r$   Úkwargsr(   rI   Úusing_infer_stringr&   r%   rJ   rF   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Ü×Ñ˜& (Õ+÷:àús   ÁC!Ã!C*c                 óš   — d}| }|j                  t        |«      d¬«      }t        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”   rY   r•   r   )r   r   r   r!   r"   r~   s        r)   Ú!test_no_na_values_no_keep_defaultr    H  sP   € ð	€Dð €FØ�_‰_œX d›^¸Uˆ_ÓC€Fäâ5Ú&ÚDñ	
ó€Hô ×Ñ˜& (Õ+r+   c                 óx  — 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        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–   rY   ©r   r   r�   )r$   r&   r%   rJ   r'   r(   s         r)   Ú&test_no_keep_default_na_dict_na_valuesr¤   b  s´   € à€DØ€Fà‡}�}˜	Ò!ØOˆÜ�]‰]œ:¨SÔ1ñ 	Ø�O‰OÜ˜“¨3°°¨,Èð ô ÷	ð 	à�_‰_Ü�‹ 3¨¨ ,Àð ó €Fô  ˜t¬2¯6©6¨(Ñ3Ó4€HÜ×Ñ˜& (Õ+÷	ð 	ús   ±!B0Â0B9c                 ót  — 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        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¦   v  s¤   € ð €DØ€Fà‡}�}˜	Ò!ØOˆÜ�]‰]œ:¨SÔ1ñ 	WØ�O‰OœH T›N°s¸A°hÐPUˆOÔV÷	Wàà	�‰œ $›°C¸°8ÈUˆÓ	S€BÜ ˜s¬"¯&©&¨Ñ2Ó3€HÜ×Ñ˜"˜hÕ'÷	Wàús   ± B.Â.B7Ú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(  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.874rY   g-²�ï‹o@)r   r   r   rq   r�   rr   r�   r   rš   r=   Fz214.008Úblah)r   r�   r   r   )ri   r—   r2   rv   )r$   r§   r&   r%   r(   rJ   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   Â
$C1Ã1C:zna_filter,row_dataTr   rq   r   Ú1r   Ú3c                 ó  — |}|j                   dk(  r5|r|s1t        j                  j                  d¬«      }| j	                  |«       d}|j                  t        |«      dg|¬«      }t        |ddg¬«      }	t        j                  ||	«       y )	Nr   zpyarrow doesn't support this.r@   zA,B
1,A
nan,B
3,C
r   )r2   Ú	na_filterr   r   )
r   rC   rF   rG   rH   r   r   r   r!   r"   )
rI   r$   r²   Úrow_datar�   r%   rF   r&   r'   r(   s
             r)   Ú!test_na_values_na_filter_overrider´   °  sƒ   € ð €FØ‡}�}˜	Ò!á"¡yÜ—;‘;×$Ñ$Ð,KÐ$ÓLˆDØ×Ñ Ô%ð€Dð �_‰_œX d›^¸°uÈ	ˆ_ÓR€Fä˜¨C°¨:Ô6€HÜ×Ñ˜& (Õ+r+   c                 óV  — | }d}|j                  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                  ||«       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#   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_datar4   r£   rp   c                 ó0  — | }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        ||¬	«      }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ˆ   r2   r<   r   )r   r7   r›   rC   rD   rw   r   r   rE   r   r!   r"   )	r$   r2   r³   r%   rˆ   r&   rJ   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Ü˜¨5Ô1€HÜ×Ñ˜& (Õ+÷	Nàú÷	Nàús   ÁD ÂDÄ D	ÄDc                 óì  — | }dddœ}|j                  «       }ddg}d}t        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Æ   rp   r4   r   r   rš   r=   rÇ   )Úcopyr   r   r   r   rC   rD   rw   r   r   r!   r"   Úassert_dict_equal)	r$   r%   r2   Úna_values_copyrˆ   r&   r(   rJ   r'   s	            r)   Útest_na_values_dict_aliasingrÍ     sÓ   € Ø€FØ˜aÑ €IØ—^‘^Ó%€Nà�#ˆJ€EØ€Dä˜3 ˜*¤r§v¡v¬r¯v©vÐ&6Ð7ÀÔG€Hà‡}�}˜	Ò!ØOˆÜ�]‰]œ:¨SÔ1ñ 	NØ�O‰OœH T›N°%À9ˆOÔM÷	Nàà�_‰_œX d›^°5ÀIˆ_ÓN€Fä×Ñ˜& (Ô+Ü×Ñ˜ NÕ3÷	Nàús   Á9C*Ã*C3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        ddt        j                  gg d¢dœt        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)Nr:   Úyr}   Úfloat64r   rš   r=   r   F)rŠ   ri   r{   rˆ   r2   r—   rp   r4   )r4   rp   r5   )r:   rÏ   )ÚMArZ   ÚOArz   r‡   )r›   Úfromkeysr   r   rC   rD   rw   r   r   r   r   r   r   r}   r!   r"   )	r$   r%   r&   rˆ   r2   r{   rJ   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ÜÒ&¬fÔ5ô€Hð
 �_‰_Ü�‹ØØØØØØð ó €Fô ×Ñ˜& (Õ+÷7		ð 	ús   Á"C,Ã,C5c                 ón  — d}| }ddi}|j                   dk(  rCd}t        j                  t        |¬«      5  |j	                  t        |«      |¬«       d d d «       y |j	                  t        |«      |¬«      }t        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%   r2   rJ   r'   r(   s          r)   Útest_na_values_dict_col_indexrÖ   C  sž   € à€DØ€FØ�E�
€Ià‡}�}˜	Ò!ØOˆÜ�]‰]œ:¨SÔ1ñ 	AØ�O‰OœH T›N°iˆOÔ@÷	Aàà�_‰_œX d›^°yˆ_ÓA€FÜ˜#¤§¡¨˜{Ð+Ó,€HÜ×Ñ˜& (Õ+÷	Aàús   µB+Â+B4zdata,kwargs,expectedl            rg   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        |«      }t        j                  ||«       y # 1 sw Y   y xY w)Nr   r2   r<   r=   ri   z!Returns float64 instead of objectr@   )r   rC   rD   rE   r   r   rF   rG   rH   r   r!   r"   )	r$   r&   rœ   r(   rI   r%   rJ   rF   r'   s	            r)   Útest_na_values_uint64rØ   T  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Ü×Ñ˜& (Õ+÷	Càús   ³CÃC$c                 óª   — d}| }t        ddgit        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'   s        r)   Ú*test_empty_na_values_no_default_with_indexrÚ   r  sO   € à€DØ€FÜ˜# ˜s˜¬5°#°¸SÔ+AÔB€Hà�_‰_œX d›^°qÈ%ˆ_ÓP€FÜ×Ñ˜& (Õ+r+   zna_filter,index_dataÚ5g      @c                 ó:  — | }d}|j                   dk(  r5|du r1t        j                  j                  d¬«      }|j	                  |«       t        ddgdd	gd
œt        |d¬«      ¬«      }|j                  t        |«      dg|¬«      }t        j                  ||«       y )Núa,b,c
1,,3
4,5,6r   Fzmismatched index resultr@   r   r�   rq   r�   )r   r   r   r…   r‡   )rŠ   r²   )r   rC   rF   rG   rH   r   r   r   r   r!   r"   )	r$   r²   Ú
index_datarI   r%   r&   rF   r(   r'   s	            r)   Útest_no_na_filter_on_indexrß   |  s’   € ð €FØ€Dà‡}�}˜	Ò! i°5Ñ&8Ü�{‰{× Ñ Ð(AÐ ÓBˆØ×Ñ˜DÔ!ä  1˜v¨Q°¨FÑ3¼5ÀÐRUÔ;VÔW€HØ�_‰_œX d›^¸°sÀiˆ_ÓP€FÜ×Ñ˜& (Õ+r+   c                 óò   — | }d}|j                  t        |«      dgddg¬«      }t        dt        j                  gdt        j                  gdœt        d	d
gd¬«      ¬«      }t        j                  ||«       y )Nzidx,col1,col2
1,3,4
2,inf,-infr   Úinfz-inf)rŠ   r2   rq   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æ   �  sm   € à€FØ-€Dð �/‰/œ( 4›.°Q°CÀEÈ6À?ˆ/Ó
S€CÜØ”R—V‘V� q¬"¯&©& kÑ2¼%ÀÀAÀÈUÔ:Sô€Hô ×Ñ˜#˜xÕ(r+   r²   c                 óX  — | }|j                   dk(  r7|du s|s1t        j                  j                  d¬«      }|j	                  |«       d}|rt
        j                  nd}t        ddg|d	gd
dgdœ«      }|j                  t        |«      |t        ¬«      }	t        j                  |	|«       y )Nr   Fzmismatched shaper@   rÝ   rY   r¯   Ú4rÛ   r°   Ú6r   )r²   r{   )r   rC   rF   rG   rH   r   r   r   r   r   r8   r!   r"   )
r$   r²   r�   rI   r%   rF   r&   Úemptyr(   r'   s
             r)   Ú+test_na_values_with_dtype_str_and_na_filterrë   œ  sž   € ð
 €FØ‡}�}˜	Ò! y°EÑ'9ÑASÜ�{‰{× Ñ Ð(:Ð Ó;ˆØ×Ñ˜DÔ!à€Dñ  ŒB�FŠF R€EÜ  S˜z°¸°ÀCÈÀ:ÑNÓO€Hà�_‰_œX d›^°yÌˆ_Ó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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)ri   rˆ   r{   r2   )ra   rC   rD   rw   r   r   )r$   r&   r2   r%   rJ   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	        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)ri   rˆ   r{   Ú10010010233Ú01001000155Ú0123Ú4530Ú654Ú898r   rq   r‡   )r   r   r8   Údropnar   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        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á   )ri   r2   r   ))r   ÚX)r   ÚYrü   )r   rC   rD   rw   r   r   Úlistrl   r   r   r   r!   r"   )r$   r%   r&   rJ   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ï   rz   )rC   rD   rw   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=   Úintrz   )r   rC   rD   rw   r   r   )r$   r%   r&   rJ   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                  dt        j
                  ddgi«      }t        j                  ||«       y )Nr  Úfloatrz   Ú0rp   g        )r   r   r   Ú	from_dictr   r   r!   r"   r#   s        r)   Útest_bool_and_nan_to_floatr  0  sV   € à€Fð€Dð
 �_‰_œX d›^°7ˆ_Ó;€FÜ×"Ñ" C¬"¯&©&°#°sÐ);Ð#<Ó=€HÜ×Ñ˜& (Õ+r+   g     ÀXÀi�ÿÿÿc                 ó  — | }d}|j                  t        |«      |¬«      }t        dt        j                  t        j                  t        j                  t        j                  gi«      }t        j                  ||«       y )NzA
-99
-99
-99.0
-99.0r?   r   rÃ   )r$   r2   r%   r&   r'   r(   s         r)   Ú!test_na_values_dict_without_dtyper  =  s`   € ð €Fð	€Dð �_‰_œX d›^°yˆ_ÓA€FÜ˜#¤§¡¬¯©´·±¼¿¹Ð?Ð@ÓA€HÜ×Ñ˜& (Õ+r+   )8Ú__doc__Úior   Únumpyr   rC   Úpandas._libs.parsersr   Úpandasr   r   r   Úpandas._testingÚ_testingr!   rF   ÚfilterwarningsÚ
pytestmarkÚusefixturesÚxfail_pyarrowÚskip_pyarrowr*   r1   ÚparametrizerK   rn   rx   r   r„   r   Úfrom_tuplesrŒ   rž   r    r¤   r¦   r®   r´   rÄ   rÈ   rÍ   rÔ   rÖ   r8   rØ   rÚ   rß   ræ   rë   rð   rú   r  r  r  r  r  © r+   r)   ú<module>r     sA  ðñõ
 ã Û å .÷ñ õ
 à�[‰[×'Ñ'ØCó€
ð —‘×'Ñ'¨Ó8€Ø�{‰{×&Ñ& ~Ó6€ò,ò$,ð" ‡�×ÑØà	�6ÐØ	ˆvˆØ	�ˆØ	ˆ
Ø	ˆØ	ˆØ	ˆðóð ‡�×ÑØ
ð	ð
	ðóñ,óóð6,ò0-,ð` ‡�×Ñ˜ u¨u¨gÐ&6Ó7ñ,ó 8ð,ò*,ò((ð2 ‡�×ÑØð ˆCÙ˜RŸV™V˜H¨A¨3°a°SÑ9ÁÈÀsÐQTÔAUÔVð	
ð
 �ˆFÙØ—v‘v�h a SÑ)Ø,�j×,Ñ,¨f¨X¸cÀ3¸ZÔHôð	
ð �#ˆJÙØ—v‘v�h a SÑ)Ø,�j×,Ñ,¨f¨X¸cÀ3¸ZÔHôð	
ðóñ.,ó/ð.,ð ‡�×ÑØð à˜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 ‡�×ÑØà	
ˆ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ð,ð( Ø‡�×ÑØà#Ø'Ø&Ø'Ø	 % Ð)Ø	 # u Ð.ðó
ñ
ó
ó ð
ð, ñ,ó ð,ò8,ð8 ñ	6ó ð	6ò5ò.
,ð Ø‡�×ÑØØˆS€\�C˜�<Ð óñ
,ó	ó ñ

,r+   