Ë
    u™ãj5  ã                   ól  — d Z ddlmZ ddlZddlZddlZddlm	Z
 ej                  j                  d«      Zej                  j                  d«      Zej                  j                  dddg«      d	„ «       Zd
„ Zd„ Zed„ «       Zeej                  j                  dddg d¢ifddg d¢ifdddg ej(                  g d¬«      dœfdddg ej(                  g d¬«      dœfdddg ej(                  g d¬«      dœfdddg ej(                  g d¬«      dœfddgdgej*                  j-                  g gdz  ddg¬«      dœfddgdgej*                  j-                  g gdz  ddg¬«      dœfddgdgej*                  j-                  g gdz  ddg¬«      dœfddgdgej*                  j-                  g gdz  ddg¬«      dœfg
«      d„ «       «       Zed„ «       Zej                  j                  dddgddgddgddgddgg«      d „ «       Zd!„ Zd"„ Zed#„ «       Zej                  j:                  d$„ «       Zd%„ Zed&„ «       Z d'„ Z!d(„ Z"ed)„ «       Z#ej                  j                  d*e$d+fd,g«      d-„ «       Z%ej                  j                  d.e&e$g«      d/„ «       Z'ej                  j                  d.d0d1g«      d2„ «       Z(d3„ Z)y)4z—
Tests that the specified index column (a.k.a "index_col")
is properly handled or inferred during parsing for all of
the parsers defined in parsers.py
é    )ÚStringIONÚpyarrow_xfailÚpyarrow_skipÚwith_headerTFc                 óz  — | }d}d}|rc||z   }|j                  t        |«      d¬«      }|j                  t        |«      d¬«      j                  d«      }t        j                  ||«       y |}d}t        j                  t        |¬«      5  |j                  t        |«      d¬«       d d d «       y # 1 sw Y   y xY w)	NaÑ  KORD1,19990127, 19:00:00, 18:56:00, 0.8100, 2.8100, 7.2000, 0.0000, 280.0000
KORD2,19990127, 20:00:00, 19:56:00, 0.0100, 2.2100, 7.2000, 0.0000, 260.0000
KORD3,19990127, 21:00:00, 20:56:00, -0.5900, 2.2100, 5.7000, 0.0000, 280.0000
KORD4,19990127, 21:00:00, 21:18:00, -0.9900, 2.0100, 3.6000, 0.0000, 270.0000
KORD5,19990127, 22:00:00, 21:56:00, -0.5900, 1.7100, 5.1000, 0.0000, 290.0000
KORD6,19990127, 23:00:00, 22:56:00, -0.5900, 1.7100, 4.6000, 0.0000, 280.0000zBID,date,NominalTime,ActualTime,TDew,TAir,Windspeed,Precip,WindDir
ÚID©Ú	index_colr   ©ÚheaderzIndex ID invalid©Úmatch)Úread_csvr   Ú	set_indexÚtmÚassert_frame_equalÚpytestÚraisesÚ
ValueError)	Úall_parsersr   ÚparserÚ	no_headerr   ÚdataÚresultÚexpectedÚmsgs	            úp/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/io/parser/test_index_col.pyÚtest_index_col_namedr      s¬   € à€FðQ€Ið S€FáØ˜	Ñ!ˆà—‘¤¨$£¸4�Ó@ˆØ—?‘?¤8¨D£>¸!�?Ó<×FÑFÀtÓLˆÜ
×Ñ˜f hÕ/àˆØ ˆä�]‰]œ:¨SÔ1ñ 	<Ø�O‰OœH T›N°dˆOÔ;÷	<÷ 	<ñ 	<ús   ÂB1Â1B:c                 óò   — | }d}t        j                  g d¢g d¢g d¢g d¢dœt        j                  g d¢d¬	«      ¬
«      }g d¢}|j                  t	        |«      |dg¬«      }t        j                  ||«       y )Nz+1,2,3,4,hello
5,6,7,8,world
9,10,11,12,foo
)é   é   é	   )é   é   é
   )é   é   é   )é   é   é   )ÚaÚbÚcÚd)ÚhelloÚworldÚfooÚmessage©Úname©Úindex)r,   r-   r.   r/   r3   )Únamesr
   )ÚpdÚ	DataFrameÚIndexr   r   r   r   )r   r   r   r   r8   r   s         r   Útest_index_col_named2r<   -   sj   € Ø€Fð€Dô �|‰|ÚšjªzÂ
