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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
U
­ý°dˆã@sèddlZddlmZddlmZddlmZddlZddlZddlZddl    Z    ddl
Z ddl Z ddl mZddlmmZddlZddlmZmZmZmZmZmZddlmZddlmZm Z dd    „Z!Gd
d „d ƒZ"d d „Z#dd„Z$dS)éN)Ú    timedelta)ÚDecimal)ÚStringIO)ÚIS64)ÚNAÚ    DataFrameÚ DatetimeIndexÚSeriesÚ    TimestampÚ    read_json)ÚArrowStringArrayÚ StringArraycCs<|dkr|jdd}|dkr,tt|jƒƒ|_t ||¡dS)N)ÚrecordsÚvaluesT©Údropr)Ú reset_indexÚrangeÚlenÚcolumnsÚtmÚassert_frame_equal)ÚresultÚexpectedÚorient©rúWd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/io/json/test_pandas.pyÚassert_json_roundtrip_equal s
 rc@s„ eZdZejdd„ƒZejdd„ƒZejdd„ƒZdd„Zej     
d    d
d d g¡d d„ƒZ ej     
d    ddg¡dd„ƒZ ej     
d    d
d g¡ej     
dddgddggddgddggddgddgge dƒdge dƒdggg¡d d!„ƒƒZej     
d    ddd g¡d"d#„ƒZd$d%„Zej     
d&d'eg¡ej     
d(d)d'g¡d*d+„ƒƒZej     
d&d'ejg¡ej     
d(d)d'g¡d,d-„ƒƒZej     
d&d.ejed/g¡ej     
d(d)d'g¡d0d1„ƒƒZej     
d(d)d'g¡d2d3„ƒZej     
d(d)d'g¡d4d5„ƒZej     
d(d)d'g¡d6d7„ƒZej     
d(d)d'g¡d8d9„ƒZej    jd:ed;ej     
dd<d<gd=d>ggd<d?gd=d=ggd<d<gd=d=ggg¡d@dA„ƒƒZej     
dBdCdDdE  dFg¡d
fdGdHg¡dIdJ„ƒZ!ej     
d&d)d'g¡ej     
d(d)d'g¡dKdL„ƒƒZ"ej     
d&d)d'g¡dMdN„ƒZ#ej     
dOej$ej%g¡ej     
d&d)d'g¡dPdQ„ƒƒZ&ej    j'e( dRdSej     
dTdUdVdWdXdYdZg¡d[d\„ƒƒZ)d]d^„Z*d_d`„Z+dadb„Z,dcdd„Z-dedf„Z.dgdh„Z/didj„Z0dkdl„Z1dmdn„Z2dodp„Z3dqdr„Z4ej     
d&d'd.g¡dsdt„ƒZ5dudv„Z6dwdx„Z7ej     
d&ejeg¡dydz„ƒZ8d{d|„Z9d}d~„Z:dd€„Z;ej     
dd)e<d‚gdƒd„fd'e<d…gƒfg¡d†d‡„ƒZ=dˆd‰„Z>dŠd‹„Z?dŒd„Z@dŽd„ZAdd‘„ZBd’d“„ZCej     
d”d•d–g¡ej     
d—d)d'g¡ej     
d˜eDjEeDjDe g¡d™dš„ƒƒƒZFej     
d›dœddždŸd d¡d¢g¡d£d¤„ƒZGej     
d¥d¦d§d¨d©dªg¡d«d¬„ƒZHd­d®„ZIej     
d¥d¦d§d¨d©dªg¡d¯d°„ƒZJd±d²„ZKej     
d³d´dµd¶d·g¡d¸d¹„ƒZLdºd»„ZMd¼d½„ZNd¾d¿„ZOej    jPeQjPdÀd)dÁej     
dÂdÃeRjSdÄdōgdÆdƒgdÇeRjSdÄdōgg¡dÈdɄƒƒƒZTdÊd˄ZUdÌd̈́ZVdÎdτZWej     
d—d)d'g¡ej     
d”d–d•g¡ej     
dÐeRjXeYg¡dÑd҄ƒƒƒZZdÓdԄZ[dÕdքZ\d×d؄Z]dÙdڄZ^dÛd܄Z_dÝdބZ`dßdà„Zaej     
dáe dâƒe dãdädōe dåƒg¡dæd焃Zbdèdé„Zcej     
dêeRjddëdìdíeRjddîdìdädïeRjddðdìdíg¡dñdò„ƒZedódô„Zfdõdö„Zgej    jheijjd÷dø„ƒƒZkdùdú„Zldûdü„Zmej     
dýenjodenjodì g¡dþdÿ„ƒZpej     
dýddg¡dd„ƒZqdd„Zrdd„Zsej    jdetd;d    d
„ƒZud d „Zvej     
dd.ddìgd dgddgddgddgg¡ej     
dddgddgddgg¡dd„ƒƒZwdd„Zxej     
d    d
d ddg¡dd„ƒZyej     
d&d)eedœg¡dd„ƒZzdd„Z{ej     
de|ddìgdd ggddgd!ddgddìgdd ggd"œfe|ddìgdd ggddgd! }d#¡ddgddìgdd ggd"œfe|ddìgdd ggddgddgddggd$ddgddìgdd ggd"œfe<ddìdgd%d&d%ddìdgd'œfe<ddìdgd%d& }d#¡d%ddìdgd'œfe<ddìgd%ddgddggd(d%ddìgd'œfg¡d)d*„ƒZ~ej     
de|ddìgdd ggddgd!e|ddìgdd ggddgd! }d#¡e|ddìgdd ggddgddgddggd$e<ddìdgd%d&e<ddìdgd%d& }d#¡e<ddìgd%ddgddggd(g¡d+d,„ƒZej     
d    d ddd g¡d-d.„ƒZ€ej     
d    d
d/g¡ej     
dd)d'g¡d0d1„ƒƒZd2d3„Z‚ej     
d4d5d6d7d8g¡d9d:„ƒZƒej     
d;d<d=d>d?g¡d@dA„ƒZ„ej     
dBdCdDg¡dEdF„ƒZ…ej     
dGdHdIej†d
d<ej    jdJdSdKej†d/d<ej    jdJdSdKg¡dLdM„ƒZ‡ej     
dNddìdg¡dOdP„ƒZˆej     
dGdQdRdSdTdUdVg¡dWdX„ƒZ‰dYdZ„ZАd[d\„Z‹d]d^„ZŒej     
d_e|ddìdgdddgd`œƒdafg¡dbdc„ƒZej    jhddde„ƒZސdfdg„Zdhdi„Zdjdk„Z‘dldm„Z’ej     
dne<dodpdqdrœƒdsfe<dtdudvdrœƒdwfe|dxdygdzd{ggƒd|fe|d}d~gdd€ggƒdfg¡d‚dƒ„ƒZ“d„d…„Z”ej     
d    d
d d ddg¡d†d‡„ƒZ•ej     
d    d
d dg¡dˆd‰„ƒZ–dАd‹„Z—d.S(ŒÚTestPandasContainercCszt ¡}t|ƒ}dgddgddgddgt|ƒd}tj|dd|_tt|ƒƒ|d<t    j
t|ƒd    d
|d <|S) NZbahéÚbarÚbazÚfooéÚE©ÚnameÚint64©ÚdtypeÚsort) rZ getSeriesDatarrÚpdZCategoricalIndexÚindexÚlistÚreversedÚnpZarange)ÚselfZ_seriesdZ
_cat_frameÚcatrrrÚcategorical_frame)s0z%TestPandasContainer.categorical_framecCs t ¡}d|_|j d¡|_|S)NÚts)rZmakeTimeSeriesr&r,Ú
_with_freq)r0ÚserrrrÚdatetime_series5sz#TestPandasContainer.datetime_seriescCstt ¡ƒ}|j d¡|_|S©N)rrZgetTimeSeriesDatar,r4©r0ÚdfrrrÚdatetime_frame>s z"TestPandasContainer.datetime_framecCsNtddgddggddgddgd    }t|j|d
|d
}| ¡}t|||ƒdS) NÚaÚbÚcÚdz    index " 1z    index / 2za \ bzy / z©r,r©r©rr Úto_jsonÚcopyr©r0rr9rrrrrÚ test_frame_double_encoded_labelsFsýz4TestPandasContainer.test_frame_double_encoded_labelsrÚsplitrrcCsNtddgddggddgddgd}t|j|d    |d    }| ¡}t|||ƒdS)
Nr;r<r=r>éÚxÚyr?r@rArDrrrÚtest_frame_non_unique_indexRs"z/TestPandasContainer.test_frame_non_unique_indexr,rc    CsXtddgddggddgddgd}d    |›d
}tjt|d |j|d W5QRXdS) Nr;r<r=r>rGrHrIr?z+DataFrame index must be unique for orient='ú'©Úmatchr@©rÚpytestÚraisesÚ
ValueErrorrB©r0rr9ÚmsgrrrÚ"test_frame_non_unique_index_raisesZs" z6TestPandasContainer.test_frame_non_unique_index_raisesÚdatar;r<r=r>çø?ç@g @g@rGéÚ20130101Z20130102cCsªt|ddgddgd}t|j|d|dgd}|dkr„t|ƒ}|jdd…dfjd    krš|jdd…df tj¡d
|jdd…df<n|d krš|}dd g|_t     
||¡dS) NrGérHr?r@)rÚ convert_datesrrúdatetime64[ns]é@BrFzx.1) rr rBÚilocr)Úviewr/r'rrr)r0rrUr9rrrrrÚtest_frame_non_unique_columnsas 
ÿ.
z1TestPandasContainer.test_frame_non_unique_columnsc    CsXtddgddggddgddgd}d    |›d
}tjt|d |j|d W5QRXdS) Nr;r<r=r>rGrZrHr?z-DataFrame columns must be unique for orient='rKrLr@rNrRrrrÚ$test_frame_non_unique_columns_raisess" z8TestPandasContainer.test_frame_non_unique_columns_raisescCs| ¡|jddkst‚dS)Nrr@©rBÚAssertionError)r0Ú float_framerrrÚtest_frame_default_orient‡sz-TestPandasContainer.test_frame_default_orientr)FÚ convert_axesTcCs0|j|d}t||||d}|}t|||ƒdS©Nr@©rrfr)©rBr r)r0rrfr)rdrUrrrrrÚtest_roundtrip_simpleŠs z)TestPandasContainer.test_roundtrip_simplecCs0|j|d}t||||d}|}t|||ƒdSrgri)r0rrfr)Ú    int_framerUrrrrrÚtest_roundtrip_intframe”s z+TestPandasContainer.test_roundtrip_intframeNZU3cCsÞtt d¡dd„tdƒDƒdd„tdƒDƒ|d}|j|d}t||||d    }| ¡}|sf| tj¡}|r”|d
kr”|j     tj¡|_    |j
 tj¡|_
n:|d kr²|r²|j     tj¡|_    n|rÎ|d krÎ|j     tj¡|_    t |||ƒdS) N)éÈécSsg|] }t|ƒ‘qSr©Ústr©Ú.0ÚirrrÚ
<listcomp>¡sz?TestPandasContainer.test_roundtrip_str_axes.<locals>.<listcomp>rncSsg|] }t|ƒ‘qSrrorqrrrrt¢srm)rr,r)r@rhr?rrF) rr/ÚzerosrrBr rCÚastyper'rr,r)r0rrfr)r9rUrrrrrÚtest_roundtrip_str_axesœs&ü     z+TestPandasContainer.test_roundtrip_str_axescCsn|dkr&|j tjjd|›dd¡|j|d}t|||d}| ¡}|j     t
¡|_d|j_ t |||ƒdS)Nr?z.Can't have duplicate index values for orient 'z')©Úreasonr@©rrf) ÚnodeÚ
add_markerrOÚmarkÚxfailrBr rCr,rvrpr&r)r0Úrequestrr2rfrUrrrrrÚtest_roundtrip_categorical¼s
ÿÿ z.TestPandasContainer.test_roundtrip_categoricalcCsttƒ}|j|d}t|||d}|dkrLtjg|r6tntd}t||d}n|dkr\tƒ}n| ¡}t     ||¡dS)Nr@rzrFr(r?)
rrBr r+ÚIndexÚfloatÚobjectrCrr)r0rrfZ empty_framerUrÚidxrrrrÚtest_roundtrip_emptyÑs z(TestPandasContainer.test_roundtrip_emptycCs`|j|d}t|||d}| ¡}|sP|j tj¡d}|dkrJ| t¡}||_t    |||ƒdS)Nr@rzr]rF)
rBr rCr,r_r/r'rvrpr)r0rrfr:rUrrr„rrrÚtest_roundtrip_timestampàs 
z,TestPandasContainer.test_roundtrip_timestampc    Cs¢t dddddg¡}dddd    d
gdddddgd d d ddgdddddgdœ}t||d}|j|d}t|||d}| ¡}|jf| d¡ t    j
¡Ž}t |||ƒdS)Nr;r<r=r>Úegçð?ç@ç@ç@Zfoo1Zfoo2Zfoo3Zfoo4Zfoo5TF)ÚAÚBÚCÚD)rUr,r@rzÚnumber) r+rrrBr rCZassignZ select_dtypesrvr/r'r)    r0rrfr,rr9rUrrrrrÚtest_roundtrip_mixedñs    ü  z(TestPandasContainer.test_roundtrip_mixedz9#50456 Column multiindex is stored and loaded differently)ryrPZ2022ZJANZFEBZ2023cCsDtddgddggtj |¡d}t|jdddd}t ||¡dS)NrGrZrXrn©rrFr@)rr+Z
MultiIndexZ from_arraysr rBrr)r0rr9rrrrÚtest_roundtrip_multiindexs 
þz-TestPandasContainer.test_roundtrip_multiindexzdata,msg,orient)z {"key":b:a:d}zExpected object or valuerzO{"columns":["A","B"],"index":["2","3"],"data":[[1.0,"1"],[2.0,"2"],[null,"3"]]}ú|z;Length of values \(3\) does not match length of index \(2\))zW{"columns":["A","B","C"],"index":["1","2","3"],"data":[[1.0,"1"],[2.0,"2"],[null,"3"]]}z+3 columns passed, passed data had 2 columnsrF)zN{"badkey":["A","B"],"index":["2","3"],"data":[[1.0,"1"],[2.0,"2"],[null,"3"]]}zunexpected key\(s\): badkeyrFc    Cs.tjt|dtt|ƒ|dW5QRXdS)NrLr@)rOrPrQr r)r0rUrSrrrrÚ$test_frame_from_json_bad_data_raisess#z8TestPandasContainer.test_frame_from_json_bad_data_raisescCsˆtddgdddggƒ}t|j|d|||d}t |jd¡sBt‚td    d
gd d d ggƒ}t|j|d|||d}t |jd¡s„t‚dS)NrGrZrnrér@rh©rrZÚ1Ú2Ú4Ú5Ú6)rr rBr/Úisnanr^rc)r0rrfr)Znum_dfrZobj_dfrrrÚ!test_frame_from_json_missing_dataAs 
ü
üz5TestPandasContainer.test_frame_from_json_missing_datacCs(td|d}ttjgƒ}t ||¡dS)Nz[null]r()r rr/Únanrr)r0r)rrrrrÚ(test_frame_read_json_dtype_missing_valueVs  z<TestPandasContainer.test_frame_read_json_dtype_missing_valueÚinfcCsHtddgdddggƒ}||jd<t| ¡|d}t |jd¡sDt‚dS)NrGrZrnrr–r—r()rÚlocr rBr/rr^rc)r0r¡r)r9rrrrÚtest_frame_infinity_s
z'TestPandasContainer.test_frame_infinityz$not compliant on 32-bit, xref #15865rxzvalue,precision,expected_val)gffffffî?rGrˆ)g333333ÿ?rGr‰)g333333ÿ¿rGgÀ)g×£p=
×ï?rZrˆ)g–C‹lçûï?rXrˆ)gûÿÿÿÿÿï?r#rˆcCs2td|igƒ}|j|d}|d|›dks.t‚dS)NZa_float)Zdouble_precisionz{"a_float":{"0":ú}}©rrBrc)r0ÚvalueZ    precisionZ expected_valr9ÚencodedrrrÚ"test_frame_to_json_float_precisionis  z6TestPandasContainer.test_frame_to_json_float_precisionc    Cs<tdddgƒ}d}tjt|d|jddW5QRXdS©NrGrZrXz+Invalid value 'garbage' for option 'orient'rLÚgarbager@rN)r0r9rSrrrÚtest_frame_to_json_exceptzsz-TestPandasContainer.test_frame_to_json_exceptcCsftddgd}|jrt‚tjt| ¡t|jƒd|ddtdgigdjd    d
}d }||ksbt‚dS) NÚjimÚjoer’r(F©Úcheck_index_typeÚtest©r,rr@z {"test":{}})    rÚ_is_mixed_typercrrr rBÚdictÚdtypes©r0r9rrrrrÚtest_frame_empty€s
ÿz$TestPandasContainer.test_frame_emptycCsPtddgd}|d d¡|d<|js*t‚tjt| ¡t|j    ƒd|dddS)Nr¬r­r’Úi8r(Fr®)
rrvr²rcrrr rBr³r´r8rrrÚtest_frame_empty_mixedtype‹s
ÿz.TestPandasContainer.test_frame_empty_mixedtypecCsdddddgdddd    d
gd d d ddgdddddgg}t|tdƒdddddgd}|jsZt‚| ¡}dD]*}|j|d}t||dd}t ||¡qft     
t |ƒ¡|_ |jd d}t|d dd}t ||¡t     
|j d¡|_|jd!d}t|d!dd}t ||¡dS)"Né
rGr"皙™™™™¹?g{®Gáz„?érZr gš™™™™™É?g{®Gáz”?érXr!g333333Ó?g¸…ëQ¸ž?é(rnÚquxgš™™™™™Ù?g{®Gáz¤?ZabcdZ1stZ2ndZ3rdZ4thZ5thr?)rFr,rr@Frzrr)rr-r²rcrCrBr rrr+Z
RangeIndexrr,Úshaper)r0Úvalsr9ÚrightrÚinpÚleftrrrÚtest_frame_mixedtype_orient”s0    ü ÿ
    z/TestPandasContainer.test_frame_mixedtype_orientc
    Cst dd¡}tt |¡dd}tddddgdd    d
