zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
U
­ý°do)ã@sšdZddlmZddlZddlZddlmZmZm    Z    ddl
m Z ej  d¡Zej  dddg¡d    d
„ƒZd d „Zd d„Zedd„ƒZeej  ddddddgifdddddgifdddgegdddœfdddgegdddœfdddgegdddœfdddgegdddœfddgdge    jggdddgddœfddgdge    jggdddgddœfddgdge    jggdddgddœfddgdge    jggdddgddœfg
¡dd„ƒƒZedd„ƒZeej  dd d gd!d gd d"gd!d"gd#d$gg¡d%d&„ƒƒZed'd(„ƒZed)d*„ƒZed+d,„ƒZej jd-d.„ƒZed/d0„ƒZed1d2„ƒZed3d4„ƒZ ed5d6„ƒZ!ed7d8„ƒZ"eej  d9e#d:fd;g¡d<d=„ƒƒZ$ed>d?„ƒZ%dS)@z—
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)Ú    DataFrameÚIndexÚ
MultiIndexZ pyarrow_skipÚ with_headerTFc        Csˆ|}d}d}|rP||}|jt|ƒdd}|jt|ƒdd d¡}t ||¡n4|}d}tjt|d|jt|ƒddW5QRXdS)    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
ZID©Ú    index_colr©ÚheaderzIndex ID invalid©Úmatch)Úread_csvrÚ    set_indexÚtmÚassert_frame_equalÚpytestÚraisesÚ
ValueError)    Ú all_parsersrÚparserZ    no_headerr
ÚdataÚresultÚexpectedÚmsg©rú\d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/io/parser/test_index_col.pyÚtest_index_col_namedsrcCsx|}d}tdddgdddgdd    d
gd d d gdœtdddgddd}dddddg}|jt|ƒ|dgd}t ||¡dS)Nz+1,2,3,4,hello
5,6,7,8,world
9,10,11,12,foo
ééé    ééé
ééé ééé )ÚaÚbÚcÚdZhelloZworldÚfooÚmessage©Úname©Úindexr)r*r+r,)Únamesr)rrr rrr)rrrrr3rrrrÚtest_index_col_named20s$þr4c    Cs<d}|}d}tjt|d|jt|ƒddW5QRXdS)Nza,b
1,2z)The value of index_col couldn't be 'True'r Tr)rrrr r)rrrrrrrÚtest_index_col_is_trueBs
r5cCsXd}|}| t|ƒ¡}tdddgdddgdd    d
ggd d d gdddgd}t ||¡dS)Nz$A,B,C
foo,1,2,3
bar,4,5,6
baz,7,8,9
rr r#r&rr!r$r'rr-ÚbarZbazÚAÚBÚC©r2Úcolumns©r rrrr©rrrrrrrrÚtest_infer_index_colLsýr>zindex_col,kwargsr;ÚxÚyÚzr/©r;r2rr ©r3cCs4d}|}|jt|ƒ|d}tf|Ž}t ||¡dS)Nzx,y,zrr<)rrÚkwargsrrrrrrrÚtest_index_col_empty_data^s
)
rEcCs8d}|}|jt|ƒdd}tddgd}t ||¡dS)Nzx,yFrr?r@©r;r<r=rrrÚtest_empty_with_index_col_falses
rGÚ index_namesÚr-r6ZNotReallyUnnamedz
Unnamed: 0cCsv|}d |dg¡}|jt|ƒddgd}tddddd    git d
d gd d gg¡d}dd„|Dƒ|j_t     ||¡dS)Nú,zcol
a,c,1
a,d,2
b,c,3
b,d,4rrrÚcolr r#r&r)r*r+r,r1cSsg|]}|r|nd‘qS)Nr)Ú.0r0rrrÚ
<listcomp>¯sz+test_multi_index_naming.<locals>.<listcomp>)
Újoinr rrrZ from_productr2r3rr)rrHrrrrrrrÚtest_multi_index_namingšs ÿrOc    Csr|}d}|jt|ƒddgd}tdddddgitdd    gd
dd d ggddd
d
gdd
dd ggd d}t ||¡dS)Nz$,Unnamed: 2,
a,c,1
a,d,2
b,c,3
b,d,4rr rz
Unnamed: 2r+r,r)r*rr#r&)ÚlevelsÚcodesr1)r rrrrr)rrrrrrrrÚ,test_multi_index_naming_not_all_at_beginning³sÿþrRc    Cst|}t dddg¡}ttj dd¡|dddgd}t ¡$}| |¡|j    |dd    d
gd }W5QRXt 
||¡dS) N)r7rr )r8rr r#r?r@rAr:rrr r) rÚ from_tuplesrÚnpÚrandomÚrandnrÚ ensure_cleanÚto_csvr r)rrÚmidxrÚpathrrrrÚ%test_no_multi_index_level_names_emptyÂs
 