ÑKÜ�h‰hÒ0°yÔAô€Hò ,€Eà�_‰_œX d›^°5ÀYÀKˆ_ÓP€FÜ×Ñ˜& (Õ+ó    c                 ó¨   — d}| }d}t        j                  t        |¬«      5  |j                  t	        |«      d¬«       d d d «       y # 1 sw Y   y xY w)Nza,b
1,2z)The value of index_col couldn't be 'True'r   Tr	   )r   r   r   r   r   )r   r   r   r   s       r   Útest_index_col_is_truer?   ?   sH   € à€DØ€Fà
5€CÜ	�‰”z¨Ô	-ñ 8Ø�‰œ ›°$ˆÔ7÷8÷ 8ñ 8ús   ¢AÁAc                 ó¶   — d}| }|j                  t        |«      «      }t        j                  g d¢g d¢g d¢gg d¢g d¢¬«      }t	        j
                  ||«       y )Nz$A,B,C
foo,1,2,3
bar,4,5,6
baz,7,8,9
)r    r#   r&   )r)   r!   r$   )r'   r*   r"   )r2   ÚbarÚbaz)ÚAÚBÚC©r7   Úcolumns©r   r   r9   r:   r   r   ©r   r   r   r   r   s        r   Útest_infer_index_colrJ   I   sR   € ð€Dð
 €FØ�_‰_œX d›^Ó,€Fä�|‰|Ú	’IšyÐ)Ú#Úô€Hô
 ×Ñ˜& (Õ+r=   zindex_col,kwargsrG   ©ÚxÚyÚzrM   rN   rL   r4   ©rG   r7   r    r#   ©r8   c                 óš   — d}| }|j                  t        |«      |¬«      }t        j                  di |¤Ž}t	        j
                  ||«       y )Nzx,y,zr	   © rH   )r   r
   Úkwargsr   r   r   r   s          r   Útest_index_col_empty_datarT   [   sF   € ðR €DØ€FØ�_‰_œX d›^°yˆ_ÓA€Fä�|‰|Ñ%˜fÑ%€HÜ×Ñ˜& (Õ+r=   c                 ó    — d}| }|j                  t        |«      d¬«      }t        j                  ddg¬«      }t	        j
                  ||«       y )Nzx,yFr	   rL   rM   ©rG   rH   rI   s        r   Útest_empty_with_index_col_falserW   Œ   sF   € ð €DØ€FØ�_‰_œX d›^°uˆ_Ó=€Fä�|‰| S¨# JÔ/€HÜ×Ñ˜& (Õ+r=   Úindex_namesÚ r2   rA   ÚNotReallyUnnamedz
Unnamed: 0c                 óf  — | }dj                  g |¢d‘«      }|j                  t        |«      ddg¬«      }t        j                  dg d¢it        j
                  j                  dd	gd
dgg«      ¬«      }|D �cg c]  }|r|nd ‘Œ
 c}|j                  _        t        j                  ||«       y c c}w )Nú,zcol
