Ë
    ¤e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                  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  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                  j/                  d=d>d?g«      d@„ «       Z$e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)ej                  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                  j/                  d[d3d7d\gfdBej:                  d]gfg«      d^„ «       Z-d_„ Z.eej                  j/                  d`dBd3g«      da„ «       «       Z/eej                  j/                  dbdcdddedfdgdhgfdgddhifg«      di„ «       «       Z0edj„ «       Z1dk„ Z2edl„ «       Z3dm„ Z4dn„ Z5y)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                 ó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        úc/var/www/skyplay_api_hub/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      @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(   ÚmsgrE   r'   s	            r)   Útest_non_string_na_valuesrJ   >   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   rX   ú,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   Úranger   r!   r"   )
r$   Ú
_NA_VALUESr%   r   ra   rb   r&   r(   r'   re   s
            @r)   Útest_default_na_valuesrm   q   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   rB   rC   Ú
ValueErrorr   r   r!   r"   )r$   r2   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!Ã!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   rB   rC   rv   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
)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   rp   é   rq   é   rr   Ú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 rVt        |d   t        «      rCd}t        j                  t
        |¬«      5   |j                  t        |«      fi |¤Ž d d d «       y t        j                  j                  «       }|j                  |«        |j                  t        |«      fi |¤Ž}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   r6   ÚdictrB   rC   rv   r   r   rE   rF   rG   r!   r"   )	r$   Úkwargsr(   rH   r&   r%   rI   rE   r'   s	            r)   Útest_na_values_keep_defaultrœ     s¼   € ð\	€Dð €FØ‡}�}˜	Ò!Ø˜&Ñ ¤Z°°{Ñ0CÄTÔ%JØSˆCÜ—‘œz°Ô5ñ :Ø�—‘¤¨£Ñ9°&Ò9÷:àÜ�{‰{× Ñ Ó"ˆØ×Ñ˜DÔ!àˆV�_‰_œX d›^Ñ6¨vÑ6€FÜ×Ñ˜& (Õ+÷:àú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“   rX   r”   r   ©r   r   r   r!   r"   r}   s        r)   Ú!test_no_na_values_no_keep_defaultrŸ   K  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•   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ñ 	Ø�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¥   y  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.874rX   g-²�ï‹o@)r   r   r   rp   rŽ   rq   r�   r   r™   r<   Fz214.008Úblah)r   r�   r   r   )rh   r–   r2   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   Â
$C1Ã1C:zna_filter,row_dataTr   rp   r   Ú1r   Ú3c                 ó’   — d}| }|j                  t        |«      dg|¬«      }t        |ddg¬«      }t        j                  ||«       y )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³   ³  sJ   € ð€Dð €FØ�_‰_œ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¢   ro   c                 óf  — | }ddg}d}|j                   dk(  rot        |t        «      r_t        |t        «      r	t        }d}nt        }d}t        j                  ||¬«      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<   ©r‡   r2   r   )r   r6   rš   rv   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Ü�i¤Ô&ÜˆCØS‰CäˆCØMˆCÜ�]‰]˜3 cÔ*ñ 	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Â3D'ÄD$Ä'D0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Ä   ro   r4   r   r   r™   r<   rÅ   )Úcopyr   r   r   r   rB   rC   rv   r   r   r!   r"   Úassert_dict_equal)	r$   r%   r2   Úna_values_copyr‡   r&   r(   rI   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                 ó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   rI   r'   r(   s          r)   Útest_na_values_dict_col_indexrÎ     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            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                  ||«       y # 1 sw Y   y xY w)Nr   r2   r;   r<   rh   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Ð   .  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Ü×Ñ˜& (Õ+÷	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Ò   K  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Ž   rp   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Ü�{‰{× Ñ Ð(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   rp   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  sm   € à€FØ-€Dð �/‰/œ( 4›.°Q°CÀEÈ6À?ˆ/Ó
S€CÜØ”R—V‘V� q¬"¯&©& kÑ2¼%ÀÀAÀÈUÔ:Sô€Hô ×Ñ˜#˜xÕ(r+   r±   c                 óÌ   — | }d}|rt         j                  nd}t        ddg|dgddgdœ«      }|j                  t	        |«      |t
        ¬	«      }t        j                  ||«       y )
NrÕ   rX   r®   Ú4rÓ   r¯   Ú6r   )r±   rz   )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  sb   € ð €FØ€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)rh   r‡   rz   r2   )r`   rB   rC   rv   r   r   )r$   r&   r2   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	        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#   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Ù   )rh   r2   r   ))r   ÚX)r   ÚYrô   )r   rB   rC   rv   r   r   Úlistrk   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úó    AÁAc                 ó¤   — | }d}t        j                  t        d¬«      5  |j                  t	        |«      d¬«       d d d «       y # 1 sw Y   y xY w)Nrû   zconvert|NoneTyper<   Úintry   rü   rý   s      r)   Útest_bool_and_nan_to_intr  í  sH   € à€Fð€Dô
 
�‰”zÐ);Ô	<ñ 5Ø�‰œ ›¨eˆÔ4÷5÷ 5ñ 5úrÿ   c                 óÀ   — | }d}|j                  t        |«      d¬«      }t        j                  dt        j
                  ddgi«      }t        j                  ||«       y )Nrû   Úfloatry   Ú0ro   g        )r   r   r   Ú	from_dictr   r   r!   r"   r#   s        r)   Útest_bool_and_nan_to_floatr  ù  sV   € à€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   rm   rw   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  © r+   r)   ú<module>r     s<  ðñõ ã Û å .÷ñ õ
 à�[‰[×'Ñ'Ø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ôð	
ðóñ.,ó/ð.,ð ‡�×ÑØð Ùà˜s B§F¡F¨C°°b·f±f¸cÐBÚ.Ø ¨°·±¸ÀÇÁÈÐQñóð		
ð !#¨Ñ,ÀÑGÙâ=Ú.ÚLñóð		
ð ˜%°EÑ:ÙàŸ&™& # r¨3°°U¸CÐ@Ú.ÚLñóð		
ð  ¨Ñ,Ð-Ùà˜s B§F¡F¨C°°b·f±f¸cÐBÚ.Ø ¨°·±¸ÀÇÁÈÐQñóð		
ð?)ó,ñZ,ó[,ðZ,ò2,ò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Ð:ðóñ,óð,ò64ò,,ð" ‡�×ÑØñ �‹J˜Ñ¡ I£Ñ.Ø˜5˜'Ð"Ù‘s˜5“z¡3 y£>Ð2Ó3ð	
ñ
 
ˆU‹�dÑ	˜VÑ	# R©±S¸³ZÀ°OÀbÈ!ÀWÐ3MÓ)NÐOÙ	ˆU‹�eÑ	˜k¨E¨7Ð3±YÀÇÁÈ¸{Ó5KÐLðóñ,óð,ò",ð ‡�×ÑØ˜e b¨# YÐ/°$¸¿¹À¸Ð1FÐGóñ,óð,ò 
)ð Ø‡�×Ñ˜ t¨U mÓ4ñ,ó 5ó ð,ð Ø‡�×ÑØà#Ø'Ø&Ø'Ø	 % Ð)Ø	 # u Ð.ðó
ñ
ó
ó ð
ð, ñ,ó ð,ò8,ð8 ñ	6ó ð	6ò	5ó
,r+   