d gd d ddgddddgddddggddddg|d}tdƒ|d<tdƒ|jd |j     d¡f<|d|d!<tj
|jd"|j     d!¡f<|d#d$d%ƒ}t j   |d&¡}t|ƒ}t ||¡|jd!gd"d'}t j   |d(¡}t|ƒ}    t ||    ¡dS))Nz
2000-01-03z
2000-01-07©ÚfreqgÛ Ã‰àù?gzÙ~Kcå?gäXî7 öü?g˜H/‹Æ¿g±|§Rпgµº¤ƒXª´¿gsõB…f ¿gÇÏëô(Æ¿g±à<¤1=ø?gÎâÅÂ9¾?gàÛôg?ú?gL¤—Å‚
õ¿g¡¦¯J–Qœ¿g½[r?T˜Ü?gj<èDH>Õ?g-þ¾ØÑ¿gI°ÄEæx®?gW!i`y’ÀgP0Æ4‘ô?gè+«]Ñ5Ö?rŒrrŽr©rr,z19920106 18:21:32.12ÚdaterYrXÚmodifiedrGÚioÚjsonrUztsframe_v012.json)Zaxisztsframe_iso_v012.json)r+Ú
date_rangerr/Zasarrayrr
r^rÚget_locÚNaTÚosÚpathÚjoinr rrr)
r0ÚdatapathÚdtir9ÚdirpathZv12_jsonZdf_unserZdf_isoZ v12_iso_jsonZ df_unser_isorrrÚtest_v12_compat²s0 
 
 
 
 
û
÷    z#TestPandasContainer.test_v12_compatcCsîtjdddd}tt|ƒdd}tdddd    d
d d d ddg
ddddddddddg
ddddddd d!d"d#g
d$d%d&d'd(d)d*d+d,d-g
d.d/d0d1d2d3d4d5d6d7g
d8d9d:d;d<d=d>d?d@dAg
dBœ|dC}|j dD¡|_t|jdEdFdEdF}t    j
||dGdGdGdGdHdS)INZ20000101r¹ÚH)ÚperiodsrÆrÅg}S? wí¿gÂôbÍmÇè?gz(~J    ô?gðô1¼å¬ã?gk*¬ÐMã¿gvTçjŽÏ?g7j    " YÒ?gp¢+KS(Àgñ’¬µ£î?gZtÛS¬yð¿i¢L,i_}i4zõiKeáiL&»iÞ%giûÜDiY)Li;ei­DôZ78c608f1Z64a99743Z13d2ff52Zca7f4af2Z97236474Zbde7e214Z1a6bde47Zb1190be5Z7a669144Z8d64d068gD!¸€†í¥¿gIxJ ˆðü¿gÛòµ%â
@g¨PÝ\<è¿gòЍ÷ÛÞ¿gPl‰…ï—ë?gFàzÚnñ?g5mH/ î?gp®Hé%Ÿ¿gáIðö?Z14f04af9Zd085da90Z4bcfac83Z81504cafZ2ffef4a9Z08e2f5c4Z07e1af03Zaddbd4a7Z1f6a09baZ4bfc4d87i¥/iŽÞØiÑYiÛ6i‚IÀi;ª>i¶Á    iÒ(¡i0q{iѪ‰)Zfloat_1Zint_1Zstr_1Zfloat_2Zstr_2Zint_2r±ÚunicoderFr@T)r¯Zcheck_column_typeZ    by_blocksZ check_exact) r+rÌrr-rrrvr rBrr)r0r,Údf_mixedZ df_roundtriprrrÚtest_blocks_compat_GH9037Ðs¤ö ö ö ö ö öÃJµOúz-TestPandasContainer.test_blocks_compat_GH9037c
    CsöGdd„dƒ}d}||ƒ}td|jgiƒ}| ¡d|›dksBt‚td|giƒ}d}tjt|d| ¡W5QRXt|gd    gd
œdd gd }tjt|d| ¡W5QRX|jtd }d|›d}    ||    ksÖt‚|jtd d|›dksòt‚dS)Nc@s(eZdZddœdd„Zedœdd„ZdS)zFTestPandasContainer.test_frame_nonprintable_bytes.<locals>.BinaryThingN©ÚreturncSs||_t |¡|_dSr7)ÚhexedÚbytesÚfromhexÚbinary)r0rÝrrrÚ__init__4szOTestPandasContainer.test_frame_nonprintable_bytes.<locals>.BinaryThing.__init__cSs|jSr7)rÝ©r0rrrÚ__str__8szNTestPandasContainer.test_frame_nonprintable_bytes.<locals>.BinaryThing.__str__)Ú__name__Ú
__module__Ú __qualname__rárprãrrrrÚ BinaryThing3srçZ574b4454ba8c5eb4f98a8f45rŒz {"A":{"0":"ú"}}z6Unsupported UTF-8 sequence length when encoding stringrLrG©rŒrrr’©Údefault_handlerz"},"B":{"0":1}})rrÝrBrcrOrPÚ OverflowErrorrp)
r0rçrÝZbinthingZ df_printableZdf_nonprintablerSrÙrrrrrÚtest_frame_nonprintable_bytes0s&   
 
ÿÿz1TestPandasContainer.test_frame_nonprintable_bytescCs<tdddgddgiƒ ¡}ddd›d}||ks8t‚dS)Nr i †rGr"i9ú{"z":{"0":1},"foo":{"0":1337}}r¥©r0rrrrrÚtest_label_overflowVsz'TestPandasContainer.test_label_overflowc    Cs†tddgddgd}d}tjt|d|jddW5QRXt |t|jd    dd    d
d ¡t|jd dd d
d }t |j    |j    ¡dS) Nr;r<rGr±z.Series index must be unique for orient='index'rLr,r@rFÚseries)rÚtypr)
r    rOrPrQrBrÚassert_series_equalr Zassert_numpy_array_equalr)r0ÚsrSZ unserializedrrrÚtest_series_non_unique_index\sÿ
ÿz0TestPandasContainer.test_series_non_unique_indexcCs| ¡|jddkst‚dS©Nr,r@rb)r0Ú string_seriesrrrÚtest_series_default_orientksz.TestPandasContainer.test_series_default_orientcCsP|j|d}t|d|d}|}|dkr2|jdd}|dkr@d|_t ||¡dS©Nr@rñ©ròr©rrTrrF©rBr rr&rró)r0rr÷rUrrrrrÚtest_series_roundtrip_simplens  z0TestPandasContainer.test_series_roundtrip_simplecCsR|j|d}t|d||d}|}|dkr4|jdd}|dkrBd|_t ||¡dS)Nr@rñ)ròrr)rûTrrFrü)r0rr)Z object_seriesrUrrrrrÚtest_series_roundtrip_objectzs  z0TestPandasContainer.test_series_roundtrip_objectcCs^tggtjd}|j|d}t|d|d}|jdd}|dkrN|j tj¡|_t     ||¡dS)N©r,r)r@rñrúTrrF)
r    r/Úfloat64rBr rr,rvrró)r0rZ empty_seriesrUrrrrrÚtest_series_roundtrip_empty‡s  z/TestPandasContainer.test_series_roundtrip_emptycCsP|j|d}t|d|d}|}|dkr2|jdd}|dkr@d|_t ||¡dSrùrü)r0rr6rUrrrrrÚ test_series_roundtrip_timeseries’s  z4TestPandasContainer.test_series_roundtrip_timeseriescCsbttdƒddddddgd}|j|d    }t|d
|d }| ¡}|d krR|jd d}t ||¡dS)Nr–r;r<r=r>r‡Úfr±r@rñrúrûTr)r    rrBr rCrrró)r0rr)rôrUrrrrrÚtest_series_roundtrip_numericžs  z1TestPandasContainer.test_series_roundtrip_numericc    Cs<tdddgƒ}d}tjt|d|jddW5QRXdSr©)r    rOrPrQrB)r0rôrSrrrÚtest_series_to_json_exceptªsz.TestPandasContainer.test_series_to_json_exceptcCs4tdddgƒ}t| ¡ddd}tj||dddS)Nç=
×£p=@rñT)ròÚ precise_floatFr®)r    r rBrró©r0rôrrrrÚ#test_series_from_json_precise_float°sz7TestPandasContainer.test_series_from_json_precise_floatcCs@tdddgƒ}t| ¡dtjd}tdgdƒ}t ||¡dS)Nrrñ©ròr)rnrX)r    r rBr/r'rró)r0rôrrrrrÚtest_series_with_dtypeµsz*TestPandasContainer.test_series_with_dtypezdtype,expectedú
2000-01-01r\r(l,ŸUqcCs4tdgdd}| ¡}t|d|d}t ||¡dS)Nr r\r(rñr
)r    rBr rró)r0r)rrôrUrrrrÚtest_series_with_dtype_datetime¼sz3TestPandasContainer.test_series_with_dtype_datetimecCs8tdddgdddggƒ}t| ¡dd}t ||¡dS)NrT)r©rr rBrr©r0r9rrrrÚ"test_frame_from_json_precise_floatÉsz6TestPandasContainer.test_frame_from_json_precise_floatcCs>ttdƒddddddgdd    }t| ¡dd
}t ||¡dS) Nr–r;r<r=r>r‡rr'rÿ©rò)r    rr rBrrórrrrÚtest_typÎszTestPandasContainer.test_typcCsptdddgdddggƒ}t| ¡ƒ}t ||¡tdddgdddgdœdd    d
gd }t| ¡ƒ}t ||¡dS) NrGrZrXrnrr–©r;r<rŒrrŽr±rrrrrÚtest_reconstruction_indexÓs   $ z-TestPandasContainer.test_reconstruction_indexc    Cs<t d¡(}|||fD]}| |¡t|ƒqW5QRXdS)Nú    test.json)rÚ ensure_cleanrBr )r0rdrkr:rÐr9rrrÚ    test_pathÝs 
zTestPandasContainer.test_pathcCsR| ¡}t|ƒ}t ||¡| ¡}t|dd}tj||dd|jdksNt‚dS)NrñrF)Z check_names)rBr rrrór&rc)r0r6r:rËrrrrÚtest_axis_datesãs  z#TestPandasContainer.test_axis_datescCs¼|}tdƒ|d<| ¡}t|ƒ}t ||¡d|d<|jdd}t|dd}| ¡}|dj d    ¡|d<|d d
¡|d<t ||¡t    tdƒ|j
d }| ¡}t|d d }t  ||¡dS)NrYrÈrˆr"Úns©Ú    date_unitF©r[r·r'r±rñr) r
rBr rrrCrr_rvr    r,ró)r0r6r:r9rËrrr3rrrÚtest_convert_datesïs       z&TestPandasContainer.test_convert_datesÚ date_formatÚepochÚisoÚ    as_objectÚdate_typcCsl|ddddtjg}|r"| d¡t||d}|j|d}|dkrHd}nd    }|r\| d
d ¡}||ksht‚dS) NiärG)ÚyearÚmonthÚdayr;r±©rrz+{"1577836800000":1577836800000,"null":null}zA{"2020-01-01T00:00:00.000":"2020-01-01T00:00:00.000","null":null}Ú}ú    ,"a":"a"})r+rÎÚappendr    rBÚreplacerc)r0rr!r"rUr5rrrrrÚtest_date_index_and_valuess
  ÿ z.TestPandasContainer.test_date_index_and_valuesÚ
infer_wordZ
trade_timerÈÚdatetimeZsold_atrÉÚ    timestampZ
timestampscCsfddlm}dd|diddig}tdtdƒgdtjggd|gd}t||ƒƒd|g}t ||¡dS)    Nr©ÚdumpsÚidrGl$äAÅrZz
2002-11-08r’)    Úpandas.io.jsonr0rr
r+rÎr rr)r0r,r0rUrrrrrÚtest_convert_dates_infers ÿz,TestPandasContainer.test_convert_dates_inferzdate,date_unit)ú20130101 20:43:42.123N)ú20130101 20:43:42rô)r4Úms)z20130101 20:43:42.123456Úus)z20130101 20:43:42.123456789rcCs€|}t|ƒ|d<tj|jd|j d¡f<tj|jd|j d¡f<|rT|jd|d}n |jdd}t|ƒ}| ¡}t     
||¡dS)NrÈrGrr ©rrr&) r
r+rÎr^rrÍrBr rCrr)r0rÈrr:r9rËrrrrrÚtest_date_format_frame5s   z*TestPandasContainer.test_date_format_framec    Cs4|}d}tjt|d|jdddW5QRXdS)Nú*Invalid value 'foo' for option 'date_unit'rLr r"r8)rOrPrQrB)r0r:r9rSrrrÚtest_date_format_frame_raisesMsz1TestPandasContainer.test_date_format_frame_raisescCsntt|ƒ|jd}tj|jd<tj|jd<|r>|jd|d}n |jdd}t|dd}| ¡}t     
||¡dS)    Nr±rGrr r8r&rñr) r    r
r,r+rÎr^rBr rCrró)r0rÈrr6r3rËrrrrrÚtest_date_format_seriesSs     z+TestPandasContainer.test_date_format_seriesc    CsBttdƒ|jd}d}tjt|d|jdddW5QRXdS)Nr4r±r:rLr r"r8)r    r
r,rOrPrQrB)r0r6r3rSrrrÚtest_date_format_series_raisesisz2TestPandasContainer.test_date_format_series_raisesÚunitrôr6r7rcCs’|}tdƒ|d<|j d¡}tdƒ|jd|f<tdƒ|jd|f<tj|jd|f<|jd|d    }t||d
}t     ||¡t|dd
}t     ||¡dS) Nr5rÈz19710101 20:43:42rGz21460101 20:43:42rZrnrr8r)
r
rrÍr^r+rÎrBr rr)r0r>r:r9ÚdlrËrrrrÚtest_date_unitos     z"TestPandasContainer.test_date_unitcCsd}t|ƒdS)Nad{
        "status": "success",
        "data": {
        "posts": [
            {
            "id": 1,
            "title": "A blog post",
            "body": "Some useful content"
            },
            {
            "id": 2,
            "title": "Another blog post",
            "body": "More content"
            }
           ]
          }
        })r )r0rôrrrÚtest_weird_nested_json‚sz*TestPandasContainer.test_weird_nested_jsoncCsxttj dd¡tdƒd}tdƒ|d<tdƒ|d<d|d    <tjddd
|_    | 
¡}t |tj tj d œd }t ||¡dS) NrrZZABr’rYrÈÚintsTÚbools©r×)rBrCr()rr/ÚrandomÚrandnr-r
rr+rÌr,rBr r'Zbool_rr)r0Zdfj2rËrrrrÚtest_doc_example˜s  z$TestPandasContainer.test_doc_examplecCsF|ddddƒ}t |¡}| ¡}t|ƒ}t |j|j|jd|¡dS)NrÊrËrUz    teams.csvr?)    r+Zread_csvrBr rrZreindexr,r)r0rÒrÐr9rôrrrrÚtest_round_trip_exception_£s
 
z.TestPandasContainer.test_round_trip_exception_ú@https://api.github.com/repos/pandas-dev/pandas/issues?per_page=5)ÚurlZcheck_before_testz field,dtypeZ
created_atÚUTC©ÚtzZ    closed_atZ
updated_atcCs&d}t|dd}||j|ks"t‚dS)NrITr)r r)rc)r0Úfieldr)rJrrrrÚtest_url«s zTestPandasContainer.test_urlcCsèdd„}ttdƒtddgƒ}|jdks,t‚t| ¡dd |¡}t ||¡ttdƒtddgt     
d    d
g¡d }|jdks€t‚t| ¡dd |¡}t ||¡t tdƒtddgƒ}|d    jdksÊt‚t  |t| ¡ƒ |¡¡dS) NcSstj|ddS)Nr6©r>)r+Ú to_timedelta)rHrrrÚ<lambda>¾óz4TestPandasContainer.test_timedelta.<locals>.<lambda>ér©Úsecondsztimedelta64[ns]rñrrrGr±) r    rr)rcr rBÚapplyrrór+rrr)r0Ú    converterr5rÚframerrrÚtest_timedelta½s $ z"TestPandasContainer.test_timedeltacCsrttddtddgddgtjdddd    œƒ}t|jd
d ƒ}tj|jd
d |d <t |j    ¡|d<t
  ||¡dS)NrT©ÚdaysrrUrGrZrY)Ústartrשr;r<r=rrrPr;r=) rrr+rÌr rBrQr;Ú to_datetimer=rr)r0rYrrrrÚtest_timedelta2Ïs ýÿz#TestPandasContainer.test_timedelta2cCsvtdƒ}tdƒ}td||gitd}tdt |¡ d¡j| d¡jgiƒ}t|j    ddddid}t
j ||dd    dS)
NrTrYr;r(rrr'Fr®) rr
rrƒr+Ú    TimedeltaZas_unitÚ_valuer rBrr)r0Útdr3rYrrrrrÚtest_mixed_timedelta_datetimeÝs ÿz1TestPandasContainer.test_mixed_timedelta_datetimeÚ timedelta_typcCsp|dd|ddtjg}|r&| d¡t||d}|dkr@d}nd}|rT| d    d
¡}|j|d }||kslt‚dS) NrGr[rZr;r±r zA{"P1DT0H0M0S":"P1DT0H0M0S","P2DT0H0M0S":"P2DT0H0M0S","null":null}z7{"86400000":86400000,"172800000":172800000,"null":null}r'r(r&)r+rÎr)r    r*rBrc)r0r!rrerUr5rrrrrÚtest_timedelta_to_jsonès
 ÿ  z*TestPandasContainer.test_timedelta_to_jsoncCsNtƒ}tdd|giƒ}tddt|ƒgiƒ}t|jtdƒ}tj||dddS)Nr;érêFr®)rƒrrpr rBrr)r0r¦rYrrrrrÚtest_default_handlerÿs
z(TestPandasContainer.test_default_handlercCsbddlm}dd„}dtddtdd    ƒgtd
ƒdd gd œd dgdg}d}|||dd|ks^t‚dS)Nrr/cSs(t|tƒr dd|jfd|jfgSt|ƒS)N)ZmathjsÚComplexÚreZim)Ú
isinstanceÚcomplexÚrealÚimagrp©ÚobjrrrÚdefault    s
zBTestPandasContainer.test_default_handler_indirect.<locals>.defaulté    rGZSTRrnéûÿÿÿrŸzN/Arr;r<r’zR[9,[[1,null],["STR",null],[[["mathjs","Complex"],["re",4.0],["im",-5.0]],"N\/A"]]]r©rër)r2r0rrlr‚rc)r0r0rqZdf_listrrrrÚtest_default_handler_indirects þþÿz1TestPandasContainer.test_default_handler_indirectcCsPtddtddƒgtdƒdtddƒgdœd    d
gd }d }|jtd d|ksLt‚dS)NrGgffffff@rnrsrŸg333333ó?rrr;r<r’zE[["(1+0j)","(nan+0j)"],["(2.3+0j)","(nan+0j)"],["(4-5j)","(1.2+0j)"]]rrt)rrlr‚rBrprc)r0r9rrrrÚ,test_default_handler_numpy_unsupported_dtypes$þÿz@TestPandasContainer.test_default_handler_numpy_unsupported_dtypec    s„d‰‡fdd„}tjtˆd"tdddtƒgiƒj|dW5QRXtjtˆd&tdddtd    d
ƒgiƒj|dW5QRXdS) NZraisincs tˆƒ‚dSr7)Ú    TypeErrorro©rSrrÚmy_handler_raises+szJTestPandasContainer.test_default_handler_raises.<locals>.my_handler_raisesrLr;rGrZrêrnrs)rOrPrwrrƒrBrl)r0ryrrxrÚtest_default_handler_raises(s ÿÿz/TestPandasContainer.test_default_handler_raisesc    Csxtddddddddgiƒ}|d|d<| ¡}|d d¡|d<|| ¡ksPt‚|d}|d}| ¡| ¡kstt‚dS)NrŒr;r<r=rÚcategory)rrBrvrc)r0r9rrôZscrrrÚtest_categorical7s z$TestPandasContainer.test_categoricalcCsˆtjdddd}| d¡ d¡}t|tjddddœƒ}| ¡}||d<| ¡}|| ¡ks`t‚t|ƒ}t|ƒ}| ¡| ¡ks„t‚dS)    NrYrXú
US/Eastern©r×rMÚutcrDrérŒ)    r+rÌZ
tz_convertZ tz_localizerrCrBrcr    )r0Útz_rangeZtz_naiver9Zdf_naiverZstzZs_naiverrrÚtest_datetime_tzDsz$TestPandasContainer.test_datetime_tzcCsŠttj dd¡ƒ}tj|jdd…<| d¡}| ¡}|| ¡ksDt‚t    tj d¡ƒ}tj|jdd…<| d¡}| ¡}|| ¡ks†t‚dS)Nr¹rnéZSparse)
rr/rErFrŸr¢rvrBrcr    )r0r9ZsdfrrôÚssrrrÚ test_sparseTs
 