a,c,1
a,d,2
b,c,3
b,d,4r   r    r	   Úcol©r    r#   r&   r)   r,   r-   r.   r/   r6   )Újoinr   r   r9   r:   Ú
MultiIndexÚfrom_productr7   r8   r   r   )r   rX   r   r   r   r   r5   s          r   Útest_multi_index_namingrb   —   s¬   € ð €Fð �8‰8ÐE�kÐEÐ#DÐEÓF€DØ�_‰_œX d›^¸¸1°vˆ_Ó>€Fä�|‰|Ø	’ÐÜ�m‰m×(Ñ(¨3°¨*°s¸C°jÐ)AÓBô€Hð @KÖK°t¡D™D¨dÑ2ÒK€H‡N�NÔÜ×Ñ˜& (Õ+ùò Ls   Á8B.c           	      óì   — | }d}|j                  t        |«      ddg¬«      }t        j                  dg d¢it        j                  ddgg d	¢gg d
¢g d¢g¬«      ¬«      }t        j                  ||«       y )Nz$,Unnamed: 2,
a,c,1
a,d,2
b,c,3
b,d,4r   r#   r	   z
Unnamed: 2)r.   r/   r.   r/   r,   r-   r^   )r   r   r    r    )r   r    r#   r&   )ÚlevelsÚcodesr6   )r   r   r9   r:   r`   r   r   )r   r   r   r   r   s        r   Ú,test_multi_index_naming_not_all_at_beginningrf   °   sn   € Ø€FØ5€DØ�_‰_œX d›^¸¸1°vˆ_Ó>€Fä�|‰|Ø	Ò+Ð,Ü�m‰mØ˜#�J¢Ð-²lÂLÐ5Qô
ô€Hô ×Ñ˜& (Õ+r=   c                 óN  — |}t         j                  j                  g d¢«      }t        j                  t        j
                  j                  d«      j                  d«      |g d¢¬«      }|j                  | «       |j                  | g d¢¬«      }t        j                  ||«       y )N)©rC   r    r#   rh   )rD   r    r#   r#   )r&   r&   rK   rF   )r   r    r#   r	   )r9   r`   Úfrom_tuplesr:   ÚnpÚrandomÚdefault_rngÚstandard_normalÚto_csvr   r   r   )Ú	temp_filer   r   Úmidxr   r   s         r   Ú%test_no_multi_index_level_names_emptyrq   ¾   s}   € à€FÜ�=‰=×$Ñ$Ò%LÓM€DÜ�|‰|Ü
�	‰	×Ñ˜aÓ ×0Ñ0°Ó8ØÚô€Hð
 ‡O�O�IÔØ�_‰_˜Y²)ˆ_Ó<€FÜ×Ñ˜& (Õ+r=   c                 ó$  — | }d}t         j                  j                  ddgddg¬«      }t        j                  dg«      }t        j                  dd	gg||¬
«      }|j                  t        |«      dddg¬«      }t        j                  ||«       t        j                  ddg«      }t        j                  ddgd¬«      }t        j                  ddgddgg||¬
«      }|j                  t        |«      dd¬«      }t        j                  ||«       y )Nz
I11,A,A
I12,B,B
I2,1,3
)rC   rD   )rC   zB.1ÚI11ÚI12rP   ÚI2r    r&   rF   r   )r
   r   rC   zA.1r4   rD   Ú1Ú3)	r9   r`   ri   r;   r:   r   r   r   r   )r   r   r   rp   Úidxr   r   Úcol_idxs           r   Útest_header_with_index_colrz   Ì   sõ   € ð €Fð€Dô
 �=‰=×$Ñ$ j°,Ð%?ÈÈuÀ~Ð$ÓV€DÜ
�(‰(�D�6Ó
€CÜ�|‰|˜a ˜V˜H¨C¸Ô>€Hà�_‰_œX d›^°qÀ!ÀQÀˆ_ÓH€FÜ×Ñ˜& (Ô+ä�h‰h˜˜U�|Ó$€GÜ
�(‰(�E˜4�= uÔ
-€CÜ�|‰|˜c 3˜Z¨#¨s¨Ð4¸CÈÔQ€Hà�_‰_œX d›^°uÀQˆ_ÓG€FÜ×Ñ˜& (Õ+r=   c                 ó¸  — |}d}t        j                  t        |dz   «      t        j                  j                  d«      j                  |dz   «      dœ«      }|j                  | d¬«       |j                  «       5 }|j                  d|«       |j                  | dg¬	«      }d d d «       t        j                  |j                  d
«      «       y # 1 sw Y   Œ/xY w)Néd   r    r#   ©r,   r-   Fr6   z,pandas.core.algorithms._MINIMUM_COMP_ARR_LENr   r	   r,   )r9   r:   Úrangerj   rk   rl   rm   rn   ÚcontextÚsetattrr   r   r   r   )ro   r   Úmonkeypatchr   ÚARR_LENÚdfÚmr   s           r   Útest_index_col_large_csvr…   ä   sÁ   € ð €Fà€GÜ	�‰ä�w ‘{Ó#Ü—‘×&Ñ& qÓ)×9Ñ9¸'ÀA¹+ÓFñ	
ó
€Bð ‡I�Iˆi˜u€IÔ%Ø	×	Ñ	Ó	ð ; !Ø	�	‰	Ð@À'ÔJØ—‘ °q°c�Ó:ˆ÷;ô ×Ñ˜& "§,¡,¨sÓ"3Õ4÷	;ð ;ús   Á;'CÃCc           	      óÔ  — | }|j                   dk(  rDt        j                  t        d¬«      5  |j	                  t        d«      ddgd¬«       d d d «       y |j	                  t        d«      ddgd¬«      }t        j                  g t        j                  g «      t        j                  j                  dd	gd
dggddg¬«      ¬«      }t        j                  ||«       y # 1 sw Y   y xY w)NÚpyarrowú#does not support a list of integersr   úa0,a1,a2
b0,b1,b2
r   r    ©r   r
   Úa1Úa2Úb1Úb2Úa0Úb0rP   rF   )Úenginer   r   r   r   r   r9   r:   r;   r`   Úfrom_arraysr   r   ©r   r   r   r   s       r   Ú)test_index_col_multiindex_columns_no_datar”   ù   sß   € à€FØ‡}�}˜	Ò!Ü�]‰]œ:Ð-RÔSñ 	Ø�O‰OÜÐ/Ó0¸!¸Q¸È1ð ô ÷	ð 	à�_‰_ÜÐ'Ó(°!°Q°À1ð ó €Fô �|‰|Ø
