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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
U
­ý°dÜCã@s>dZddlmZddlZddlZddlmZddlm    Z    m
Z
m Z ddl m Zej d¡Zej d¡Zedd    „ƒZed
d „ƒZeej d d dgddgddgd gdgdgdgg¡ej dddg¡dd„ƒƒƒZedd„ƒZeej d ddgg¡dd„ƒƒZdd„Zedd„ƒZeej ddge    ejgd gd!gd"œe
dgd#d$d%fdd&ge    ejgd!gd'œe jd(gd#d)gd*d%fd#d)ge    ejgd!gd'œe jd(gd#d)gd*d%fg¡d+d,„ƒƒZeej d-ie    d#d.ejd/d0ejd1gd d&d2d3d!d4d5gd6d7d8ejd9ejd:gd;œƒfggd<œd=d>œe    d#d.d?d/d0d@d1gd d&d2d3d!d4d5gd6d7d8d@d9d?d:gd;œƒfd#gd=d>œe    ejd.d?d/d0d@d1gd d&d2d3d!d4d5gd6d7d8d@d9d?d:gd;œƒfd ggd<œie    d#d.ejd/d0ejd1gd d&d2d3d!d4d5gd6d7d8ejd9ejd:gd;œƒfg¡dAdB„ƒƒZedCdD„ƒZedEdF„ƒZ edGdH„ƒZ!eej dIdJdKg¡dLdM„ƒƒZ"eej dNdOd dPgejejgd2dQggfd=dRdPgd@dSgdTdQggfg¡dUdV„ƒƒZ#edWdX„ƒZ$eej dYd ejdZgdZejggfd&d d[œd\dZgejejggfg¡d]d^„ƒƒZ%ed_d`„ƒZ&edadb„ƒZ'eej dce(ddƒdee(dfƒd ddgie    e(ddƒe(dfƒgƒfe(ddƒdgdhie    e(ddƒd gd?d&ggƒfe(ddƒdid ddgie    ejd gƒfg¡djdk„ƒƒZ)dldm„Z*eej dnd=d?dogfdOejdpgfg¡dqdr„ƒƒZ+dsdt„Z,eej dudOd=g¡dvdw„ƒƒZ-eej dxdydzd{d|d}d~gfd}d#d~ifg¡dd€„ƒƒZ.edd‚„ƒZ/edƒd„„ƒZ0ed…d†„ƒZ1d‡dˆ„Z2d‰dŠ„Z3dS)‹zg
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 pyarrow_skipZ pyarrow_xfailcCsT|}d}| t|ƒ¡}tdddgdtjdgtjddggd    d
d gd }t ||¡dS) NzA,B,C
a,b,c
d,,f
,g,h
ÚaÚbÚcÚdÚfÚgÚhÚAÚBÚC©Úcolumns©Úread_csvrrÚnpÚnanÚtmÚassert_frame_equal©Ú all_parsersÚparserÚdataÚresultÚexpected©rú\d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/io/parser/test_na_values.pyÚtest_string_nassþr!cCsN|}d}tddgtjdgtjtjggddgd}| t|ƒ¡}t ||¡dS)NzA,B
foo,bar
NA,baz
NaN,nan
ÚfooÚbarÚbazrrr©rrrrrrr)rrrrrrrr Útest_detect_string_na'sÿr&Ú    na_valuesz-999.0z-999iüÿÿg8ÀrzA,B
-999,1.2
2,-999
3,4.5
z"A,B
-999,1.200
2,-999.000
3,4.500
cCsL|}ttjdgdtjgddggddgd}|jt|ƒ|d}t ||¡dS)    Ng333333ó?ç@g@g@rrr©r'r%)rrr'rrrrrr Útest_non_string_na_values6s&r*cs¤ddddddddd    d
d d d ddddddh}|tks6t‚|}t|ƒ‰‡fdd„‰td ‡fdd„t|ƒDƒ¡ƒ}ttjt    ˆƒt    ˆƒd}|j
|dd}t   ||¡dS)Nz-1.#INDz1.#QNANz1.#INDz-1.#QNANz#N/AzN/Azn/aZNAz<NA>z#NAÚNULLÚnullÚNaNrz-NaNz-nanz#N/A N/AÚÚNonecsf|dkrd}n|dkr&d dg|¡}|›|›}|ˆdkrbd dgˆ|d¡}|›|›}|S)Nrr.ú,é)Újoin)ÚiÚvÚbufZjoined)Únvrr r xs   z!test_default_na_values.<locals>.fÚ
csg|]\}}ˆ||ƒ‘qSrr)Ú.0r3r4)r rr Ú
<listcomp>†sz*test_default_na_values.<locals>.<listcomp>)rÚindex)Úheader) rÚAssertionErrorÚlenrr2Ú    enumeraterrrÚrangerrr)rZ
_NA_VALUESrrrrr)r r6r Útest_default_na_values\s8í   r@r$cCs`|}d}tdtjdgtjdtjgddtjggddd    gd
}|jt|ƒ|d gd }t ||¡dS) Nz3A,B,C
ignore,this,row
1,NA,3
-1.#IND,5,baz
7,8,NaN
çð?éééérrrrr1)r'Zskiprowsr%)rr'rrrrrrr Útest_custom_na_valuess"ÿrFcCs`d}|}| t|ƒ¡}ttjdtjdgtdtjddtjgtddddgdœƒ}t ||¡dS)Nz1A,B,C
True,False,True
NA,True,False
False,NA,TrueTF©Údtype©rrr)    rrrrÚarrayrÚobjectrr©rrrrrrrr Útest_bool_na_valuesžsýÿrMcCshd}|}|jt|ƒdgdgdœd}ttjdtjdgtjdtjdgtjdtjdgdœƒ}t ||¡dS)Nz3A,B,C
foo,bar,NA
bar,foo,foo
foo,bar,NA
bar,foo,foor"r#)rrr)rIr©rrrZdfrrrr Útest_na_value_dict¯sýÿrOzindex_col,expectedr1rC)rr    r
r©Úname©r:é)rr
)rr1r    )ÚnamescCs.d}|}|jt|ƒtƒ|d}t ||¡dS)Nza,b,c,d
0,NA,1,5
)r'Ú    index_col)rrÚsetrr)rrUrrrrrrr Útest_na_value_dict_multi_indexÂsrWzkwargs,expectedrr
Úer rBéérDZoneÚtwoZthreeÚfiveÚsevenrI)rrF©r'Úkeep_default_nar.rcCs*d}|}|jt|ƒf|Ž}t ||¡dS)NzAA,B,C
a,1,one
b,2,two
,3,three
d,4,nan
e,5,five
nan,6,
g,7,seven
©rrrr)rÚkwargsrrrrrrr Útest_na_values_keep_defaultäs/
rbc
Csdd}|}|jt|ƒdd}tdddddd    d
gd d d ddddgdddd    dddgdœƒ}t ||¡dS)NzAA,B,C
a,1,None
b,2,two
,3,None
d,4,nan
e,5,five
nan,6,
g,7,seven
F)r_rrr.r
rXrr r1rSrBrYrCrZrDr/r[r\r]rI©rrrrrrLrrr Ú!test_no_na_values_no_keep_default"s
ýÿrdcCsFd}|}|jt|ƒddgidd}tdgtjgdœƒ}t ||¡dS)Nza,b
,2rÚ2Fr^r.©rrrrLrrr Ú&test_no_keep_default_na_dict_na_values=sÿrgcCsDd}|}|jt|ƒddidd}tdgtjgdœƒ}t ||¡dS)Nza,b
1,2rrSFr^r1rfrrNrrr Ú-test_no_keep_default_na_dict_na_scalar_valuesIs
rhÚcol_zero_na_valuesiå¹Z113125c    Cstd}|}ttjdgtjdgdtjgddgddgd    d
gtjd gd œƒ}|jt|ƒdd d
dd|dœd}t ||¡dS)Nz_113125,"blah","/blaha",kjsdkj,412.166,225.874,214.008
729639,"qwer","",asdfkj,466.681,,252.373
gND&AZqwerz/blahaZkjsdkjZasdfkjg-²ï§Ây@g7‰A`å*}@z225.874r.g-²ï‹o@)rr1rSrBrYrCrZFz214.008Zblah)rSrZr1r)r;r_r'r%)rrirrrrrrr Ú1test_no_keep_default_na_dict_na_values_diff_reprsUs&ùÿ  ürjzna_filter,row_dataTrrÚ1rÚ3cCs>d}|}|jt|ƒdg|d}t|ddgd}t ||¡dS)NzA,B
1,A
nan,B
3,C
r)r'Ú    na_filterrrrc)rrmÚrow_datarrrrrrr Ú!test_na_values_na_filter_overridess
    roc
Csr|}d}| t|ƒ¡}tdddddtjtjtjgdddd    d
tjtjtjggd d d dddddgd}t ||¡dS)NzlDate,Currency,Symbol,Type,Units,UnitPrice,Cost,Tax
2012-03-14,USD,AAPL,BUY,1000
2012-05-12,USD,SBUX,SELL,500z
2012-03-14ZUSDZAAPLZBUYièz
2012-05-12ZSBUXZSELLiôÚDateZCurrencyZSymbolÚTypeZUnitsZ    UnitPriceZCostZTaxrrrrrr Útest_na_trailing_columns‰s$þøûrrzna_values,row_datar(rfrAcCs@|}ddg}d}|jt|ƒ||d}t||d}t ||¡dS)Nrrú1,2
2,1©rTr'rrc)rr'rnrrTrrrrrr Útest_na_values_scalar¥s
 rucCsn|}dddœ}| ¡}ddg}d}tddgtjtjgg|d    }|jt|ƒ||d
}t ||¡t ||¡dS) NrSr1rfrrrsrAr(rrt)    ÚcopyrrrrrrrZassert_dict_equal)rrr'Zna_values_copyrTrrrrrr Útest_na_values_dict_aliasing¸s
 rwcCsDd}|}ddi}|jt|ƒ|d}tdtjdgiƒ}t ||¡dS)Nza
foo
1rr"r)rr1r)rrrr'rrrrr Útest_na_values_dict_col_indexÈs rxzdata,kwargs,expectedlr7lz,1z
,2z
1cCs.|}|jt|ƒfddi|—Ž}t ||¡dS)Nr;r`)rrrarrrrrr Útest_na_values_uint64ÔsrycCsHd}|}tddgitdgddd}|jt|ƒdd    d
}t ||¡dS) Nza,1
b,2rkrSrrrPrRrF)rUr_©rrrrrr)rrrrrrrr Ú*test_empty_na_values_no_default_with_indexès
r{zna_filter,index_dataÚ5g@cCsP|}d}tddgddgdœt|ddd    }|jt|ƒdg|d
}t ||¡dS) Núa,b,c
1,,3
4,5,6r1rYrBrZ)rr    rrPrR)rUrmrz)rrmZ
index_datarrrrrrr Útest_no_na_filter_on_indexòs
"r~cCs\|}d}|jt|ƒdgddgd}tdtjgdtjgdœtd    d
gd d d }t ||¡dS)Nzidx,col1,col2
1,3,4
2,inf,-infrÚinfz-inf)rUr'rBrY)Úcol1Úcol2r1rSÚidxrPrR)rrrrrrrr)rrrÚoutrrrr Ú!test_inf_na_values_with_int_indexsÿr„rmcCsV|}d}|rtjnd}tddg|dgddgdœƒ}|jt|ƒ|td    }t ||¡dS)
Nr}r.rkÚ4r|rlÚ6)rrr    )rmrH)rrrrrÚstrrr)rrmrrÚemptyrrrrr Ú+test_na_values_with_dtype_str_and_na_filters r‰zdata, na_values)zfalse,1
,1
trueN)zfalse,1
null,1
trueN)zfalse,1
nan,1
trueN)úfalse,1
foo,1
truer"rŠr"c    CsF|}d}tjt|d&|jt|ƒdddgddi|dW5QRXdS)Nz(Bool column has NA values in column [0a])|(cannot safely convert passed user dtype of bool for object dtyped data in column 0)©ÚmatchrrÚbool)r;rTrHr'©ÚpytestZraisesÚ
ValueErrorrr)rrr'rÚmsgrrr Ú!test_cast_NA_to_bool_raises_errors ÿûr’cCsd|}d}|jt|ƒddddgtttdœd ¡}tddgd    d
gd d gdœd dgd}t ||¡dS)NzDFile: small.csv,,
10010010233,0123,654
foo,,bar
01001000155,4530,898r€rÚcol3)r€rr“)r;rTrHZ 10010010233Z 01001000155Z0123Z4530Z654Z898r1rBrR)rrr‡Zdropnarrrrrrr Útest_str_nan_dropped<s 
ü
ýú    r”cCsP|}d}|jt|ƒttdƒƒddid}tdgdgtjgdœƒ}t ||¡dS)NzA,B,B
X,Y,Z
1,2,infrS©rÚZr)r;r'r1))rÚX)rÚYr•)    rrÚlistr?rrrrrrrrr Útest_nan_multi_indexYs
ÿýÿršc    Cs8|}d}tjtdd|jt|ƒddW5QRXdS)Nú0
NaN
True
False
z    NA valuesr‹rrGrŽ©rrrrrr Útest_bool_and_nan_to_boolnsrc    Cs8|}d}tjtdd|jt|ƒddW5QRXdS)Nr›zconvert|NoneTyper‹ÚintrGrŽrœrrr Útest_bool_and_nan_to_int{srŸcCs@|}d}|jt|ƒdd}t dtjddgi¡}t ||¡dS)Nr›ÚfloatrGÚ0rAg)rrrÚ    from_dictrrrrrrrr Útest_bool_and_nan_to_float‡s
r£)4Ú__doc__ÚiorÚnumpyrrZpandas._libs.parsersrZpandasrrrZpandas._testingZ_testingrÚmarkZ usefixturesZ skip_pyarrowZ xfail_pyarrowr!r&Z parametrizer*r@rFrMrOrÚ from_tuplesrWrbrdrgrhrjrorrrurwrxr‡ryr{r~r„r‰r’r”ršrrŸr£rrrr Ú<module>sX     
 
ùþ úþ
 
0 
$þþþþþôþ
ýÿþ ýÿþ
ýÿþ ýÿþáþ- 
 
 
 þþ 
þþ 
 
ý( ùþ 
ÿ   
úþ