zTestPandasContainer.test_sparser3z2013-01-10 05:00:00Zz2013-01-10 00:00:00r}z2013-01-10 00:00:00-0500cCsDddlm}d}||dd|ks$t‚| ¡}||dd|ks@t‚dS)Nrr/z"2013-01-10T05:00:00.000Z"T©Z    iso_dates)r2r0rcÚ to_pydatetime)r0r3r0ÚexpÚdtrrrÚtest_tz_is_utcds
     z"TestPandasContainer.test_tz_is_utccCsLddlm}tdƒ}d}||dd|ks,t‚| ¡}||dd|ksHt‚dS)Nrr/z2013-01-10 05:00:00z"2013-01-10T05:00:00.000"Tr…)r2r0r
rcr†)r0r0r3r‡rˆrrrÚtest_tz_is_naiveus  z$TestPandasContainer.test_tz_is_naiver€z2013-01-01 05:00:00ZrZrDz2013-01-01 00:00:00r~z2013-01-01 00:00:00-0500cCs ddlm}d}d}||dd|ks(t‚t|ƒ}||dd|ksDt‚|| t¡dd|ks^t‚td|iƒ}||dd}||ks‚t‚|| dti¡ddsœt‚dS)Nrr/z7["2013-01-01T05:00:00.000Z","2013-01-02T05:00:00.000Z"]zF{"DT":{"0":"2013-01-01T05:00:00.000Z","1":"2013-01-02T05:00:00.000Z"}}Tr…ÚDT)r2r0rcrrvrƒr)r0r€r0r‡ÚdfexprÓr9rrrrÚtest_tz_range_is_utcs     ÿ   z(TestPandasContainer.test_tz_range_is_utccCs’ddlm}tjddd}d}d}||dd    |ks6t‚|| t¡dd    |ksPt‚td
|iƒ}||dd    }||kstt‚|| d
ti¡dd    sŽt‚dS) Nrr/z2013-01-01 05:00:00rZrDz5["2013-01-01T05:00:00.000","2013-01-02T05:00:00.000"]zD{"DT":{"0":"2013-01-01T05:00:00.000","1":"2013-01-02T05:00:00.000"}}Tr…r‹)r2r0r+rÌrcrvrƒr)r0r0rÓr‡rŒr9rrrrÚtest_tz_range_is_naiveœs    z*TestPandasContainer.test_tz_range_is_naivecCs8tddd}tddgddggddgd}t ||¡dS)    Nú!{"a": 1, "b": 2}
{"b":2, "a" :1}
T©ÚlinesrGrZr;r<r’©r rrrrïrrrÚtest_read_inline_jsonl­s z*TestPandasContainer.test_read_inline_jsonlcCs:tdd|d}tddgddggddgd}t ||¡dS)    Nzs3n://pandas-test/items.jsonlT)r‘Ústorage_optionsrGrZr;r<r’r’)r0Ú s3_resourceÚs3sorrrrrÚtest_read_s3_jsonl³sÿz&TestPandasContainer.test_read_s3_jsonlc
Csnt d¡Z}t|dƒ}| d¡W5QRXt|dd}tddgddggdd    gd
}t ||¡W5QRXdS) Nztmp_items.jsonÚwrTrrGrZr;r<r’)rrÚopenÚwriter rr)r0rÐÚinfilerrrrrÚtest_read_local_jsonl¾s    z)TestPandasContainer.test_read_local_jsonlcCs|d}t|ƒ}t|dd}tddgddggddgd    }t ||¡d}t|dd}tddgddggddgd    }t ||¡dS)
Nu5{"a": "foo”", "b": "bar"}
{"a": "foo", "b": "bar"}
Trufoo”r r"r;r<r’)rr rrr©r0rËrrrrrÚtest_read_jsonl_unicode_charsÇs   z1TestPandasContainer.test_read_jsonl_unicode_charsÚbigNumcCspt|tdgd}| ¡}dt|ƒd}||ks4t‚t|tdgdgd}| ¡}dt|ƒd}||kslt‚dS)    NÚ    articleId)r)r,ú {"articleId":r'r)r)r,rú{"0":{"articleId":r¤)r    rƒrBrprcr)r0rŸrñrËrr9rrrÚtest_to_json_large_numbersØs z.TestPandasContainer.test_to_json_large_numberslûÿÿÿlc    Csttdt|ƒdƒ}d}tjt|dt|ƒW5QRXtdt|ƒdƒ}tjt|dt|ƒW5QRXdS)Nr¡r'z#Value is too small|Value is too bigrLr¢r¤)rrprOrPrQr )r0rŸrËrSrrrÚtest_read_json_large_numbersåsz0TestPandasContainer.test_read_json_large_numberscCshd}t|ƒ}t|dd}tddgd}t ||¡d}t|ƒ}t|ƒ}tddgdgd    }t ||¡dS)
Nz'{"articleId": "1404366058080022500245"}rñrgg“_SDr r±z.{"0": {"articleId": "1404366058080022500245"}}rr?)rr r    rrórrrrrrÚtest_read_json_large_numbers2ñs  z1TestPandasContainer.test_read_json_large_numbers2cCsÚtddgddggddgd}|jddd}d    }||ks:t‚td
d gd d ggddgd}|jddd}d }||kstt‚t t|dd|¡tdd gd d ggddgd}|jddd}d}||ksÂt‚t t|dd|¡dS)NrGrZr;r<r’rT)rr‘z{"a":1,"b":2}
{"a":1,"b":2}
zfoo}r zfoo"z/{"a":"foo}","b":"bar"}
{"a":"foo\"","b":"bar"}
rzfoo\za\z4{"a\\":"foo\\","b":"bar"}
{"a\\":"foo\"","b":"bar"}
)rrBrcrrr rµrrrÚ test_to_jsonlÿs   z!TestPandasContainer.test_to_jsonlz%GH#13774 encoding kwarg not supportedc CsÈdddddgddddgdddddgdddddgddddgddddgdddddgtjdddgdtjdddgg    }d    d
„|Dƒ}g}d tfD] }|D]}| t||d ¡qŽq†ddd„}|D] }||ƒq¶dS)NsEÉ, 17rSóaóbócsEE, 17søüsAøücSsg|]}dd„|Dƒ‘qS)cSs$g|]}t|tƒr| d¡n|‘qS)úlatin-1)rkrÞÚdecode)rrrHrrrrt$szFTestPandasContainer.test_latin_encoding.<locals>.<listcomp>.<listcomp>r)rrrIrrrrt#sÿz;TestPandasContainer.test_latin_encoding.<locals>.<listcomp>r{r(rªc    SsDt d¡0}|j||dt||d}tj||ddW5QRXdS)Nr)ÚencodingF)Zcheck_categorical)rrrBr ró)rôr¬rÐZretrrrrÚ    roundtrip-s  z:TestPandasContainer.test_latin_encoding.<locals>.roundtrip)rª)r/rŸrƒr)r    )r0rZexamplesr)Úvalr­rôrrrÚtest_latin_encodings( 
 
 
  ÷ þ 