Ü�h‰h�r‹lÜ—‘×)Ñ)Ø�Dˆ\˜D $˜<Ð(°°t°ð *ó 
ô€Hô ×Ñ˜& (Õ+÷!	ð 	ús   ­ CÃC'c                 óÎ   — | }|j                  t        d«      dgd¬«      }t        j                  g ddgt        j                  g d¬«      ¬«      }t        j                  ||«       y )	Nz	a0,a1,a2
r   rŠ   r‹   rŒ   r�   r4   rO   ©r   r   r9   r:   r;   r   r   r“   s       r   Útest_index_col_header_no_datar—     s\   € ð €FØ�_‰_œX lÓ3¸Q¸CÈ1ˆ_ÓM€FÜ�|‰|Ø
Ø�t�Ü�h‰h�r Ô%ô€Hô
 ×Ñ˜& (Õ+r=   c                 ó   — | }|j                   dk(  rCt        j                  t        d¬«      5  |j	                  t        d«      ddg¬«       d d d «       y |j	                  t        d«      ddg¬«      }t        j                  g t        j                  j                  g d¢g d	¢g«      ¬
«      }t        j                  ||«       y # 1 sw Y   y xY w)Nr‡   rˆ   r   r‰   r   r    r   )r�   r‹   rŒ   )r�   r�   rŽ   rV   )r‘   r   r   r   r   r   r9   r:   r`   r’   r   r   r“   s       r   Útest_multiindex_columns_no_datar™     s¬   € à€FØ‡}�}˜	Ò!Ü�]‰]œ:Ð-RÔSñ 	MØ�O‰OœHÐ%;Ó<ÀaÈÀVˆOÔL÷	Màà�_‰_œXÐ&<Ó=ÀqÈ!Àfˆ_ÓM€FÜ�|‰|Ø
”B—M‘M×-Ñ-Ò/AÒCUÐ.VÓWô€Hô ×Ñ˜& (Õ+÷	Màús   ­CÃCc                 óÜ  — | }|j                   dk(  rDt        j                  t        d¬«      5  |j	                  t        d«      ddgd¬«       d d d «       y |j	                  t        d«      ddgd¬«      }t        j                  ddggt        j                  j                  d	d
gddggddg¬«      t        j                  dg«      ¬«      }t        j                  ||«       y # 1 sw Y   y xY w)Nr‡   rˆ   r   z a0,a1,a2
b0,b1,b2
data,data,datar   r    rŠ   r   r‹   rŒ   r�   rŽ   r�   r�   rP   rO   )r‘   r   r   r   r   r   r9   r:   r`   r’   r;   r   r   r“   s       r   Ú+test_multiindex_columns_index_col_with_datar›   .  sï   € à€FØ‡}�}˜	Ò!Ü�]‰]œ:Ð-RÔSñ 	Ø�O‰OÜÐ=Ó>Ø˜1�vØð ô ÷	ð 	à�_‰_ÜÐ5Ó6ÀÀ1¸vÐQRð ó €Fô �|‰|Ø
�&Ð	ÐÜ—‘×)Ñ)Ø�Dˆ\˜D $˜<Ð(°°t°ð *ó 
ô �h‰h˜�xÓ ô€Hô ×Ñ˜& (Õ+÷%	ð 	ús   ­ C"Ã"C+c                 óÒ   — | }|j                  t        d«      ddgdgddi¬«      }t        j                  dgdgdœ¬	«      j	                  d«      }t        j                  ||d
¬«       y )Nz0,1r,   r-   ÚUInt8)r8   r
   Údtyper   r    r}   )r   F)Úcheck_index_type)r   r   r9   r:   r   r   r   r“   s       r   Útest_infer_types_boolean_sumr    G  s~   € ð €FØ�_‰_Ü�‹Ø�CˆjØ�%Ø�Gˆnð	 ó €Fô �|‰|ð ðð �ñ	
ô÷ �i�ƒnð ô ×Ñ˜& (¸UÖCr=   z
dtype, valÚ01)Úint64r    c                 óØ   — d}| }|j                  t        |«      dd|i¬«      }t        j                  ddgit        j                  |gd|¬«      ¬«      }t        j                  ||«       y )Nza,b
01,2r,   ©r
   rž   r-   r#   ©r5   rž   r6   r–   )r   rž   Úvalr   r   r   r   s          r   Ú test_specify_dtype_for_index_colr§   _  s_   € ð €DØ€FØ�_‰_œX d›^°sÀ3ÈÀ,ˆ_ÓO€FÜ�|‰|˜S 1 #˜J¬b¯h©h¸°uÀ3ÈeÔ.TÔU€HÜ×Ñ˜& (Õ+r=   rž   c                 ó®  — | }d}|t         u xr |}|j                  dk(  r1|r/|j                  t        j                  j                  d¬«      «       |j                  t        |«      d|¬«      }|rt        j                  ddgd|¬	«      }nt        j                  d
dgd¬«      }t        j                  dddgi||¬«      }	t        j                  ||	«       y )Nza,b
1,x
2,yÚpythonú6python engine does not apply scalar dtype to index_col©Úreasonr,   r¤   rv   Ú2r¥   r    r#   r4   r-   rL   rM   ©r7   rž   )Ústrr‘   Úapplymarkerr   ÚmarkÚxfailr   r   r9   r;   r:   r   r   )
r   rž   Úusing_infer_stringÚrequestr   r   Úapply_to_indexr   Úexpected_indexr   s
             r   Útest_scalar_dtype_for_index_colr·   i  sÅ   € ð €FØ€DØœc�\Ò8Ð&8€NØ‡}�}˜Ò ¡^Ø×ÑÜ�K‰K×ÑØOð ó ô	
ð
 �_‰_œX d›^°sÀ%ˆ_ÓH€FÙÜŸ™ 3¨ *°3¸eÔD‰äŸ™ 1 a &¨sÔ3ˆÜ�|‰|˜S 3¨ *Ð-°^È5ÔQ€HÜ×Ñ˜& (Õ+r=   Úfloat64ÚInt64c                 ó”  — | }d}|j                   dk(  r/|j                  t        j                  j	                  d¬«      «       |j                  t        |«      d|¬«      }t        j                  ddd	git        j                  d
dgd¬«      |¬«      }|j                  j                  |«      |_
        t        j                  ||«       y )Nza,b
1,2
3,4r©   rª   r«   r,   r¤   r-   r#   r)   r    r&   r4   r®   )r‘   r°   r   r±   r²   r   r   r9   r:   r;   r7   Úastyper   r   )r   rž   r´   r   r   r   r   s          r   Ú'test_scalar_numeric_dtype_for_index_colr¼   �  s°   € ð €FØ€DØ‡}�}˜Ò Ø×ÑÜ�K‰K×ÑØOð ó ô	
ð
 �_‰_œX d›^°sÀ%ˆ_ÓH€FÜ�|‰|Ø	ˆq�!ˆfˆœRŸX™X q¨! f°3Ô7¸uô€Hð —^‘^×*Ñ*¨5Ó1€H„NÜ×Ñ˜& (Õ+r=   c                 ó¶  — | }d}|j                   dk(  rDt        j                  t        d¬«      5  |j	                  t        |«      ddgd¬«       d d d «       y |j	                  t        |«      ddgd¬«      }t        j                  j                  g d¢d	d
g¬«      }t        j                  g d¢g|dg¬«      }t        j                  ||«       y # 1 sw Y   y xY w)Nza,b,c,d
e,f,g,h
x,y,1,2
r‡   rˆ   r   r   r    rŠ   ))r,   Úe)r.   Úg)r/   Úhr-   ÚfrP   )rL   r    r#   rM   rO   )r‘   r   r   r   r   r   r9   r`   ri   r:   r   r   )r   r   r   r   Úcolsr   s         r   Ú-test_multiindex_columns_not_leading_index_colrÃ   •  sÎ   € à€Fð€Dð ‡}�}˜	Ò!Ü�]‰]œ:Ð-RÔSñ 	HØ�O‰OœH T›N°A°q°6ÀQˆOÔG÷	Hàà�_‰_Ü�‹Ø�1ˆvØð ó €Fô
 �=‰=×$Ñ$Ú,°S¸#°Jð %ó €Dô �|‰|š[˜M°4À¸uÔE€HÜ×Ñ˜& (Õ+÷	Hàús   ¯ CÃC)*Ú__doc__Úior   Únumpyrj   r   Úpandasr9   Úpandas._testingÚ_testingr   r±   ÚusefixturesÚxfail_pyarrowÚskip_pyarrowÚparametrizer   r<   r?   rJ   r;   r`   r’   rT   rW   rb   rf   rq   rz   Úslowr…   r”   r—   r™   r›   r    Úobjectr§   r¯   r·   r¼   rÃ   rR   r=   r   ú<module>rÐ      s“  ðñõ ã Û ã Ý à—‘×'Ñ'¨Ó8€Ø�{‰{×&Ñ& ~Ó6€ð ‡�×Ñ˜¨¨u¨Ó6ñ<ó 7ð<ò2,ò$8ð ñ,ó ð,ð" Ø‡�×ÑØà	�	š?Ð+Ð,Ø	�šOÐ,Ð-Ø	