r[cCsº|}d}tjddgddgd}tdgƒ}tdd    gg||d
}|jt|ƒd d dgd }t ||¡td dgƒ}tddgdd}tddgddgg||d
}|jt|ƒdd d }t ||¡dS)Nz
I11,A,A
I12,B,B
I2,1,3
)r7r8)r7zB.1ZI11ZI12rCZI2rr#r:r)rr
r7zA.1r/r8Ú1Ú3)rrSrrr rrr)rrrrYÚidxrrZcol_idxrrrÚtest_header_with_index_colÎs
  r_c    Csj|}d}tt|ƒtj |¡dœƒ}t ¡$}|j|dd|j|dgd}W5QRXt     || 
d¡¡dS)NiAB©r)r*Fr1rrr)) rÚrangerTrUrVrrWrXr rr)rrÚNZdfrZrrrrÚtest_index_col_large_csvæs
rccCsX|}|jtdƒddgdd}tgtgƒtjddgddggd    d
gd d }t ||¡dS) Núa0,a1,a2
b0,b1,b2
rr©r
rÚa1Úa2Úb1Úb2Úa0Úb0rCr:)r rrrrÚ from_arraysrr©rrrrrrrÚ)test_index_col_multiindex_columns_no_dataõsÿÿýrncCsD|}|jtdƒdgdd}tgddgtgddd}t ||¡dS)    Nz    a0,a1,a2
rrerfrgrjr/rB©r rrrrrrmrrrÚtest_index_col_header_no_datas
ýrpcCsL|}|jtdƒddgd}tgt dddgdd    d
gg¡d }t ||¡dS) Nrdrrr    rjrfrgrkrhrirF)r rrrrlrrrmrrrÚtest_multiindex_columns_no_datasÿrqcCs`|}|jtdƒddgdd}tddggtjddgdd    ggd
d gd tdgƒd }t ||¡dS)Nz a0,a1,a2
b0,b1,b2
data,data,datarrrerrfrgrhrirjrkrCrB)r rrrrlrrrrmrrrÚ+test_multiindex_columns_index_col_with_datasÿÿûrrcCsR|}|jtdƒddgdgddid}tdgdgdœd     d¡}tj||d
d dS) Nz0,1r)r*ZUInt8)r3rÚdtyperrr`)rF)Zcheck_index_type)r rrrrrrmrrrÚtest_infer_types_boolean_sum/s üÿüÿù rtz
dtype, valZ01)Úint64rcCsLd}|}|jt|ƒdd|id}tddgit|gddd}t ||¡dS)Nza,b
01,2r))rrsr*r r/r1ro)rrsÚvalrrrrrrrÚ test_specify_dtype_for_index_colGs
rwcCs`|}d}|jt|ƒddgdd}tjdddgdd    gd
}td dd gg|d gd}t ||¡dS)Nza,b,c,d
e,f,g,h
x,y,1,2
rrre)r)Úe)r+Úg)r,Úhr*ÚfrCr?r r@rB)r rrrSrrr)rrrrÚcolsrrrrÚ-test_multiindex_columns_not_leading_index_colRsýÿr})&Ú__doc__ÚiorÚnumpyrTrZpandasrrrZpandas._testingZ_testingrÚmarkZ usefixturesZ skip_pyarrowZ parametrizerr4r5r>rlrErGrOrRr[r_ZslowrcrnrprqrrrtÚobjectrwr}rrrrÚ<module>s    
 
 
þþþþþþþþäþ'     
 
ûþ