z'TestPandasContainer.test_latin_encodingcCsNtdtdƒgiƒ}|jddd ¡}| ¡|jddd ¡}||ksJt‚dS)Nr;rGT)r,Údeep)rrpZ memory_usageÚsumrBrc)r0r9Z size_beforeZ
size_afterrrrÚ"test_data_frame_size_after_to_json6s
z6TestPandasContainer.test_data_frame_size_after_to_jsonrˆr‰r˜r™ú1.ú2.cCsBtddgddgg||d}|jdd}t|dd}t ||¡dS)NrGrZrXrnr?Útabler@©rrBr rr)r0r,rrÚdfjsonrrrrÚ.test_from_json_to_json_table_index_and_columns@s  zBTestPandasContainer.test_from_json_to_json_table_index_and_columnscCsDtddgddgddgdœƒ}|jdd    }t|dd    }t ||¡dS)
NrGrZrŠr‹r›rœr^rµr@r¶)r0rr·rrrrÚ#test_from_json_to_json_table_dtypesKs  z7TestPandasContainer.test_from_json_to_json_table_dtypesc Cs¤t tdddgddtdddgddtdd    d
gd dtd d d gddtdddgddtdddgdddœ¡}|j|d}t||ddd ddddœd}t ||¡dS)NrGrZrXr'r(r‰rŠrÚr=rƒTFÚboolr;r<r{z
2020-01-01z
2020-01-03r\)ZIntegerZFloatZObjectZBoolZCategoryZDatetimer@©rr))rÚ    from_dictr    rBr rr)r0rrr·rrrrÚ%test_to_json_from_json_columns_dtypesRs2ÿúÿ úý z9TestPandasContainer.test_to_json_from_json_columns_dtypes)r<r=c    CsXtddgddgddgdœƒ}|jdd    }d
}tjt|d t|d|d W5QRXdS) NrGrZrŠr‹r›rœr^rµr@z)cannot pass both dtype and orient='table'rLr¼©rrBrOrPrQr )r0r)r9r·rSrrrÚ!test_read_json_table_dtype_raisesps
 z5TestPandasContainer.test_read_json_table_dtype_raisesc    Cs^tddgddggddgddgd    }|jd