˜˜c˜
¨X¨R¯X©X°b¸sÔ-CÑDÐEØ	
˜˜c˜
¨X¨R¯X©X°b¸sÔ-CÑDÐEØ	˜3 ˜*¨x¨r¯x©x¸ÀÔ/EÑFÐGØ	˜3 ˜*¨x¨r¯x©x¸ÀÔ/EÑFÐGà�ˆFà˜5ØŸ™×2Ñ2°B°4¸!±8ÀCÈÀ:Ð2ÓNñð	
ð �#ˆJà˜5ØŸ™×2Ñ2°B°4¸!±8ÀCÈÀ:Ð2ÓNñð	
ð �ˆFà˜5ØŸ™×2Ñ2°B°4¸!±8ÀCÈÀ:Ð2ÓNñð	
ð �#ˆJà˜5ØŸ™×2Ñ2°B°4¸!±8ÀCÈÀ:Ð2ÓNñð	
ð9#ó&ñN,óO&ó ðP,ð ñ,ó ð,ð ‡�×ÑØà	ˆRˆØ	�ˆØ	ˆUˆØ	�ˆØ	˜\Ð*ðó	ñ,ó	ð,ò,ò,ð ñ,ó ð,ð. ‡�×Ññ5ó ð5ò(,ð2 ñ	,ó ð	,ò,ò,ð2 ñDó ðDð. ‡�×Ñ˜¨°¨¸Ð'EÓFñ,ó Gð,ð ‡�×Ñ˜ 3¨ -Ó0ñ,ó 1ð,ð. ‡�×Ñ˜ 9¨gÐ"6Ó7ñ,ó 8ð,ó&,r=   