d }d }tjt|d t|d
ddW5QRXdS)NrGrZrXrnrˆr‰r³r´r?rµr@z0cannot pass both convert_axes and orient='table'rLTrzr¿)r0r9r·rSrrrÚ(test_read_json_table_convert_axes_raisesys
" z<TestPandasContainer.test_read_json_table_convert_axes_raiseszdata, expectedrnrr’)rrUr"rÇrŒr%)r&rU)r&r,cCs(|jddd}t |¡}||ks$t‚dS)NrFF©rr,)rBrËÚloadsrc©r0rUrrrrrÚtest_index_false_to_json_splits 
z2TestPandasContainer.test_index_false_to_json_splitcCsL|jddd}t |¡}tjjj|ddt|ƒjdddœ}||ksHt‚dS)NrµFrÂr±rr@)ZschemarU)    rBrËrÃr+rÊZbuild_table_schemarÚto_dictrc©r0rUrrrrrÚtest_index_false_to_json_table¦s 
þz2TestPandasContainer.test_index_false_to_json_tablec    CsLtddgddggddgd}d}tjt|d    |j|d
d W5QRXdS) NrGrZrnrr;r<r’z?'index=False' is only valid when 'orient' is 'split' or 'table'rLFrÂrNrRrrrÚtest_index_false_error_to_jsonÃsz2TestPandasContainer.test_index_false_error_to_jsonrµcCs@tddgddgdœƒ}|j||d}t||d}t ||¡dS)NrGrZrXrnrrÂr@r¶)r0rr,rr·rrrrÚ"test_index_false_from_json_to_jsonÎs z6TestPandasContainer.test_index_false_from_json_to_jsoncCs6tdddd}tdgtdgddd    }t ||¡dS)
Nz{"2019-01-01T11:00:00.000Z":88}rñr,rúéXz2019-01-01 11:00:00rKrLr±)r r    rrrórïrrrÚtest_read_timezone_informationØsÿz2TestPandasContainer.test_read_timezone_informationrJzs3://example-fsspec/zgcs://another-fsspec/file.jsonzhttps://example-site.com/datazsome-protocol://data.txtcCs.td|›dƒ}td|giƒ}t ||¡dS)Nz {"url":{"0":"rèrJr’)r0rJrrrrrÚtest_read_json_with_url_valueàs z1TestPandasContainer.test_read_json_with_url_valueÚ compressionrºz.gzz.bz2z.tarc    Cs<d›d|›}tjtd|›ddt|ƒW5QRXdS)NAèaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz.jsonzFile z does not existrL)rOrPÚFileNotFoundErrorr )r0rÎZlong_json_pathrrrÚ'test_read_json_with_very_long_file_pathïs 
ÿz;TestPandasContainer.test_read_json_with_very_long_file_pathzdate_format,key)ri\&)r Z
P1DT0H0M0ScCs@tdggt d¡gd}d|›d}|j|d}||ks<t‚dS)NrGZ1Dr’rîz
":{"0":1}}r&)rr+rarBrc)r0rÚkeyr9rrrrrÚtest_timedelta_as_labelýs  z+TestPandasContainer.test_timedelta_as_labelzorient,expected)r,z{"('a', 'b')":{"('c', 'd')":1}})rz{"('c', 'd')":{"('a', 'b')":1}}z,Produces JSON but not in a consistent manner)ZmarkscCs2tdggdgdgd}|j|d}||ks.t‚dS)NrGr)r=r>r?r@r¥©r0rrr9rrrrÚtest_tuple_labelss z%TestPandasContainer.test_tuple_labelsÚindentcCs†tddgddggddgd}|j|d}d    |}d
|›d |›|›d |›|›d |›d|›d|›|›d|›|›d|›d}||ks‚t‚dS)Nr"r r!r¾r;r<r’©rÕú z{
z"a":{
z "0":"foo",
z
"1":"baz"
z},
z"b":{
z "0":"bar",
z
"1":"qux"
z}
}r¥)r0rÕr9rÚspacesrrrrÚtest_to_json_indent#s: ÿÿÿÿÿÿÿÿÿÿÿÿ z'TestPandasContainer.test_to_json_indent)rFzã{
    "columns":[
        "a",
        "b"
    ],
    "index":[
        0,
        1
    ],
    "data":[
        [
            "foo",
            "bar"
        ],
        [
            "baz",
            "qux"
        ]
    ]
})rzf[
    {
        "a":"foo",
        "b":"bar"
    },
    {
        "a":"baz",
        "b":"qux"
    }
])r,zn{
    "0":{
        "a":"foo",
        "b":"bar"
    },
    "1":{
        "a":"baz",
        "b":"qux"
    }
})rzn{
    "a":{
        "0":"foo",
        "1":"baz"
    },
    "b":{
        "0":"bar",
        "1":"qux"
    }
})rzV[
    [
        "foo",
        "bar"
    ],
    [
        "baz",
        "qux"
    ]
])rµaa{
    "schema":{
        "fields":[
            {
                "name":"index",
                "type":"integer"
            },
            {
                "name":"a",
                "type":"string"
            },
            {
                "name":"b",
                "type":"string"
            }
        ],
        "primaryKey":[
            "index"
        ],
        "pandas_version":"1.4.0"
    },
    "data":[
        {
            "index":0,
            "a":"foo",
            "b":"bar"
        },
        {
            "index":1,
            "a":"baz",
            "b":"qux"
        }
    ]
}cCs:tddgddggddgd}|j|dd    }||ks6t‚dS)
Nr"r r!r¾r;r<r’rn)rrÕr¥rÓrrrÚtest_json_indent_all_orients7swz0TestPandasContainer.test_json_indent_all_orientsc    Cs,tjtddtƒjddW5QRXdS)Nzmust be a nonnegative integerrLéÿÿÿÿrÖ)rOrPrQrrBrârrrÚ test_json_negative_indent_raises²sz4TestPandasContainer.test_json_negative_indent_raisescCs:d}t|ƒ}tdtjdtjdtj dgƒ}t ||¡dS)Nz?["a", NaN, "NaN", Infinity, "Infinity", -Infinity, "-Infinity"]r;ÚNaNÚInfinityz    -Infinity)r rr/rŸr¡rrrÇrrrÚtest_emca_262_nan_inf_support¶s ÿz1TestPandasContainer.test_emca_262_nan_inf_supportcCs>t ddiddig¡}tdddgiƒ}t|ƒ}t ||¡dS)NÚcolZ31900441201190696999ÚText)rËr0rr rr)r0Z encoded_jsonrrrrrÚtest_frame_int_overflow¿sz+TestPandasContainer.test_frame_int_overflowzdataframe,expected©rHrIzU{"(0, 'x')":1,"(0, 'y')":"a","(1, 'x')":2,"(1, 'y')":"b","(2, 'x')":3,"(2, 'y')":"c"}cCs$| ¡}|jdd}||ks t‚dSrö)ÚstackrBrc)r0Z    dataframerrñrrrrÚtest_json_multiindexÆs  z(TestPandasContainer.test_json_multiindexcCsˆd\}}tdddgdddgdœƒ}|jd|›d    |›|d
d }|d d „| d¡j ¡Dƒkr`q„t d¡|d8}|dks@tdƒ‚q@dS)N)ú pandas-testrrGrZrXrnr–rãzs3://ú/)r”rcss|] }|jVqdSr7)rÑ)rrrprrrÚ    <genexpr>Ýsz1TestPandasContainer.test_to_s3.<locals>.<genexpr>rærºrz,Timed out waiting for file to appear on moto)rrBZBucketZobjectsÚallÚtimeÚsleeprc)r0r•r–Zmock_bucket_nameZ target_filer9ÚtimeoutrrrÚ
test_to_s3Õsÿ
zTestPandasContainer.test_to_s3cCsDt|tƒr$tjjdd}|j |¡t|ggƒ ¡}|dks@t    ‚dS)Nznot implementedrxz{"0":{"0":null}})
rkrrOr}r~r{r|rrBrc)r0Z nulls_fixturerr}rrrrÚtest_json_pandas_nullsås
 
 z*TestPandasContainer.test_json_pandas_nullscCs*tddd}tdddgƒ}t ||¡dS)Nz[true, true, false]rñrTF)r r    rrórïrrrÚtest_readjson_bool_seriesîs z-TestPandasContainer.test_readjson_bool_seriescCs:tdt dd¡ddgd ¡}| ¡}d}||ks6t‚dS)NTz
2017-01-20z
2017-01-23r"r r?a‰{"(Timestamp('2017-01-20 00:00:00'), 'foo')":true,"(Timestamp('2017-01-20 00:00:00'), 'bar')":true,"(Timestamp('2017-01-21 00:00:00'), 'foo')":true,"(Timestamp('2017-01-21 00:00:00'), 'bar')":true,"(Timestamp('2017-01-22 00:00:00'), 'foo')":true,"(Timestamp('2017-01-22 00:00:00'), 'bar')":true,"(Timestamp('2017-01-23 00:00:00'), 'foo')":true,"(Timestamp('2017-01-23 00:00:00'), 'bar')":true})rr+rÌrärBrcrµrrrÚtest_to_json_multiindex_escapeôs
ý
ÿ
z2TestPandasContainer.test_to_json_multiindex_escapecCsJGdd„dƒ}t|dddddgƒ}t | ¡¡ddddd    œiksFt‚dS)
Nc@s"eZdZddœdd„Zdd„ZdS)zGTestPandasContainer.test_to_json_series_of_objects.<locals>._TestObjectNrÛcSs||_||_||_||_dSr7©r;r<Ú_cr>)r0r;r<ròr>rrrrá
szPTestPandasContainer.test_to_json_series_of_objects.<locals>._TestObject.__init__cSsdS)Nrrrârrrr‡szITestPandasContainer.test_to_json_series_of_objects.<locals>._TestObject.e)rärårærár‡rrrrÚ _TestObject    srórGrZrXrnrñÚ0)r;r<r>)r    rËrÃrBrc)r0rórñrrrÚtest_to_json_series_of_objectss z2TestPandasContainer.test_to_json_series_of_objectsz data,expectedyÀ @yð?y"@À)rrGrZzW{"0":{"imag":8.0,"real":-6.0},"1":{"imag":1.0,"real":0.0},"2":{"imag":-5.0,"real":9.0}}yHáz®Ç"À…ëQ¸å?yš™™™™™@¤p=
×£"@y…ëQ¸@Ãõ(\ÂÅ¿z]{"0":{"imag":0.66,"real":-9.39},"1":{"imag":9.32,"real":3.95},"2":{"imag":-0.17,"real":4.03}}yÀ@yð¿y@Ày$Àz‚{"0":{"0":{"imag":3.0,"real":-2.0},"1":{"imag":-3.0,"real":4.0}},"1":{"0":{"imag":0.0,"real":-1.0},"1":{"imag":-10.0,"real":0.0}}}yìQ¸…ëÑ¿Ãõ(\ÂÕ?yHáz®Gñ¿ö(\ÂõØ¿y=
×£p=Ú?Ãõ(\ÂÕ¿yö(\Âõ迚™™™™™õ¿z‹{"0":{"0":{"imag":0.34,"real":-0.28},"1":{"imag":-0.34,"real":0.41}},"1":{"0":{"imag":-0.39,"real":-1.08},"1":{"imag":-1.35,"real":-0.78}}}cCs| ¡}||kst‚dSr7rbrÄrrrÚtest_complex_data_tojsons#z,TestPandasContainer.test_complex_data_tojsoncCs2d}tdddgid}|jdd}||ks.t‚dS)NzY{"columns":["col1"],"index":[0,1],"data":[[13342205958987758245],[12388075603347835679]]}Zcol1l¥:!c„&HI l v8$Z_
)rUrFr@r¥)r0rr9rrrrÚtest_json_uint64=s
ÿ z$TestPandasContainer.test_json_uint64c     sÞt d¡‰ttdtjdgddtdddgddtdtjdgd    dtdd
dgd    dd d dgd d d gd ddgd ddgdœƒ}|dkr¶ttjd ddgtjdƒ}ttjd dt    gtjdƒ}n(t
ˆ d ddg¡ƒ}t
ˆ d ddg¡ƒ}|j |d}t   d|¡t|||d}W5QRXttdtjdgddtdddgddtdtjdgd    dtdd
dgd    dtd d t    gddtd d d gdd||dœƒ‰|dkr´ddlm‰t‡‡‡fdd„ˆjDƒƒ‰|dkrÎttddƒƒˆ_t |ˆ¡dS)NÚpyarrowrGrXÚInt64r(rZrVrWZFloat64r‰TFr;r<r=)r;r<r=r>r‡rÚgÚhÚpythonr@úmode.string_storage)Ú dtype_backendrÚbooleanr©ÚArrowExtensionArraycs$i|]}|ˆˆjˆ|ddƒ“qS)T©Z from_pandas)Úarray)rrrà©rrÚparrÚ
<dictcomp>wsÿzDTestPandasContainer.test_read_json_dtype_backend.<locals>.<dictcomp>rr‚)rOÚ importorskiprr    r/rŸr rZobject_rr rBr+Úoption_contextr Ú pandas.arraysrrr-rrr)    r0Ústring_storagerþrr9Z string_arrayZstring_array_naÚoutrrrrÚtest_read_json_dtype_backendGsR
øÿ  øÿ
 þÿ
z0TestPandasContainer.test_read_json_dtype_backendc
    Cs t d¡}tdtjdgdd}|j|d}t d|¡t|||dd    }W5QRXtdtjdgdd}|dkrd
d l    m
}    t|    |j |d d ƒƒ}t   ||¡dS)NrørGrXrùr(r@rýrñ)rþrròrrTr)rOrr    r/rŸrBr+rr r    rrrró)
r0r
rþrrr5r rrrrrrÚtest_read_json_nullable_series‚s
 ÿ z2TestPandasContainer.test_read_json_nullable_seriesc    Cs.d}tjt|dtdddW5QRXdS)NzPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.rLr°Únumpy)rþ)rOrPrQr )r0rSrrrÚtest_invalid_dtype_backend—sÿz.TestPandasContainer.test_invalid_dtype_backend)˜rärårærOZfixturer2r6r:rEr}Z parametrizerJrTr
r`rarer‚rjr/r'rlrÚintrwr€r…r†r‘r~rcr“rÑr•ržr r¡ZNINFr£Zskipifrr¨r«r¶r¸rÄrÕrÚrírðrõrørýrþrrrrr    r r    r rrrrrrr-rÈr+r3r9r;r<r=r@rArGrHÚnetworkrr+ZDatetimeTZDtyperOrZr`rdrarrfrhrurvrzr|rr„r‰rŠrÌrrŽr“Z
single_cpurcZskip_if_not_us_localer—rœržÚsysÚmaxsizer£r¤r¥r¦rwr¯r²r¸r¹r¾rÀrÁrZ rename_axisrÅrÈrÉrÊrÌrÍrÐrÒÚparamrÔrÙrÚrÜrßrârårírîrïrðrõrör÷r r rrrrrr(sø
 
 
 
 
üþ     
 
 
 
 
þýþ
ÿÿ÷ éþ"
 
 úþ      `& 
 
 þþ
 
 ùþ
ûþ
 
ûþ
 
 
 þýþ   
ýþ
    
  ýþ
         
  !
.ÿ&   þ(þÿü(þ þìþ     (ÿ öþ
 üþ    þ
 
ÿÿýÿýõþ    ´þu       þÿþ
        þþþÿüìþ!
 ÿ8rc    Cs>ttdƒƒ}| ¡}tjtddt|ddW5QRXdS)NrGzThe engine type foorLr")Úengine©r    rrBrOrPrQr ©r5r rrrÚtest_invalid_engine s rc    Cs@ttdƒƒ}| ¡}tjtddt|dddW5QRXdS)NrGz&currently pyarrow engine only supportsrLrøF)rr‘rrrrrÚtest_pyarrow_engine_lines_false¨s r)%r-rÚdecimalrrÊrrËrÏrrêrr/rOZ pandas.compatrZpandas.util._test_decoratorsÚutilZ_test_decoratorsrcZpandasr+rrrr    r
r Zpandas._testingZ_testingrZpandas.core.arraysr r rrrrrrrrÚ<module>sD